K8S基本操作-22-K8S的Secret
命令建立 Secret
直接採用指令來輸入 Secret 的方法:
kubectl create secret generic db-secret --from-literal=DB_Host=sql01 --from-literal=DB_User=root --from-literal=DB_Password=password123
YAML 儲存 Secret
將 Secret 轉換成 YAML 編輯:
kubectl create secret generic db-secret --from-literal=DB_Host=sql01 --from-literal=DB_User=root --from-literal=DB_Password=password123 --dry-run=client -o yaml > db-secret.yaml
可以看到 Base64 編碼後的 Secret (防止一眼被人類偷看到,但簡單Decode馬上看出來)
apiVersion: v1
kind: Secret
metadata:
name: db-secret
data:
DB_Host: c3FsMDE=
DB_Password: cGFzc3dvcmQxMjM=
DB_User: cm9vdA==
事實上也可以用字串明文來儲存
apiVersion: v1
kind: Secret
metadata:
name: db-secret
stringData:
DB_Host: sql01
DB_User: root
DB_Password: password123
將 Secret 以環境變數傳入 Pod
---
apiVersion: v1
kind: Pod
metadata:
labels:
name: webapp-pod
name: webapp-pod
namespace: default
spec:
containers:
- image: kodekloud/simple-webapp-mysql
imagePullPolicy: Always
name: webapp
envFrom:
- secretRef:
name: db-secret
也就是加入以下這段即可引用 Secret 導入環境變數
envFrom:
- secretRef:
name: db-secret