最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

云原生技術kubernetes之volumes容器的使用

 更新時間:2022年03月18日 14:31:11   作者:、重明  
這篇文章主要為大家介紹了云原生技術kubernetes之volumes容器使用方式,?有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

卷(volumes):

容器中的文件存在時間是短暫的,當一個容器發(fā)生崩潰時,文件會丟失,而容器重新啟動后狀態(tài)卻是干凈的;而第二個問題時解決了一個Pod中不同容器間共享文件。

卷的類型有很多,詳細請查看官方文檔:

1.emptyDir

1.1.emptyDir卷特性:

當Pod被創(chuàng)建時,emptyDir卷也隨之創(chuàng)建,在Pod運行期間,此卷會一直存在。

用于Pod中不同容器間的數(shù)據(jù)共享。

當 Pod 從節(jié)點上刪除時,emptyDir 卷中的數(shù)據(jù)也會被永久刪除并不會保存。

emptyDir 卷存儲在該節(jié)點所使用的介質可以是磁盤或 SSD 或網(wǎng)絡存儲也可以是內存;

注意介質為內存的話會記入容器消耗。

1.2.官方示例:

配置項只有最后三行,相對比較簡單。

apiVersion: v1
kind: Pod
metadata:
  name: test-pd
spec:
  containers:
  - image: k8s.gcr.io/test-webserver
    name: test-container
    volumeMounts:
    - mountPath: /cache
      name: cache-volume
  volumes:
  - name: cache-volume
    emptyDir: {}

1.3.我們做一個實例:

第一步:我們創(chuàng)建一個準備用的deploy類型的yaml文件,上面通用部分沒貼,主要看我們要用的這部分,創(chuàng)建兩個nginx容器,將emptyDir的卷分別掛在兩個容器下。

apiVersion: v1
kind: Pod
metadata:
  name: test-pd
spec:
  containers:
  - image: k8s.gcr.io/test-webserver
    name: test-container
    volumeMounts:
    - mountPath: /cache
      name: cache-volume
  volumes:
  - name: cache-volume
    emptyDir: {}

第二步:執(zhí)行yaml文件創(chuàng)建deploy資源

[root@k8s-master01 ~]# kubectl create -f dp-nginx.yaml 
deployment.apps/dp-cm created
[root@k8s-master01 ~]# kubectl get deployments.apps 
NAME       READY   UP-TO-DATE   AVAILABLE   AGE
dp-nginx   1/1     1            1           17m
[root@k8s-master01 ~]# kubectl get pod
NAME                       READY   STATUS    RESTARTS   AGE
dp-nginx-98db5f6df-6g24r   2/2     Running   0          2m40s

第三步:在nginx容器的/opt目錄下創(chuàng)建一個文件,然后再redis容器內成都/tmp目錄下查看,看是否共享

# 在nginx容器內創(chuàng)建文件
[root@k8s-master01 ~]# kubectl exec -ti dp-nginx-98db5f6df-6g24r -c nginx -- bash
root@dp-nginx-98db5f6df-6g24r:/# cd /opt/
root@dp-nginx-98db5f6df-6g24r:/opt# touch haha.txt
root@dp-nginx-98db5f6df-6g24r:/opt# ls
haha.txt
# 到redis容器查看是否文件共享
[root@k8s-master01 ~]# kubectl exec -ti dp-nginx-98db5f6df-6g24r -c redis -- ls /tmp
haha.txt

第四步:沒有第四步了,從第三步可以看到在nginx容器創(chuàng)建的文件,是可以在redis容器內看到的,所有共享卷是成功的。

2.HostPath

2.1.HostPath卷特性:

hostPath 卷能將主機節(jié)點文件系統(tǒng)上的文件或目錄掛載到你的 Pod 中。

注意:官方是不推薦使用這種方式的,但是當你需要使用hostPath時,它的范圍應僅限于所需的文件或目錄,并以只讀方式掛載。

2.2.官方示例:

apiVersion: v1
kind: Pod
metadata:
  name: test-pd
