Kubernetes v1.11
beta
在即将发布的版本中,云控制器管理器将是把 Kubernetes 与任何云集成的首选方式。 这将确保驱动可以独立于核心 Kubernetes 发布周期开发其功能。
Kubernetes 1.8
alpha
在讨论如何构建自己的云控制器管理器之前,了解有关它如何工作的一些背景知识是有帮助的。云控制器管理器是来自 kube-controller-manager
的代码,利用 Go 接口允许插入任何云的实现。大多数框架和通用控制器的实现在 core,但只要满足 云提供者接口,它就会始终执行它所提供的云接口。
为了深入了解实施细节,所有云控制器管理器都将从 Kubernetes 核心导入依赖包,唯一的区别是每个项目都会通过调用 cloudprovider.RegisterCloudProvider 来注册自己的驱动,更新可用驱动的全局变量。
要为您的云构建一个 out-of-tree 云控制器管理器,请按照下列步骤操作:
main.go
中导入你的云包,确保你的包有一个 init
块来运行 cloudprovider.RegisterCloudProvider。用现有的 out-of-tree 云驱动作为例子可能会有所帮助。你可以在这里找到 清单。
对于 in-tree 驱动,您可以将 in-tree 云控制器管理器作为群集中的 Daemonset 运行。有关详细信息,请参阅 运行的云控制器管理器文档。
此页是否对您有帮助?
Thanks for the feedback. If you have a specific, answerable question about how to use Kubernetes, ask it on Stack Overflow. Open an issue in the GitHub repo if you want to report a problem or suggest an improvement.