摘要:解決了密碼密鑰等敏感數據的配置問題,使用可以避免把這些敏感數據以明文的形式暴露到鏡像或者中。可以以或者環境變量的方式使用。
Secret解決了密碼、token、密鑰等敏感數據的配置問題,使用Secret可以避免把這些敏感數據以明文的形式暴露到鏡像或者Pod Spec中。
Secret可以以Volume或者環境變量的方式使用。
使用如下命令行創建一個secret:
kubectl create secret generic admin-access --from-file=./username.txt --from-file=./password.txt
輸入文件username.txt和password.txt需要手動創建,里面分別維護用于測試的用戶名和密碼。
創建成功后,發現secret的類型為Opaque:
實際上,Kubernetes的secret有三種類型:
1. Service Account:用來訪問Kubernetes API,由Kubernetes自動創建,并且會自動掛載到Pod的 /run/secrets/kubernetes.io/serviceaccount 目錄中;
2. Opaque:base64編碼格式的Secret,用來存儲密碼、密鑰等;
3. kubernetes.io/dockerconfigjson :用來存儲私有docker registry的認證信息。
而我們剛剛創建的secret的類型為Opaque,因此在kubectl get secrets的返回結果里,能看到password和username的值均為base64編碼:
要在pod里消費這個secret也很容易,看一個例子:
apiVersion: v1 kind: Pod metadata: name: secret-pod spec: restartPolicy: Never volumes: - name: credentials secret: secretName: admin-access defaultMode: 0440 containers: - name: secret-container image: alpine:3.8 command: [ "/bin/sh", "-c", "cat /etc/foo/username.txt /etc/foo/password.txt" ] volumeMounts: - name: credentials mountPath: "/etc/foo" readOnly: true
創建pod,自動執行,通過log命令查看pod的日志:
發現/bin/sh命令被執行了,pod mount的目錄/etc/foo下的username.txt和password.txt通過cat命令顯示了輸出:
要獲取更多Jerry的原創文章,請關注公眾號"汪子熙":
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/32778.html
摘要:解決了密碼密鑰等敏感數據的配置問題,使用可以避免把這些敏感數據以明文的形式暴露到鏡像或者中。可以以或者環境變量的方式使用。 Secret解決了密碼、token、密鑰等敏感數據的配置問題,使用Secret可以避免把這些敏感數據以明文的形式暴露到鏡像或者Pod Spec中。 Secret可以以Volume或者環境變量的方式使用。 使用如下命令行創建一個secret: kubectl cre...
摘要:解決了密碼密鑰等敏感數據的配置問題,使用可以避免把這些敏感數據以明文的形式暴露到鏡像或者中。可以以或者環境變量的方式使用。 Secret解決了密碼、token、密鑰等敏感數據的配置問題,使用Secret可以避免把這些敏感數據以明文的形式暴露到鏡像或者Pod Spec中。 Secret可以以Volume或者環境變量的方式使用。 使用如下命令行創建一個secret: kubectl cre...
摘要:標識是與操作對象間的紐帶。集群為每個對象維護三類信息對象元數據期望狀態與實際狀態元數據指對象的基本信息,比如命名標簽注釋等等,用于識別對象期望狀態一般由用戶配置來描述的實際狀態是由集群各個組件上報的集群實際的運行情況。 綜述 學習Kubernetes時,發現它的概念和術語還是比較多的,光靠啃官方文檔比較晦澀。所以邊學習邊整理,對主要的概念和術語做一下分類及簡要說明。感覺把重要概念都理解...
摘要:對象存儲數據的機制及使用方式都類似于對象,它們以鍵值方式存儲數據,在資源中通過環境變量或存儲卷進行數據訪問。資源主要有兩種用途一是作為存儲卷注入對象上,供容器應用程序使用二是用于為里的容器拉取鏡像時向私有倉庫提供認證信息。 出于增強可移植性的需求,我們應該從容器鏡像中解耦的不僅有配置數據,還有默認口令(例如 Redis 或...
摘要:舉個例子,我們在這種狀態下創建一個,然后執行在中會發現有了字段,并且裝載了一個是的,這個就是我們這個下的。 注:本案例在我的部署環境下是可行的,但不保證在所有環境下都可行。我盡可能講得直白而詳細,因為我自己也才剛開始接觸,已經做過深入研究的可以瀏覽,若有什么錯誤,煩請指正,感激不盡! 我的環境: K8S1.0.0+flannel+docker1.6的分布式集群。 這里先不贅述fla...
閱讀 2008·2021-11-24 09:39
閱讀 1143·2021-09-10 11:25
閱讀 1769·2021-09-08 10:42
閱讀 3733·2021-09-06 15:00
閱讀 2498·2019-08-30 15:54
閱讀 3117·2019-08-29 17:08
閱讀 3272·2019-08-29 11:26
閱讀 2840·2019-08-28 18:27