Edit This Page

联邦 ConfigMap

已过时

强烈建议不要使用联邦 v1 版本联邦 v1 版本从未达到 GA 状态,且不再处于积极开发阶段。文档仅作为历史参考。

有关更多信息,请参阅预期的替代品 Kubernetes 联邦 v2 版本

本指南介绍如何在联邦控制平面中使用 ConfigMap。

联邦 ConfigMap 与传统 Kubernetes ConfigMap 非常相似且提供相同的功能。 在联邦控制平面中创建它们可以确保它们在联邦的所有集群中同步。

准备开始

  • 本指南假设您已安装有一个正在运行的 Kubernetes 集群联邦。如果没有,那么请转到 联邦管理指南,了解如何启动联邦集群(或者让集群管理员为您执行此操作)。 其他教程,例如 Kelsey Hightower 的联邦 Kubernetes 教程, 也可能帮助您创建联邦 Kubernetes 集群。

创建联邦 ConfigMap

联邦 ConfigMap 的 API 100% 兼容传统 Kubernetes ConfigMap 的 API。您可以通过向联邦 apiserver 发送请求来创建 ConfigMap。 您可以通过使用 kubectl 运行下面的指令来创建联邦 ConfigMap:

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’ 的上下文。

这些底层集群中的 ConfigMap 将与 联邦 ConfigMap 相匹配。

更新联邦 ConfigMap

您可以像更新 Kubernetes ConfigMap 一样更新联邦 ConfigMap。 但是对于联邦 ConfigMap,您必须发送请求到联邦 apiserver 而不是某个特定的 Kubernetes 集群。 联邦控制平面会确保每当联邦 ConfigMap 更新时,它会更新所有底层集群中的 ConfigMap 来和更新后的内容保持一致。

删除联邦 ConfigMap

您可以像删除 Kubernetes ConfigMap 一样删除联邦 ConfigMap。 但是,对于联邦 ConfigMap,您必须发送请求到联邦 apiserver 而不是某个特定的 Kubernetes 集群。 例如,您可以使用 kubectl 运行下面的命令来删除联邦 ConfigMap:

kubectl --context=federation-cluster delete configmap
说明:

要注意的是这时删除联邦 ConfigMap 并不会删除底层集群中对应的 ConfigMap。您必须自己手动删除底层集群中的 ConfigMap。