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:

相关推荐
涛ing4 分钟前
【5. C++ 变量作用域及其深入探讨】
java·linux·c语言·开发语言·c++·ubuntu·vim
大秦王多鱼10 分钟前
Kafka ACL(访问控制列表)介绍
运维·分布式·安全·kafka·apache
烛.照10330 分钟前
docker安装emqx
docker·容器·emqx
曾经的三心草30 分钟前
小程序项目-购物-首页与准备
运维·服务器·小程序·项目·购物
蓝染k9z3 小时前
在Ubuntu上使用Docker部署DeepSeek
linux·人工智能·ubuntu·docker·deepseek+
苏-言3 小时前
Linux环境下的Java项目部署技巧:安装 Mysql
linux·运维·mysql
张文君4 小时前
docker直接运行arm下的docker
arm开发·docker·容器
代码对我眨眼睛4 小时前
重回C语言之老兵重装上阵(十三)C 预处理器
linux·c语言
张文君4 小时前
ubuntu直接运行arm环境qemu-arm-static
linux·arm开发·ubuntu
lljss20204 小时前
在 WSL2 中重启 Ubuntu 实例
linux·运维·ubuntu