任务

Edit This Page

联邦 ConfigMap

Note: Federation V1, 是当前的 Kubernetes 联邦 API, 它“原样”重用 Kubernetes API 资源, 其许多特性目前被认为是 alpha。 没有明确的途径将 API 发展成 GA; 然而, 除了 Kubernetes API 之外, 还有一个 Federation V2 正在努力实现专用的联邦 API。详细信息可在 sig-multicluster 社区页面 获得。

这个指南介绍了如何在联邦控制平面中使用 ConfigMaps。

联邦 ConfigMaps 与传统的 Kubernetes ConfigMaps 十分相似,并且提供相同的功能。 在联邦控制平面中创建它们可确保它们在联邦集群间的同步。

准备开始

创建一个 Federated ConfigMap

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。

更新一个联邦 ConfigMap

你可以像更新 Kubernetes ConfigMap 一样更新一个联邦 ConfigMap。然而,对于联邦 ConfigMap,你必须发送请求至联邦 apiserver 而不是指定的 Kubernetes 集群。 联邦控制平面会确保无论何时联邦 ConfigMap 被更新,它都会更新所有底层集群中想相匹配的 ConfigMaps。

删除一个联邦 ConfigMap

你可以像删除一个 Kubernetes ConfigMap 一样删除一个联邦 ConfigMap。然而,对于联邦 ConfigMap,你必须发送请求至联邦 apiserver 而不是指定的 Kubernetes 集群。

例如,你可以使用 kubectl 执行:

kubectl --context=federation-cluster delete configmap
Note:

删除一个联邦 ConfigMap 不会从底层集群中删除相应的 ConfigMaps。你必须手动地删除底层 ConfigMaps。

反馈