tencent cloud

容器服务

动态与公告
产品动态
公告
产品发布记录
产品简介
产品概述
产品优势
产品架构
应用场景
产品功能
基本概念
原生 Kubernetes 名词对照
容器服务高危操作
地域和可用区
开源组件
购买指南
购买指引
购买 TKE 标准集群
购买原生节点
购买超级节点
快速入门
新手指引
快速创建一个标准集群
入门示例
容器应用部署 Check List
集群配置
标准集群概述
集群管理
网络管理
存储管理
节点管理
GPU 资源管理
远程终端
应用配置
工作负载管理
服务和配置管理
组件和应用管理
弹性伸缩
容器登录方式
可观测配置
运维可观测性
成本洞察和优化
调度配置
调度组件概述
资源利用率优化调度
业务优先级保障调度
Qos 感知调度
安全和稳定性
容器服务安全组设置
身份验证和授权
应用安全
多集群管理
计划升级
备份中心
云原生服务指南
云原生 etcd
Prometheus 监控服务
TKE Serverless 集群指南
TKE 注册集群指南
实践教程
集群
Serverless 集群
调度
安全
服务部署
网络
发布
日志
监控
运维
Terraform
DevOps
弹性伸缩
容器化
微服务
成本管理
混合云
AI
故障处理
节点磁盘爆满排障处理
节点高负载排障处理
节点内存碎片化排障处理
集群 DNS 解析异常排障处理
集群 Kube-Proxy 异常排障处理
集群 API Server 网络无法访问排障处理
Service&Ingress 网络无法访问排障处理
Service&Ingress 常见报错和处理
Nginx Ingress 偶现 Connection Refused
CLB Ingress 创建报错排障处理
Pod 网络无法访问排查处理
Pod 状态异常与处理措施
授权腾讯云售后运维排障
CLB 回环问题
API 文档
History
Introduction
API Category
Making API Requests
Elastic Cluster APIs
Resource Reserved Coupon APIs
Cluster APIs
Third-party Node APIs
Relevant APIs for Addon
Network APIs
Node APIs
Node Pool APIs
TKE Edge Cluster APIs
Cloud Native Monitoring APIs
Scaling group APIs
Super Node APIs
Other APIs
Data Types
Error Codes
TKE API 2022-05-01
常见问题
TKE 标准集群
TKE Serverless 集群
运维类
隐患处理
服务类
镜像仓库类
远程终端类
事件类
资源管理类
服务协议
TKE Service Level Agreement
TKE Serverless Service Level Agreement
联系我们
词汇表

Secret 管理

PDF
聚焦模式
字号
最后更新时间: 2024-12-19 22:09:58

简介

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

通过控制台

创建 Secret

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



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



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

使用 Secret

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

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



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


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



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

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

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



4. 单击新建,进入新建 Workload 页面。
5. 根据页面信息,设置工作负载名、命名空间等信息。并在“实例内容器”的“环境变量”中,选择Secret环境变量方式,并根据实际需求选择资源。如下图所示:



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

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

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



4. 单击新建,进入新建 Workload 页面。
5. 根据页面信息,设置工作负载名、命名空间等信息。请根据实际情况选择镜像访问凭证
6. 单击创建 Workload,完成创建。

更新 Secret

1. 登录容器服务控制台,选择左侧导航栏中的 集群
2. 选择需要更新 YAML 的集群 ID,进入待更新 YAML 的集群管理页面。
3. 选择配置管理 > Secret,进入 Secret 信息页面。
4. 在需要更新 YAML 的 Secret 行中,单击编辑 YAML,进入更新 Secret 页面。
5. 在更新 Secret 页面,编辑 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 "testSecret" 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:
name: 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


帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