上云无忧 > 文档中心 > 腾讯云容器服务 TKE 标准集群 Kubernetes 对象管理 - Secret 管理
容器服务 TKE
腾讯云容器服务 TKE 标准集群 Kubernetes 对象管理 - Secret 管理

文档简介:
简介: Secret 可用于存储密码、令牌、密钥等敏感信息,降低直接对外暴露的风险。Secret 是 key-value 类型的键值对,您可以通过控制台的 Kubectl 工具创建对应的 Secret 对象,也可以通过挂载数据卷、环境变量或在容器的运行命令中使用 Secret。
*此产品及展示信息均由腾讯云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

简介

Secret 可用于存储密码、令牌、密钥等敏感信息,降低直接对外暴露的风险。Secret 是 key-value 类型的键值对,您可以通过控制台的 Kubectl 工具创建对应的 Secret 对象,也可以通过挂载数据卷、环境变量或在容器的运行命令中使用 Secret。

通过控制台

创建 Secret

1. 登录容器服务控制台,选择左侧导航栏中的 集群
2. 选择需要创建 Secret 的集群 ID,进入集群管理页面。
3. 选择左侧导航栏中的配置管理 > Secret,进入 Secret 信息页面。如下图所示:

4. 单击新建,在新建 Secret 页面,根据实际需求,进行如下参数设置。如下图所示:

名称:请输入自定义名称。
Secret 类型:提供 Opaque、Dockercfg TLS 证书类型,请根据实际需求进行选择。
Opaque:适用于保存密钥证书和配置文件,Value 将以 base64 格式编码。
Dockercfg:适用于保存私有 Docker Registry 的认证信息。
TLS 证书:适用于保存 TLS 证书和私钥。
生效范围:提供以下两种范围,请根据实际需求进行选择。
存量所有命名空间:不包括 kube-system、kube-public 和后续增量命名空间。
指定命名空间:支持选择当前集群下一个或多个可用命名空间。
内容:根据不同的 Secret 类型,进行配置。
当 Secret 类型为 Opaque 时:根据实际需求,设置变量名和变量值。
当 Secret 类型为 Dockercfg 时:
仓库域名:请根据实际需求输入域名或 IP。
用户名:请根据实际需求输入第三方仓库的用户名。
密码:请根据实际需求设置第三方仓库的登录密码。
说明
如果本次为首次登录系统,则会新建用户,相关信息写入 ~/.dockercfg 文件中。
当 Secret 类型为 TLS 证书 时:添加证书和私钥。
5. 单击创建 Secret,即可完成创建。

使用 Secret

方式一:数据卷使用 Secret 类型

1. 登录容器服务控制台,选择左侧导航栏中的 集群
2. 选择需要部署 Workload 的集群 ID,进入集群管理页面。
3. 工作负载下,任意选择 Workload 类型,进入对应的信息页面。 例如,选择工作负载 > DaemonSet,进入 DaemonSet 信息页面。如下图所示:

4. 单击新建,进入新建 DaemonSet 页面。
5. 根据页面信息,设置工作负载名、命名空间等信息。并在 “数据卷” 中,单击添加数据卷。如下图所示:

6. 选择使用 Secret 方式,填写名称,并单击选择Secret。如下图所示:

选择 Secret:根据实际需求进行。
选项:提供全部指定部分 Key两种选择。
Items:当选择指定部分 Key选项时,可以通过添加 Item 向特定路径挂载,如挂载点是 /data/config,子路径是 dev,最终会存储在 /data/config/dev 下。
7. 单击创建 DaemonSet,完成创建。

方式二:环境变量中使用 Secret 类型

1. 登录容器服务控制台,选择左侧导航栏中的 集群
2. 选择需要部署 Workload 的集群 ID,进入集群管理页面。
3. 工作负载下,任意选择 Workload 类型,进入对应的信息页面。 例如,选择工作负载 > DaemonSet,进入 DaemonSet 信息页面。
4. 单击新建,进入新建 DaemonSet 页面。
5. 根据页面信息,设置工作负载名、命名空间等信息。并在实例内容器的“环境变量”中,选择 Secret 环境变量方式,并根据实际需求选择资源。如下图所示:

6. 单击创建 DaemonSet,完成创建。

方法三:使用第三方镜像仓库时引用

1. 登录容器服务控制台,选择左侧导航栏中的 集群
2. 选择需要部署 Workload 的集群 ID,进入集群管理页面。
3. 工作负载下,任意选择 Workload 类型,进入对应的信息页面。 例如,选择工作负载 > DaemonSet,进入 DaemonSet 信息页面。
4. 单击新建,进入新建 DaemonSet 页面。
5. 根据页面信息,设置工作负载名、命名空间等信息。请根据实际情况选择镜像访问凭证
6. 单击创建 DaemonSet,完成创建。