spec:
  containers:
  - image: k8s.gcr.io/test-webserver
    name: test-container
    volumeMounts:
    - mountPath: /test-pd
      name: test-volume
  volumes:
  - name: test-volume
    hostPath:
      # 宿主上目錄位置
      path: /data
      # 此字段為可選
      type: Directory

hostPath類型支持的type值:

默認為空:意味著在安裝 hostPath 卷之前不會執(zhí)行任何檢查。

DirectoryOrCreate:如果在給定路徑上什么都不存在,那么將根據(jù)需要創(chuàng)建空目錄,權限設置為 0755,具有與 kubelet 相同的組和屬主信息。

Directory:在給定路徑上必須存在的目錄。

FileOrCreate:如果在給定路徑上什么都不存在,那么將在那里根據(jù)需要創(chuàng)建空文件,權限設置為 0644,具有與 kubelet 相同的組和所有權。

File:在給定路徑上必須存在的文件。

Socket:在給定路徑上必須存在的 UNIX 套接字。

CharDevice:在給定路徑上必須存在的字符設備。

BlockDevice:BlockDevice

注意: FileOrCreate 模式不會負責創(chuàng)建文件的父目錄。 如果欲掛載的文件的父目錄不存在,Pod 啟動會失敗。

2.3.我們做一個實例:

我們的舉例是用的File類型,你也可以嘗試其他類型,配置方式都一樣

第一步:從下面這個例子中可以看到容器內的時區(qū)與我們宿主機時區(qū)是不一樣的

[root@k8s-master01 ~]# kubectl exec -ti dp-nginx-98db5f6df-6g24r -c nginx -- cat /etc/timezone
Etc/UTC
[root@k8s-master01 ~]# cat /etc/timezone 
Asia/Shanghai

第二步:修改yaml文件,然后更新deploy副本

    spec:
      containers:
      - image: nginx
        name: nginx
        volumeMounts:
        - mountPath: /opt
          name: share-volume
        - mountPath: /etc/timezone
          name: timezone
      - image: redis
        name: redis
        volumeMounts:
        - mountPath: /tmp
          name: share-volume
      volumes:
      - name: share-volume
        emptyDir: {}
      - name: timezone
        hostPath:
          path: /etc/timezone  # 宿主機路徑
          type: File

# 更新副本,注意大小寫,我剛才file寫的小寫報錯了
[root@k8s-master01 ~]# kubectl replace -f dp-nginx.yaml 
deployment.apps/dp-nginx replaced

第三步:查看容器時區(qū),是成功的,已經(jīng)修改為shanghai;可以看到掛載宿主機時區(qū)的已經(jīng)修改,沒掛載的redis容器的時區(qū)還是默認

[root@k8s-master01 ~]# kubectl exec dp-nginx-7b456ccf45-8c8fn -c nginx -- cat /etc/timezone
Asia/Shanghai
[root@k8s-master01 ~]# kubectl exec dp-nginx-7b456ccf45-8c8fn -c redis -- cat /etc/timezone
Etc/UTC

3.nfs

nfs 卷能將 NFS (網(wǎng)絡文件系統(tǒng)) 掛載到你的 Pod 中。 不像 emptyDir 那樣會在刪除 Pod 的同時也會被刪除,nfs 卷的內容在刪除 Pod 時會被保存,卷只是被卸載。
但是生產(chǎn)中不大建議使用。

這個實例我沒有準備,就說下怎么做吧。有興趣可以自己做一下。

第一步:準備一臺NFS服務器,創(chuàng)建共享目錄/data/test
第二步:將nfs的共享目錄掛載到Pod中

    spec:
      containers:
      - image: nginx
        name: nginx
        volumeMounts:
        - mountPath: /opt
          name: nfs-volume
      volumes:
      - name: nfs-volume
        nfs:
          server: 192.168.10.10  # nfs服務器ip
          path: /data/test

第三步:創(chuàng)建Pod資源后在容器內部/opt下創(chuàng)建文件,在nfs服務器/data/test下查看是否共享,反過來測試也可以。如果資源共享說明成功。

其他類型的卷可以查看官網(wǎng),下一篇寫pv與pvc!

