Kubernetes中Secret的概述
在Kubernetes中,Secret是一种用于存储敏感信息的资源对象,例如密码、密钥、证书等,与ConfigMap不同,Secret以base64编码的形式存储数据,因此更适合存储敏感信息,Secret可以在Pod之间共享,也可以通过环境变量或卷挂载的方式在容器内使用,本文将介绍如何在Kubernetes中创建和管理Secret。
创建Secret
1、创建一个名为my-secret.yaml
的文件,内容如下:
apiVersion: v1 kind: Secret metadata: name: my-secret type: Opaque data: username: MTIzNDU2 password: cGFzc3dvcmQ=
2、使用kubectl
命令创建Secret:
kubectl create -f my-secret.yaml
3、查看已创建的Secret:
kubectl get secrets
使用Secret中的数据
1、在Pod的配置文件中引用Secret:
apiVersion: v1 kind: Pod metadata: name: my-pod spec: containers: name: my-container image: my-image envFrom: secretRef: name: my-secret name: MY_ENV_VARIABLE valueFrom: secretKeyRef: name: my-secret key: username
2、在容器内使用环境变量访问Secret中的数据:
import os username = os.environ['MY_ENV_VARIABLE'] password = os.environ['MY_OTHER_ENV_VARIABLE']
私有仓库认证在Kubernetes中的应用
1、在私有仓库中创建一个名为.dockerconfigjson
的文件,内容如下(以Docker Hub为例):
{ "auths": { "https://index.docker.io/v1/": { "auth": "dXNlcm5hbWU6cGFzc3dvcmQ=", // base64编码后的"dXNlcm5hbWU6cGFzc3dvcmQ=="字符串即为密码(这里假设已经存在) "email": "your@email.com", // Docker Hub用户邮箱地址(可选) "username": "your_username" // Docker Hub用户名(可选)
最新评论
本站CDN与莫名CDN同款、亚太CDN、速度还不错,值得推荐。
感谢推荐我们公司产品、有什么活动会第一时间公布!
我在用这类站群服务器、还可以. 用很多年了。