website/content/zh/docs/tasks/federation/administer-federation/secret.md

5.8 KiB
Raw Blame History

title content_template
联邦 Secret templates/concept

{{% capture overview %}}

{{< deprecationfilewarning >}} {{< include "federation-deprecation-warning-note.md" >}} {{< /deprecationfilewarning >}}

本指南解释了如何在联邦控制平面中使用 secret。

联邦控制平面中的 Secret在本指南中称为“联邦 secret”与提供相同功能的传统 Kubernetes Secret 非常相似。 在联邦控制平面中创建它们可以确保它们跨联邦中的所有集群同步。

{{% /capture %}}

{{% capture body %}}

先决条件

本指南假设你有一个正在运行的 Kubernetes 集群联邦安装。 如果没有,请访问联邦管理指南,了解如何启动联邦集群(或者让集群管理员为你做这件事)。 其他教程,例如这里 Kelsey Hightower也可以帮助您。

你还应该具有一个基本的 Kubernetes 工作知识 特别是 Secret

创建联邦 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 匹配。

更新联邦 Secret

您可以像更新 Kubernetes secret 一样更新联邦 secret但是对于联邦 secret 必须将请求发送到联邦 apiserver 而不是将其发送到指定的 Kubernetes 集群。联邦控制平面将确保每当更新联邦 secret 时,它都会更新所有基础集群中的相应 secret 以与其匹配。

删除联邦 Secret

你可以删除一个联邦 secret就像删除一个 Kubernetes secret 一样;但是, 对于联邦 secret必须将请求发送到联邦 apiserver而不是发送到指定的 Kubernetes 集群。

例如,您可以通过运行以下命令使用 kubectl 执行此操作:

kubectl --context=federation-cluster delete secret mysecret

{{< note >}}

此时,删除联邦 secret 不会从集群底层中删除相应的 secret。你必须手动删除底层 secret。我们打算将来解决这个问题。

{{< /note >}}

{{% /capture %}}