日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Kubernetes存储之Secret

發布時間:2025/3/21 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Kubernetes存储之Secret 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Secret解決了密碼、token、密鑰等敏感數據的配置問題,而不需要把這些敏感數據暴露到鏡像或者Pod Spec中,Secret可以以Volume或者環境變量的方式使用

Secret有三種類型:

  • Service Account: 用來訪問Kubernetes API,有Kubernetes自動創建,并且會自動掛載到Pod的/run/secrets/kubernetes.io/serviceaccount 目錄中
  • Opaque:base64編碼格式的Secret,用來存儲密碼、密鑰等
  • kubernetes.io/dockerconfigjson:用來存儲私有docker registry的認證信息

Service Account

Service Account用來訪問Kubernetes API,有Kubernetes自動創建,并且會自動掛載到Pod的/run/secrets/kubernetes.io/serviceaccount 目錄中

$ kubectl run nginx --image nginx deployment "nginx" created $ kubectl get pods ... $ kubectl exec nginx-xxx ls /run/secrets/kubernetes.io/serviceaccount ca.crt namespace token

Opaque Secret

1.創建說明

$ echo -n "admin" | base64 YWRtaW4= $ echo -n "1f2d1e2e67df" | base64 MWYyZDFlMmU2N2Rm

secrets.yaml

apiVersion: v1 kind: Secret metadata:name: mysecret type: Opaque data:password: MWYyZDFlMmU2N2Rmusername: YWRtaW4=

2.使用方式

2.1 將Secret掛載到Volume中

apiVersion: v1 kind: Pod metadata:labels:name: secret-testname: secret-test spec:volumes:- name: secretssecret:secretName: mysecretcontainers:- image: myapp:v1name: dbvolumeMounts:- name: secretsmountPath: "/etc/secrets"readOnly: true

2.2 將Secret導入到環境變量中

apiVersion: extensions/v1beta1 kind: Deployment metadata:name: pod-deployment spec:replicas: 2template:metadata:labels:app: pod-deploymentspec:containers:- name: pod-1image: myapp:v1ports:- containerPort: 80env:- name: TEST_USERvalueFrom:secretKeyRef:name: mysecretkey: username- name: TEST_PASSWORDvalueFrom:secreKeyRef:name: mysecretkey: password

Kubernetes.io/dockerconfigjson

使用Kubectl創建docker registry認證的secret

$ kubectl create docker-registry myregistrykey --docker-server=hub.example.com --docker-username=admin --docker-password=Harbor12345 --docker-email=Yuan_sr@163.com

在創建Pod的時候,通過imagePullSecrets 來引用剛創建的myregistrykey

apiVersion: v1 kind: Pod metadata:name: foo spec:containers:- name: fooimage: wst/example:v1 #私有倉庫中的鏡像imagePullSecrets:- name: myregistrykey 《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的Kubernetes存储之Secret的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。