官方文檔:https://kubernetes.io/docs/concepts/configuration/secret/nginx
一、建立用戶名密碼文件vim
echo -n 'admin' > ./username.txt echo -n '1f2d1e2e67df' > ./password.txt
二、經過文件建立用戶名密碼api
kubectl create secret generic db-user-pass --from-file=./username.txt --from-file=./password.txt
三、查看建立用戶名密碼
kubectl get secretbash
NAME TYPE DATA AGE db-user-pass Opaque 2 37s
四、查看詳情
kubectl describe secret db-user-pass編碼
Name: db-user-pass Namespace: default Labels: <none> Annotations: <none> Type: Opaque Data ==== password.txt: 12 bytes username.txt: 5 bytes
一、編碼用戶名密碼加密
echo -n 'admin' | base64 echo -n '1f2d1e2e67df' | base64
二、建立yaml文件 vim user.yamlspa
apiVersion: v1 kind: Secret metadata: name: mysecret type: Opaque data: username: YWRtaW4= password: MWYyZDFlMmU2N2Rm
三、建立用戶名密碼code
kubectl create -f user.yaml
四、查看建立用戶
kubectl get secretblog
NAME TYPE DATA AGE db-user-pass Opaque 2 5m42s mysecret Opaque 2 18s
一、建立yaml文件
vim secret-var.yaml文檔
apiVersion: v1 kind: Pod metadata: name: mypod spec: containers: - name: nginx image: nginx env: # 環境變量名稱:用戶 - name: SECRET_USERNAME valueFrom: # 選擇輸入secret用戶 secretKeyRef: name: mysecret key: username # 環境變量名稱:密碼 - name: SECRET_PASSWORD valueFrom: # 選擇輸入secret密碼 secretKeyRef: name: mysecret key: password
二、建立容器
kubectl create -f secret-var.yaml
三、查看建立容器
kubectl get pods
NAME READY STATUS RESTARTS AGE
mypod 1/1 Running 0 23s
四、進入容器查看變量
kubectl exec -it mypod bash
root@mypod:/# echo $SECRET_USERNAME admin root@mypod:/# echo $SECRET_PASSWORD 1f2d1e2e67df
一、建立yaml文件
vim secret-vol.yaml
apiVersion: v1 kind: Pod metadata: name: mypod spec: containers: - name: nginx image: nginx volumeMounts: - name: foo mountPath: "/etc/foo" readOnly: true volumes: - name: foo secret: # 建立的secret secretName: mysecret
二、建立容器
kubectl create -f secret-vol.yaml
三、查看容器
kubectl get pod
NAME READY STATUS RESTARTS AGE
mypod 1/1 Running 0 46s
四、進入容器查看
kubectl exec -it mypod bash
root@mypod:/# ls /etc/foo/ password username root@mypod:/# cat /etc/foo/password 1f2d1e2e67dfroot@mypod:/# cat /etc/foo/username adminroot@mypod:/#