Kubernetes裡的secret最基本的用法
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: v1kind: Podmetadata:name: secret-podspec:restartPolicy: Nevervolumes:- name: credentialssecret:secretName: admin-accessdefaultMode: 0440containers:- name: secret-containerimage: alpine:3.8command: [ "/bin/sh", "-c", "cat /etc/foo/username.txt /etc/foo/password.txt" ]volumeMounts:- name: credentialsmountPath: "/etc/foo"readOnly: true
建立pod,自動執行,透過log命令檢視pod的日誌:
發現/bin/sh命令被執行了,pod mount的目錄/etc/foo下的username.txt和password.txt透過cat命令顯示了輸出:
要獲取更多Jerry的原創文章,請關注公眾號"汪子熙":
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24475491/viewspace-2220832/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Kubernetes 的 secret 並不是真正的 secret
- 如何在Kubernetes裡給PostgreSQL建立secretSQL
- Kubernetes中的Configmap和Secret
- Kubernetes-Secret
- 通過一個例子學習Kubernetes裡的PersistentVolumeClaim的用法AI
- kubernetes系列(十二) - 儲存之Secret
- Kubernetes裡的Operator
- Kubernetes利用Volume掛載ConfigMap與Secret
- 簡述Kubernetes Secret有哪些使用方式
- Kubernetes 實戰——配置應用(ConfigMap、Secret)
- kubernetes系列12—二個特色的儲存卷configmap和secret
- Qdrant用法;Qdrant在langchain裡的用法LangChain
- Kubernetes裡的ConfigMap的用途
- js裡document的用法JS
- Kubernetes(k8s)密碼管理:SecretK8S密碼
- kubernetes實踐之十四:Service Account與Secret
- kubernetes實踐之六十二:Secret 使用
- Java裡的Character類的基本用法Java
- CSS裡的BFC和IFC的用法CSS
- JavaScript 裡三個點 ... 的用法JavaScript
- 這裡的 secret_key 是什麼“HMACSHA256( base64UrlEncode(header) + "." + base64UrlEncode(payload), secret_key)”MacHeader
- secret
- Kubernetes學習筆記(六):使用ConfigMap和Secret配置應用程式筆記
- scss 檔案裡的特殊符號 @ 和 @include 的用法CSS符號
- 人生贏家的三個最基本標準
- 前端css實現最基本的時間軸前端CSS
- Kubernetes決勝Swarm的優勢在這裡?Swarm
- 使用Java JUnit框架裡的@Rule註解的用法舉例Java框架
- Mac的秘密資料夾:Secret FolderMac
- Secret Sport
- Secret、ConfigMap
- 在kubernetes裡使用seccomp限制容器的系統呼叫
- 如何在Kubernetes 裡新增自定義的 API 物件(一)API物件
- 分享一個最最基本實用的開發流程
- seq2seq裡在chatbot的一些用法
- Kubernetes pod裡一個特殊的容器:pause-amd64
- 使用Kubernetes裡的job計算圓周率後2000位
- mysql最基本使用命令MySql