密钥
Kubernetes 密钥 (Secret) 可用于存储和管理密码、OAuth 令牌和 SSH 密钥等敏感信息。Pod 可以通过三种方式使用密钥:
- 作为挂载到 Pod 中容器化应用上的卷中的文件。
- 作为 Pod 中容器使用的环境变量。
- 作为 kubelet 为 Pod 拉取镜像时的镜像仓库凭证。
本教程演示如何在 KubeSphere 中创建密钥。
准备工作
您需要创建一个企业空间、一个项目和一个帐户(例如 project-regular
)。该帐户必须已邀请至该项目,并具有 operator
角色。有关更多信息,请参阅创建企业空间、项目、帐户和角色。
创建密钥
步骤 1:进入密钥页面
以 project-regular
用户登录控制台并进入项目,在左侧导航栏中选择配置中心下的密钥,然后点击创建。
步骤 2:配置基本信息
设置密钥的名称(例如 demo-secret
),然后点击下一步。
提示
步骤 3:设置密钥
-
在密钥设置选项卡,从类型下拉列表中选择密钥类型。您可以在 KubeSphere 中创建以下密钥,类型对应 YAML 文件中的
type
字段。备注
对于所有的密钥类型,配置在清单文件中data
字段的所有键值对的值都必须是 base64 编码的字符串。KubeSphere 会自动将您在控制台上配置的值转换成 base64 编码并保存到 YAML 文件中。例如,密钥类型为默认时,如果您在添加数据页面将键和值分别设置为password
和hello123
,YAML 文件中显示的实际值为aGVsbG8xMjM=
(即hello123
的 base64 编码,由 KubeSphere 自动转换)。-
Opaque(默认):对应 Kubernetes 的 Opaque 密钥类型,同时也是 Kubernetes 的默认密钥类型。您可以用此类型密钥创建任意自定义数据。点击添加数据为其添加键值对。
-
kubernetes.io/tls (TLS):对应 Kubernetes 的 kubernetes.io/tls 密钥类型,用于存储证书及其相关密钥。这类数据通常用于 TLS 场景,例如提供给应用路由 (Ingress) 资源用于终结 TLS 链接。使用此类型的密钥时,您必须为其指定凭证和私钥,分别对应 YAML 文件中的
tls.crt
和tls.key
字段。 -
kubernetes.io/dockerconfigjson(镜像仓库密钥):对应 Kubernetes 的 kubernetes.io/dockerconfigjson 密钥类型,用于存储访问 Docker 镜像仓库所需的凭证。有关更多信息,请参阅镜像仓库。
-
kubernetes.io/basic-auth(帐户密码密钥):对应 Kubernetes 的 kubernetes.io/basic-auth 密钥类型,用于存储基本身份认证所需的凭证。使用此类型的密钥时,您必须为其指定用户名和密码,分别对应 YAML 文件中的
username
和password
字段。
-
-
本教程以默认类型为例。点击添加数据,将键 (Key) 设置为
MYSQL_ROOT_PASSWORD
并将值 (Value) 设置为123456
,为 MySQL 设置密钥。 -
点击对话框右下角的 √ 以确认配置。您可以继续为密钥添加键值对或点击创建完成操作。有关密钥使用的更多信息,请参阅创建并发布 WordPress。
查看密钥详情
-
密钥创建后会显示在如图所示的列表中。您可以点击右边的 ,并从下拉菜单中选择操作来修改密钥。
- 编辑:查看和编辑基本信息。
- 编辑配置文件:查看、上传、下载或更新 YAML 文件。
- 编辑密钥:修改密钥键值对。
- 删除:删除密钥。
-
点击密钥名称打开密钥详情页面。在详情选项卡,您可以查看密钥的所有键值对。
备注
如上文所述,KubeSphere 自动将键值对的值转换成对应的 base64 编码。您可以点击右边的 查看解码后的值。 -
点击更多操作对密钥进行其他操作。
- 编辑配置文件:查看、上传、下载或更新 YAML 文件。
- 编辑密钥:修改密钥键值对。
- 删除:删除密钥并返回密钥列表页面。
使用密钥
通常情况下,在创建工作负载、服务、任务或定时任务时,您需要使用密钥。例如,您可以为代码仓库选择密钥。有关更多信息,请参阅镜像仓库。
此外,您还可以用密钥为容器添加环境变量。您可以在容器镜像页面勾选环境变量,点击引用配置文件或密钥,然后从下拉列表中选择一个密钥。
创建常用密钥
本节介绍如何为 Docker Hub 帐户和 GitHub 帐户创建密钥。
创建 Docker Hub 密钥
-
以
project-regular
用户登录 KubeSphere 并进入您的项目。在左侧导航栏中选择配置中心下的密钥,然后在页面右侧点击创建。 -
设置密钥名称(例如
dockerhub-id
)并点击下一步。在密钥设置页面,设置以下参数,然后点击验证以检查设置的信息是否有效。类型:选择kubernetes.io/dockerconfigjson(镜像仓库密钥)。
仓库地址:输入您的 Docker Hub 仓库地址,例如
docker.io
。用户名:输入您的 Docker ID。
密码:输入您的 Docker Hub 密码。
-
点击创建完成操作。
创建 GitHub 密钥
-
以
project-regular
用户登录 KubeSphere 并进入您的项目。在左侧导航栏中选择配置中心下的密钥,然后在页面右侧点击创建。 -
设置密钥名称(例如
github-id
)并点击下一步。在密钥设置页面,设置以下参数。类型:选择kubernetes.io/basic-auth(帐户密码密钥)。
用户名:输入您的 GitHub 帐户。
密码:输入您的 GitHub 密码。
-
点击创建完成操作。
反馈
这篇文章对您有帮助吗?
感谢您的反馈。如果您有关于如何使用 KubeSphere 的具体问题,请在 Slack 上提问。如果您想报告问题或提出改进建议,请在 GitHub 存储库中打开问题。