更新 Secret

1. 登录容器服务控制台,选择左侧导航栏中的 集群
2. 选择需要更新 YAML 的集群 ID,进入集群管理页面。
3. 选择配置管理 > Secret,进入 Secret 信息页面。
4. 在需要更新 YAML 的 Secret 行中,单击编辑 YAML
5. 编辑 YAML 页面,编辑 YAML,并单击完成
说明
如需修改 key-values,则编辑 YAML 中 data 的参数值,并单击完成即可完成更新。

通过 Kubectl

创建 Secret

方式一:通过指定文件创建 Secret

1. 依次执行以下命令,获取 Pod 的用户名和密码。
		
echo -n 'username' > ./username.txt
echo -n 'password' > ./password.txt
2. 执行 Kubectl 命令,创建 Secret。
		
kubectl create secret generic test-secret --from-file=./username.txt --from-file=./password.txt
secret "test-secret" created
3. 执行以下命令,查看 Secret 详情。
		
kubectl describe secrets/test-secret

方式二:YAML 文件手动创建

说明
通过 YAML 手动创建 Secret,需提前将 Secret 的 data 进行 Base64 编码。
		
apiVersion: v1
kind: Secret
metadata:
name: test-secret
type: Opaque
data:
username: dXNlcm5hbWU= ## 由echo -n 'username' | base64生成
password: cGFzc3dvcmQ= ## 由echo -n 'password' | base64生成

使用 Secret

方式一: 数据卷使用 Secret 类型

YAML 示例如下:
		
apiVersion: v1
kind: Pod
metadata:
name: nginx
spec:
containers:
- name: nginx
image: nginx:latest
volumeMounts:
- name: secret-volume
mountPath: /etc/config
volumes:
- name: secret-volume
secret:
secretName: test-secret ## 设置 secret 来源
items: ## 设置指定 secret 的 Key 挂载
- key: username ## 选择指定 Key
path: group/user ## 挂载到指定的子路径
mode: 256 ## 设置文件权限
restartPolicy: Never

方式二: 环境变量中使用 Secret 类型

YAML 示例如下:
		
apiVersion: v1
kind: Pod
metadata:
name: nginx
spec:
containers:
- name: nginx
image: nginx:latest
env:
- name: SECRET_USERNAME
valueFrom:
secretKeyRef:
name: test-secret ## 设置来源 Secret 文件名
key: username ## 设置该环境变量的 Value 来源项
restartPolicy: Never

方法三:使用第三方镜像仓库时引用

YAML 示例如下:
		
apiVersion: v1
kind: Pod
metadata:
name: nginx
spec:
containers:
- name: nginx
image: nginx:latest
imagePullSecrets:
- name: test-secret ## 设置来源 Secret 文件名
restartPolicy: Never
相似文档
  • Service 基本概念: 用户在 Kubernetes 中可以部署各种容器,其中一部分是通过 HTTP、HTTPS 协议对外提供七层网络服务,另一部分是通过 TCP、UDP 协议提供四层网络服务。而 Kubernetes 定义的 Service 资源就是用来管理集群中四层网络的服务访问。
  • 控制台操作指引: 创建 Service: 1. 登录 容器服务控制台,选择左侧导航栏中的集群。 2. 在集群管理页面,单击需要创建 Service 的集群 ID,进入集群基本信息页。 3. 选择服务与路由 > Service,在 Service 页面单击新建。如下图所示:
  • TkeServiceConfig: TkeServiceConfig 是腾讯云容器服务提供的自定义资源 CRD, 通过 TkeServiceConfig 能够帮助您更灵活的配置 LoadBalancer 类型的 Service ,及管理其中负载均衡的各种配置。
  • 腾讯云容器服务 TKE 具备通过 service.kubernetes.io/tke-existed-lbid: 注解实现使用已有负载均衡的功能,您可使用该注解指定集群 Service 资源关联的负载均衡实例。还提供了 Service 负载均衡复用功能,即指定多个 Service 使用同一个已有负载均衡,您可参考本文进行设置。
  • 默认后端选择: 默认情况下,Service 会配置负载均衡的后端到集群节点的 NodePort,如下图 TKE 接入层组件部分。此方案具有非常高的容错性,流量从负载均衡到任何一个 NodePort 之后,NodePort 会再一次随机选择一个 Pod 将流量转发过去。同时这也是 Kubernetes 官方提出的最基础的网络接入层方案。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部