Kubernetes (十一) 存储——Secret配置管理

一. 简介

从文件创建

echo -n 'admin' > ./username.txt

echo -n 'westos' > ./password.txt

kubectl create secret generic db-user-pass --from-file=./username.txt --from- file=./password.txt

编写yaml文件创建

**1.**创建编辑文件 vim mysecret.yaml

apiVersion: v1

kind: Secret

metadata:

name: mysecret

type: Opaque

data:

username: YWRtaW4= #这两必须是base64编码后的值

password: d2VzdG9z

**2.**将secret挂载到Volume中 vim pod1.yaml

apiVersion: v1
kind: Pod
metadata:
name: mysecret
spec:
containers:

  • name: nginx
    image: nginx
    volumeMounts:
  • name: secrets
    mountPath: "/secret" #创建的目录挂载点
    readOnly: true #只读
    volumes:
  • name: secrets
    secret:
    secretName: mysecret

删除pod: kubectl delete -f pod1.yaml

向指定路径映射secret密钥

1. 创建编辑文件 vim pod2.yaml

apiVersion: v1

kind: Pod

metadata:

name: mysecret

spec:

containers:

  • name: nginx

image: nginx

volumeMounts:

  • name: secrets #定义的挂载名

mountPath: "/secret"

readOnly: true

volumes:

  • name: secrets #卷挂载

secret: #哪个secret名称

secretName: mysecret #这个

items: #因为secret有多组key

  • key: username #指定的这个key

path: my-group/my-username #这里是相对路径需要把base路径(/secret)加上就是绝对路径
删除pod: kubectl delete -f pod2.yaml

存储docker registry的认证信息

1. 在私有仓库创建新项目(不公开)

**2.**创建编辑文件 vim pod3.yaml

apiVersion: v1

kind: Pod

metadata:

name: mypod

spec:

containers:

  • name: game2048

image: reg.westos.org/westos/game2048

#imagePullSecrets: #拉取的密钥

- name: myregistrykey #这里先注释掉

这里看到创建失败

3. 解决方案 创建secret密钥

kubectl create secret docker-registry myregistrykey --docker-server=reg.westos.org --docker-username=admin --docker-password=westos --docker-email=yakexi007@westos.org

4. 因为不是Deploment控制器创建的 得删除刚才的pod

kubectl delete pod --all

5. 修改配置文件 去掉刚才得注释选项即可 vim pod3.yaml

apiVersion: v1
kind: Pod
metadata:
name: mypod
spec:
containers:

相关推荐
蝎子莱莱爱打怪3 小时前
GitLab CI/CD + Docker Registry + K8s 部署完整实战指南
后端·docker·kubernetes
chlk12310 小时前
Linux文件权限完全图解:读懂 ls -l 和 chmod 755 背后的秘密
linux·操作系统
舒一笑10 小时前
Ubuntu系统安装CodeX出现问题
linux·后端
改一下配置文件11 小时前
Ubuntu24.04安装NVIDIA驱动完整指南(含Secure Boot解决方案)
linux
碳基沙盒11 小时前
OpenClaw 多 Agent 配置实战指南
运维
深紫色的三北六号20 小时前
Linux 服务器磁盘扩容与目录迁移:rsync + bind mount 实现服务无感迁移(无需修改配置)
linux·扩容·服务迁移
SudosuBash1 天前
[CS:APP 3e] 关于对 第 12 章 读/写者的一点思考和题解 (作业 12.19,12.20,12.21)
linux·并发·操作系统(os)
哈基咪怎么可能是AI1 天前
为什么我就想要「线性历史 + Signed Commits」GitHub 却把我当猴耍 🤬🎙️
linux·github
十日十行2 天前
Linux和window共享文件夹
linux
木心月转码ing2 天前
WSL+Cpp开发环境配置
linux