开发云控制器管理器
cloud-controller-manager
是指嵌入特定云的控制逻辑之 控制平面组件。 cloud-controller-manager
允许你将你的集群连接到云提供商的 API 之上, 并将与该云平台交互的组件同与你的集群交互的组件分离开来。
通过分离 Kubernetes 和底层云基础设置之间的互操作性逻辑, 组件使云提供商能够以不同于 Kubernetes 主项目的 步调发布新特征。
Kubernetes 项目提供 cloud-controller-manager 的框架代码,其中包含 Go 语言的接口, 便于你(或者你的云驱动提供者)接驳你自己的实现。这意味着每个云驱动可以通过从 Kubernetes 核心代码导入软件包来实现一个 cloud-controller-manager; 每个云驱动会通过调用 cloudprovider.RegisterCloudProvider
接口来注册其自身实现代码, 从而更新一个用来记录可用云驱动的全局变量。
开发
要为你的云环境构建一个树外(Out-of-Tree)云控制器管理器:
- 使用满足 cloudprovider.Interface 接口的实现来创建一个 Go 语言包。
- 在
main.go
中导入你的云包,确保你的包有一个init
块来运行 。
树内(In Tree)
对于树内(In-Tree)驱动,你可以将树内云控制器管理器作为集群中的 来运行。 有关详细信息,请参阅云控制器管理器管理。