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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

Kubernetes存储卷的使用

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

在Kubernetes中, 有這不同方式的內容掛載, 簡單記錄一下他們的配置方式.

ConfigMap

配置內容

內容配置

apiVersion: v1 kind: ConfigMap metadata:name: test-config data: # 添加配置的 key-value 內容test-key: test-value

引入

apiVersion: v1 kind: Pod spec: containers: - name: testimage: nginxenv:# 場景1: 可以用來配置環境變量- name: ENV_NAMEvalueFrom: # 指定某一個 configMap 中的某個 key 作為 valueconfigMapKeyRef:name: test-configkey: test-key# 定義進行掛在的數據卷volumeMounts:- name: config-volumemountPath: /etc/configenvFrom:# 場景2: 將其整個導入作為 env- configMapRef:name: test-configvolumes: - name: config-volume# 場景3: 將 ConfigMap 作為數據進行導入# 導入后, key作為文件名, value 作為文件內容 configMap:name: test-config

Secret

存放一些加密信息, 當前加密就是base64…

配置掛載

其使用方式基本和ConfigMap相同, 就是單純的換個字段名

內容配置

apiVersion: v1 kind: Secret metadata: name: test-secret type: Opaque data: # 這里存放的是 base64 編碼的內容password: cGFzc3dvcmQ=

引入

apiVersion: v1 kind: Pod spec: containers: - name: testimage: nginxenv:# 場景1: 可以用來配置環境變量- name: ENV_NAMEvalueFrom: # 指定某一個 configMap 中的某個 key 作為 valuesecretKeyRef: name: test-secretkey: password# 定義進行掛在的數據卷volumeMounts:- name: config-volumemountPath: /etc/configenvFrom:# 場景2: 將其整個導入作為 env- secretRef:name: test-secretvolumes: - name: config-volume# 場景3: 將 Secret 作為數據進行導入# 導入后, key作為文件名, value 作為文件內容 secret:secretName: test-secret

鏡像倉庫鑒權

當拉取的鏡像倉庫是私有倉庫時, 需要增加鑒權內容

內容配置

apiVersion: v1 kind: Secret metadata:name: test-register-secret type: kubernetes.io/dockerconfigjson data:# 文件 ~/.docker/config.json 的 base64 編碼內容# 其內容就是個 json: {"auths":{"test.pull.com":{"username":"admin","password":"123456","email":"hujingnb@qq.com","auth":"YWRtaW46MTIzNDU2"}}}.dockerconfigjson: eyJhdXRocyI6eyJ0ZXN0LnB1bGwuY29tIjp7InVzZXJuYW1lIjoiYWRtaW4iLCJwYXNzd29yZCI6IjEyMzQ1NiIsImVtYWlsIjoiaHVqaW5nbmJAcXEuY29tIiwiYXV0aCI6IllXUnRhVzQ2TVRJek5EVTIifX19

這玩意通過配置文件生成費點勁, 所有可以通過命令行直接生成:

kubectl create secret docker-registry test-register-secret \--docker-server=<你的鏡像倉庫服務器> \--docker-username=<你的用戶名> \--docker-password=<你的密碼> \--docker-email=<你的郵箱地址>

可以通過命令查看現有 secret 鑒權內容:

kubectl get secret test-register-secret --output="jsonpath={.data.\.dockerconfigjson}" | base64 --decode

引入

apiVersion: v1 kind: Pod spec: containers: - name: testimage: nginx# 指定拉取鏡像是使用的配置信息imagePullSecrets: - name: test-register-secret

Volume

直白的說, 就是磁盤的掛載.

舉個簡單的使用例子

apiVersion: v1 kind: Pod spec: containers: - name: testimage: nginx# 定義進行掛在的數據卷volumeMounts:- name: config-volumemountPath: /etc/configvolumes: - name: config-volumehostPath: path: /usr/etc/nginx/config

上面將本地的目錄 /usr/etc/nginx/config 掛在到的容器的 /etc/config 上.

注意看其中的hostPath參數, 還可以替換成其他的, k8s支持很多類型的掛載卷, 這里就不一一舉例了, 具體可通過kubectl explain pod.spec.volumes 查看. 簡單列舉幾個感覺比較常用的:

  • emptyDir: 在 Node 上開一個空的目錄用于共享.
  • hostPath: 指定掛載 Node 本地路徑
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

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

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