任务

Edit This Page

联邦 Secret

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

本指南解释了怎样使用联邦控制平面中的 secret。

联邦控制平面中的 secret (请参考本文的 “联邦 secrets” 章节) 和传统的Kubernetes Secrets非常类似并提供相同的功能。 在联邦控制平面中创建它们可以确保它们在联邦中的所有集群之间同步。

前提条件

本指南假设您安装好了 Kubernetes 集群联邦。如果没有,请先查看 federation admin guide 来学习怎样安装集群联邦(也可以让您的管理员替您完成安装)。 其他的教程,例如 Kelsey Hightower 编写的 这个教程 也会帮到你。

也希望您大概了解一些基本的 Kubernetes 知识 特别是和 Secrets 相关的知识。

创建联邦 Secret

联邦 Secret 的 API 与传统的 Kubernetes Secret 的 API 100% 兼容。 你可以通过向联邦的 ApiServer 发出请求来创建 Secret。

kubectl --context=federation-cluster create -f mysecret.yaml

--context=federation-cluster 参数告诉 kubectl 将请求提交给联邦 ApiServer 而不是将其发送到 Kubernetes 集群上。

在创建完联邦 secret 后,联邦控制平面将在所有底层 Kubernetes 集群中创建匹配的 secret。 您可以通过检查每个底层集群来验证这一点,例如:

kubectl --context=gce-asia-east1a get secret mysecret

以上假设您在客户端上为该区域的集群配置了一个名为 ‘gce-asia-east1a’ 的上下文。

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

更新联邦 secret

您可以像更新 Kubernetes secret 那样更新联邦 secret;但是,对于联邦 secret,必须将请求发送到联邦 ApiServer,而非某个 Kubernetes 集群上。 联邦控制平面确保每当联邦 secret 被更新时,它来更新所有底层集群中的相应 secret ,以便相互匹配。

删除联邦 Secret

您可以像删除 Kubernetes secret 那样删除联邦 secret;但是,对于联邦 secret,必须将请求发送到联邦 ApiServer,而不是将其发送到特定的 Kubernetes 集群。

例如,您可以使用 kubectl 来进行删除:

kubectl --context=federation-cluster delete secret mysecret
Note:

目前,删除联邦 secret 并不会从底层集群中删除相应的 secret。您必须手动删除底层 secret。我们考虑在将来解决这个问题。

反馈