本指南解释了如何在联邦控制平面中使用 secret。
联邦控制平面中的 Secret(在本指南中称为“联邦 secret”)与提供相同功能的传统 Kubernetes Secret 非常相似。 在联邦控制平面中创建它们可以确保它们跨联邦中的所有集群同步。
本指南假设你有一个正在运行的 Kubernetes 集群联邦安装。 如果没有,请访问联邦管理指南,了解如何启动联邦集群(或者让集群管理员为你做这件事)。 其他教程,例如这里 Kelsey Hightower,也可以帮助您。
你还应该具有一个基本的 Kubernetes 工作知识, 特别是 Secret。
用于联邦 Secret 的 API 与用于传统的 Kubernetes Secret 的 API 100% 兼容。 您可以通过向联邦 apiserver 发送请求来创建一个 Secret。
你可以使用 kubectl 来运行:
kubectl --context=federation-cluster create -f mysecret.yaml
--context=federation-cluster
参数通知 kubectl 将请求提交给联邦 apiserver,而不是将其发送到 Kubernetes 集群。
创建联邦命名空间后,联邦控制平面将在所有基础 Kubernetes 集群中创建匹配的命名空间。您可以通过检查每个基础集群来验证这一点,例如:
kubectl --context=gce-asia-east1a get secret mysecret
以上假设您在客户端中为该区域中的集群配置了名为 “gce-asia-east1a” 的上下文。 集群底层中的这些 secret 将与联邦 secret 匹配。
您可以像更新 Kubernetes secret 一样更新联邦 secret,但是,对于联邦 secret 必须将请求发送到联邦 apiserver, 而不是将其发送到指定的 Kubernetes 集群。联邦控制平面将确保每当更新联邦 secret 时,它都会更新所有基础集群中的相应 secret 以与其匹配。
你可以删除一个联邦 secret,就像删除一个 Kubernetes secret 一样;但是, 对于联邦 secret,必须将请求发送到联邦 apiserver,而不是发送到指定的 Kubernetes 集群。
例如,您可以通过运行以下命令使用 kubectl 执行此操作:
kubectl --context=federation-cluster delete secret mysecret
注意:此时,删除联邦 secret 不会从集群底层中删除相应的 secret。你必须手动删除底层 secret。我们打算将来解决这个问题。
此页是否对您有帮助?
感谢反馈。如果您有一个关于如何使用 Kubernetes 的特定的、需要答案的问题,可以访问 Stack Overflow. 在 GitHub 仓库上登记新的问题 报告问题 或者 提出改进建议.