Note:Federation V1
, 是当前的 Kubernetes 联邦 API, 它“原样”重用 Kubernetes API 资源, 其许多特性目前被认为是 alpha。 没有明确的途径将 API 发展成 GA; 然而, 除了 Kubernetes API 之外, 还有一个Federation V2
正在努力实现专用的联邦 API。详细信息可在 sig-multicluster 社区页面 获得。
这个指南介绍了如何在联邦控制平面中使用 ConfigMaps。
联邦 ConfigMaps 与传统的 Kubernetes ConfigMaps 十分相似,并且提供相同的功能。 在联邦控制平面中创建它们可确保它们在联邦集群间的同步。
本指南假设您已安装有一个正在运行的 Kubernetes 集群联邦。如果没有,那么请转到 联邦管理指南,了解如何启动联邦集群(或者让集群管理员为您执行此操作)。 其他教程,例如 Kelsey Hightower 的联邦 Kubernetes 教程, 也可能帮助您创建联邦 Kubernetes 集群。
你还需要有基本的Kubernetes 工作常识,尤其是ConfigMaps。
Federated ConfigMap 的 API 100% 兼容传统的 Kubernetes ConfigMap。你可以通过发送一个请求到联邦 apiserver 来创建一个 ConfigMap。
你可以使用kubectl执行:
kubectl --context=federation-cluster create -f myconfigmap.yaml
--context=federation-cluster
参数告诉 kubectl 发送请求至联邦 apiserver 而不是 Kubernetes 集群。
一旦联邦 ConfigMap 创建成功,联邦控制平面会在所有底层 Kubernetes 集群中创建匹配的 ConfigMap。你可以通过检查每个底层的集群来验证这点,例如:
kubectl --context=gce-asia-east1a get configmap myconfigmap
以上是假设你在客户端中为该区域中的集群配置了一个名为 ‘gce-asia-east1a’ 的上下文。
这些在底层集群中的 ConfigMaps 会自动匹配联邦 ConfigMap。
你可以像更新 Kubernetes ConfigMap 一样更新一个联邦 ConfigMap。然而,对于联邦 ConfigMap,你必须发送请求至联邦 apiserver 而不是指定的 Kubernetes 集群。 联邦控制平面会确保无论何时联邦 ConfigMap 被更新,它都会更新所有底层集群中想相匹配的 ConfigMaps。
你可以像删除一个 Kubernetes ConfigMap 一样删除一个联邦 ConfigMap。然而,对于联邦 ConfigMap,你必须发送请求至联邦 apiserver 而不是指定的 Kubernetes 集群。
例如,你可以使用 kubectl 执行:
kubectl --context=federation-cluster delete configmap
Note:删除一个联邦 ConfigMap 不会从底层集群中删除相应的 ConfigMaps。你必须手动地删除底层 ConfigMaps。
此页是否对您有帮助?
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.