k8s——secret配置资源管理

一、Secret

  1.1 Secret定义

    Secret是用来保存密码、token、密钥等敏感数据的k8s资源,这类数据虽然也可以存放在Pod或者镜像中,但是放在Secret中是为了更方便的控制如何使用数据,并减少暴露的风险

  1.2 Secret类型

  • kubernetes.io/service-account-token:由Kubernetes自动创建,用来访问APIServer的 Secret,Pod 会默认使用这个Secret与APIServer通信, 并且会自动挂载到Pod的 /run/secrets/kubernetes.io/serviceaccount目录中
  • Opaque:base64 编码格式的Secret,用来存储用户自定义的密码、密钥等,默认的Secret 类型
  • kubernetes.io/dockerconfigjson:用来存储私有docker registry的认证信息

  1.3 使用secret方式

  • 作为挂载到一个或多个容器上的卷中的文件。
  • 作为容器的环境变量。
  • 由 kubelet 在为Pod拉取镜像时使用。

  1.4 Secret应用场景

Secrets | KubernetesA Secret is an object that contains a small amount of sensitive data such as a password, a token, or a key. Such information might otherwise be put in a Pod specification or in a container image. Using a Secret means that you don't need to include confidential data in your application code.Because Secrets can be created independently of the Pods that use them, there is less risk of the Secret (and its data) being exposed during the workflow of creating, viewing, and editing Pods.icon-default.png?t=N7T8https://kubernetes.io/docs/concepts/configuration/secret/

二、Secret应用实例

  2.1 创建Secret

  2.1.1 用kubectl create secret命令创建Secret,在Kubernetes集群中创建一个名为mysecret的通用(generic)类型的Secret对象,并从本地文件中加载用户名和密码信息作为Secret的数据

这个命令执行的操作包括:

  • 创建一个名为mysecret的通用类型的Secret对象。
  • 使用--from-file选项从本地文件中加载数据,其中username.txt文件的内容将作为Secret对象中的用户名数据,而password.txt文件的内容将作为Secret对象中的密码数据。

这样,Kubernetes将会创建一个包含用户名和密码信息的Secret对象,可以在容器中挂载并使用这些敏感数据,而无需明文暴露在Pod的配置文件中。

get或describe指令都不会展示secret的实际内容,这是出于对数据的保护的考虑

  2.1.2 内容用base64编码,创建Secret

  2.1.2.1 base64编码
echo -n zhangsan | base64

echo -n bac1234 | base64

   2.1.2.2 编辑yaml文件

apiVersion: v1
kind: Pod
metadata:
  name: mypod
spec:
  containers:
  - name: nginx
    image: nginx
    volumeMounts:
    - name: secrets
      mountPath: "/etc/secrets"
      readOnly: true
  volumes:
  - name: secrets
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值