k8s-配置管理
一、Secret
作用:
- 加密数据存在
etcd
里面,让pod
容器以挂载Volume
方式进行访问
场景: 凭证
1.创建secret加密
# secret.yaml
apiVersion: v1
kind: Secret
metadata:
name: mysecret
type: Opaque
data:
username: d3V6aGl4dWFu
password: MTIzNDU2
查看secret
kubectl get secret
2.以变量的形式挂载到pod
kind: Pod
metadata:
name: secret-pod
spec:
containers:
- name: nginx
image: nginx
env:
- name: SECRET_USERNAME
valueFrom:
secretKeyRef:
name: mysecret
key: username
- name:
valueFrom:
secretKeyRef:
name: mysecret
key: password
3.以Volume形式挂载pod容器中
apiVersion: v1
kind: Pod
metadata:
name: secret-pod
spec:
containers:
- name: nginx
image: nginx
volumeMounts:
- name: foo
mountPath: "/etc/foo"
readOnly: true
volumes:
- name: foo
secret:
secretName: mysecret
二、ConfigMap
作用:存储不加密数据到etcd,让pod以变量或者Volume挂载到容器中
场景:配置文件
1.创建配置文件
# vim redis.properties
redis.host=127.0.0.1
redis.port=6379
redis.password=123456
# kubectl create configmap redis-config --from-file=redis.properties
apiVersion: v1
kind: Pod
metadata:
name: mypod
spec:
containers:
- name: busybox
image: busybox
command: ["/bin/sh","-c","cat /etc/config/redis.properties"]
volumeMounts:
- name: config-volume
mountPath: /etc/config
volumes:
- name: config-volume
configMap:
name: redis-config
restartPolicy: Never
apiVersion: v1
kind: ConfigMap
metadata:
name: myconfig
namespace: default
data:
special.level: info
special.type: hello
~
本文作者:志旋
本文链接:https://www.cnblogs.com/wuzhixuan/p/15228362.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步