【kubernetes笔记】k8s_配置管理Secret和configMap(8)
Page content
这一篇整理了配置管理Secret和configMap相关的内容。
1.Secret
作用: 加密数据存储在etcd里面,让Pod容器以挂载Volume方式进行访问
场景:凭证,密码…
$echo -n 'admin' | base64
2.创建secret加密数据
apiVersion: v1
kind: Secret
metadata:
name: mysecret
type: Opaque
data:
username: YWRtaW4=
password: MTIzNDU2Nzg5
... ...
$kubectl create -f secret.yaml
$kubectl get secret
3.以变量形式挂载到pod容器中
- name: SECRET_USERNAME
valueFrom:
secretKeyRef:
name: mysecret
key: username
- name:
valueFrom:
secretKeyRef:
name: mysecret
key: password
... ...
$kubectl create -f secret-val.yaml
$kubectl apply -f secret-val.yaml
$kubectl exec -it mypod bash
$echo $SECRET_USERNAME
4.以Volume形式挂载pod容器中
- name: nginx
image: nginx
volumeMounts:
- name: foo
mountPath: "/etc/foo"
readOnly: true
volumes:
- name: foo
secret:
secretName: mysecret
... ...
$kubectl apply -f secret-val.yaml
$kubectl exec -it mypod bash
$cat /etc/foo password
1.confiMap
作用
:存储不加密数据到etcd, 让Pod以变量或者Volume挂载到容器中。场景
:配置文件
2.创建configMap
$kubectl create configmap redis-config --from-file=redis.properties
$kubectl get cm
$kubectl describe cm redis-config
3.以Volume挂载到Pod容器中
4.以变量形式挂载到pod容器中
欢迎大家的意见和交流
email: li_mingxie@163.com