12.Kubernetes配置管理
阿新 • • 發佈:2022-03-13
1.Secret
Secret的主要作用就是加密資料,然後存在etcd裡面,讓Pod容器以掛載Volume方式進行訪問
場景:使用者名稱 和 密碼進行加密
一般場景的是對某個字串進行base64編碼 進行加密
echo -n 'admin' | base64
變數形式掛載到Pod
- 建立secret加密資料的yaml檔案 secret.yaml
然後使用下面命令建立一個pod
kubectl create -f secret.yaml
通過get命令檢視
kubectl get pods
然後我們通過下面的命令,進入到我們的容器內部
kubectl exec -it mypod bash
然後我們就可以輸出我們的值,這就是以變數的形式掛載到我們的容器中
# 輸出使用者
echo $SECRET_USERNAME
# 輸出密碼
echo $SECRET_PASSWORD
最後如果我們要刪除這個Pod,就可以使用這個命令
kubectl delete -f secret-val.yaml
1.1 資料卷形式掛載
首先我們建立一個 secret-val.yaml 檔案
然後建立我們的 Pod
# 根據配置建立容器 kubectl apply -f secret-val.yaml # 進入容器 kubectl exec -it mypod bash # 檢視 ls /etc/foo
2.ConfigMap
ConfigMap作用是儲存不加密的資料到etcd中,讓Pod以變數或資料卷Volume掛載到容器中
應用場景:配置檔案
2.1 建立配置檔案
首先我們需要建立一個配置檔案 redis.properties
redis.port=127.0.0.1
redis.port=6379
redis.password=123456
2.2 建立ConfigMap
我們使用命令建立configmap
kubectl create configmap redis-config --from-file=redis.properties
然後檢視詳細資訊
kubectl describe cm redis-config
2.3 Volume資料卷形式掛載
首先我們需要建立一個 cm.yaml
然後使用該yaml建立我們的pod
# 建立
kubectl apply -f cm.yaml
# 檢視
kubectl get pods
最後我們通過命令就可以檢視結果輸出了
kubectl logs mypod
2.4 以變數的形式掛載Pod
首先我們也有一個 myconfig.yaml檔案,宣告變數資訊,然後以configmap建立
然後我們就可以建立我們的配置檔案
# 建立pod
kubectl apply -f myconfig.yaml
# 獲取
kubectl get cm
然後我們建立完該pod後,我們就需要在建立一個 config-var.yaml 來使用我們的配置資訊
最後我們檢視輸出
kubectl logs mypod