K8S中Secret及ConfigMap的使用实录
2020-06-18 本文已影响0人
JohnYuCN
一、创建Secret对象
- acount.yml文件内容
apiVersion: v1
kind: Secret
metadata:
name: mysecret
data:
username: cm9vdA==
password: YWJj
注意:data中的value内容必须是base64编码格式,可以使用echo -n abc|base64
完成。
- 创建
root@ali005:~/secret_configmap# kubectl apply -f acount.yml
secret/mysecret created
root@ali005:~/secret_configmap# kubectl get secret
NAME TYPE DATA AGE
default-token-lbgdg kubernetes.io/service-account-token 3 19d
mysecret Opaque 2 8s
二、在pod中或deployment中使用
- pod中,文件名:mybusybox.yml
apiVersion: v1
kind: Pod
metadata:
name: mybusybox
spec:
containers:
- name: mybusy1
image: busybox
args:
- httpd
- -f
env:
- name: USERNAME
valueFrom:
secretKeyRef:
name: mysecret
key: username
- name: PASSWORD
valueFrom:
secretKeyRef:
name: mysecret
key: password
- deploymnet中,文件名:mydeploy.yml
apiVersion: apps/v1
kind: Deployment
metadata:
name: mydeploy
spec:
selector:
matchLabels:
app: mybusy
replicas: 3
template:
metadata:
labels:
app: mybusy
spec:
containers:
- image: busybox
name: mybusy
args:
- httpd
- -f
env:
- name: USERNAME
valueFrom:
secretKeyRef:
name: mysecret
key: username
- name: PASSWORD
valueFrom:
secretKeyRef:
name: mysecret
key: password
三、创建ConfigMap对象
- acount_cfg.yml文件内容
apiVersion: v1
kind: Secret
metadata:
name: mysecret
data:
username: cm9vdA==
password: YWJj