以上就是云原生容器kubernetes之volumes使用的詳細內容,更多關于云原生容器kubernetes之volumes的資料請關注腳本之家其它相關文章!

相關文章

  • Kubernetes教程之Windows?HostProcess?運行容器化負載

    Kubernetes教程之Windows?HostProcess?運行容器化負載

    這篇文章主要介紹了Kubernetes?Windows?HostProcess?運行容器化負載,本篇內容還是比較多的,總共包含了?Windows?HostProcess的創(chuàng)建、為?Windows?Pod?和容器配置?GMSA?和?Windows?的?Pod?和容器配置?RunAsUserName三大功能模塊,需要的朋友可以參考下
    2022-07-07
  • ES業(yè)務數(shù)據(jù)遷移遇到的精度問題BUG

    ES業(yè)務數(shù)據(jù)遷移遇到的精度問題BUG

    這篇文章主要為大家介紹了ES業(yè)務數(shù)據(jù)遷移遇到的BUG精度問題,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-06-06
  • 詳解k8s ConfigMap 中 subPath 字段和 items 字段

    詳解k8s ConfigMap 中 subPath 字段和 items

    volumeMounts.subPath 屬性可用于指定所引用的卷內的子路徑,而不是其根路徑,這篇文章主要介紹了詳解k8s ConfigMap 中 subPath 字段和 items 字段,需要的朋友可以參考下
    2023-03-03
  • Kubernetes集群模擬刪除k8s重裝詳解

    Kubernetes集群模擬刪除k8s重裝詳解

    這篇文章主要為大家介紹了Kubernetes集群模擬刪除k8s重裝詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-11-11
  • 云原生技術kubernetes之volumes容器的使用

    云原生技術kubernetes之volumes容器的使用

    這篇文章主要為大家介紹了云原生技術kubernetes之volumes容器使用方式,?有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-03-03
  • Kubernetes故障排除有效維護集群的最佳實踐工具

    Kubernetes故障排除有效維護集群的最佳實踐工具

    這篇文章主要為大家介紹了Kubernetes故障排除有效維護集群的最佳實踐工具詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-10-10
  • Kubernetes安裝Jenkins的思路詳解

    Kubernetes安裝Jenkins的思路詳解

    這篇文章主要介紹了Kubernetes安裝Jenkins,Jenkins插件可以在Kubernetes集群中運行動態(tài)jenkins-slave代理,基于Kubernetes的docker,自動化在Kubernetes中運行的Jenkins-slave代理的縮放,需要的朋友可以參考下
    2022-06-06
  • Kubernetes實現(xiàn)CI與CD配置教程

    Kubernetes實現(xiàn)CI與CD配置教程

    這篇文章主要為大家介紹了基于Kubernetes實現(xiàn)CI與CD配置教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-05-05
  • K8S內部pod之間相互調用案例以及詳解

    K8S內部pod之間相互調用案例以及詳解

    這篇文章主要給大家介紹了關于K8S內部pod之間相互調用案例的相關資料,Pod是Kubernetes中最小的可部署單元,它是一個或多個容器的集合,它們共享網(wǎng)絡和存儲資源,并在同一節(jié)點上運行,需要的朋友可以參考下
    2023-08-08
  • Kubernetes存儲系統(tǒng)數(shù)據(jù)持久化管理詳解

    Kubernetes存儲系統(tǒng)數(shù)據(jù)持久化管理詳解

    這篇文章主要為大家介紹了Kubernetes存儲系統(tǒng)數(shù)據(jù)持久化管理詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-11-11

最新評論

长泰县| 龙岩市| 洮南市| 乌兰县| 黎川县| 如皋市| 大安市| 临夏县| 通河县| 泌阳县| 芦溪县| 温州市| 邮箱| 靖宇县| 石屏县| 乌兰察布市| 平乐县| 游戏| 丹凤县| 兴化市| 陈巴尔虎旗| 双牌县| 浮梁县| 芮城县| 宁都县| 溆浦县| 宁化县| 青岛市| 奉化市| 通化市| 全州县| 会同县| 秦皇岛市| 吉首市| 寿光市| 德惠市| 调兵山市| 松滋市| 西吉县| 隆安县| 西和县|