国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

k8s 目錄和文件掛載到宿主機(jī)

這篇具有很好參考價值的文章主要介紹了k8s 目錄和文件掛載到宿主機(jī)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

k8s生產(chǎn)中常用的volumes掛載方式有:hostPath、pv,pvc、nfs

1.hostPath掛載
? ? ?hostPath是將主機(jī)節(jié)點(diǎn)文件系統(tǒng)上的文件或目錄掛載到Pod 中,同時pod中的目錄或者文件也會實(shí)時存在宿主機(jī)上,如果pod刪除,hostpath中的文件不會被刪除。(生成的pod只能在同一個節(jié)點(diǎn)上,調(diào)度到其他節(jié)點(diǎn)就不會掛載)

配置文件:

[root@master1 k8s-nginx]# cat nginx-test.yaml?
apiVersion: v1
kind: Service
metadata:
? labels:
? ? app: nginx-service
? name: nginx-service
? namespace: default
spec:
? ports:
? ? #對外暴露端口30003
? - nodePort: 30003
? ? port: 8010
? ? protocol: TCP
? ? targetPort: 8010
? selector:
? ? app: nginx-web
? #NodePort對外暴露端口
? type: NodePort
---
apiVersion: apps/v1
kind: Deployment
metadata:
? labels:
? ? app: nginx-web
? name: nginx-web
? namespace: default
spec:
? replicas: 1
? selector:
? ? matchLabels:
? ? ? app: nginx-web
? template:
? ? metadata:
? ? ? labels:
? ? ? ? app: nginx-web
? ? ? namespace: default
? ? spec:
? ? ? imagePullSecrets:
? ? ? - name: secret-key
? ? ? containers:
? ? ? - image: registry.cn-zhangjiakou.aliyuncs.com/ymku/nginx:v2
? ? ? ? name: nginx
        env:  
        - name: TZ  
          value: Asia/Shanghai
? ? ? ? imagePullPolicy: Always
? ? ? ? ports:
? ? ? ? - containerPort: 8010
? ? ? ? resources:
? ? ? ? ? requests:
? ? ? ? ? ? cpu: 100m
? ? ? ? ? ? memory: 512Mi
? ? ? ? ? limits:
? ? ? ? ? ? cpu: 1000m
? ? ? ? ? ? memory: 1Gi
? ? ? ? volumeMounts:
? ? ? ? - name: nginx-volume-dir
? ? ? ? ? mountPath: /var/log/nginx
? ? ? ? - name: nginx-volume-file
? ? ? ? ? mountPath: /var/log/nginx/access2.log
? ? ? volumes:
? ? ? - name: nginx-volume-dir
? ? ? ? hostPath:
? ? ? ? ? path: /root/k8s-nginx/nginx/log
? ? ? ? ? type: DirectoryOrCreate #如果目錄不存在就創(chuàng)建
? ? ? - name: nginx-volume-file
? ? ? ? hostPath:
? ? ? ? ? path: /root/k8s-nginx/nginx/log/access2.log
? ? ? ? ? type: FileOrCreate ## 如果文件不存在則創(chuàng)建

這個是master1節(jié)點(diǎn)創(chuàng)建的,pod是在node1節(jié)點(diǎn)上運(yùn)行的,所以日志是存儲在node1節(jié)點(diǎn)上
需要登錄到node1節(jié)點(diǎn)上查看掛載的情況:

k8s掛載文件,kubernetes,容器,云原生

k8s掛載文件,kubernetes,容器,云原生

?在node1節(jié)點(diǎn)上查看是否目錄和日志文件:

k8s掛載文件,kubernetes,容器,云原生

2.nfs掛載

? ? nfs掛載是hostPath掛載的升級版,優(yōu)點(diǎn)是在不同的node節(jié)點(diǎn)上的日志,文件都可以掛載到nfs的機(jī)器上,只需要配置上nfs掛載的機(jī)器ip和掛載的路徑就行。

安裝nfs,建立共享服務(wù)器(單獨(dú)服務(wù)器安裝nfs掛載,ip:10.10.10.25)
[root@localhost ~]# yum -y install nfs-utils
...
創(chuàng)建存儲目錄:
[root@localhost ~]# mkdir -p /data/nfs/{conf,dist,log}   #可以創(chuàng)建多個存儲目錄

[root@localhost ~]# vim /etc/exports
/data/nfs 10.10.10.24(rw,no_root_squash)  #可以添加多個存儲目錄
#將共享目錄以讀寫權(quán)限給node1機(jī)器,因?yàn)閜od是跑在node1節(jié)點(diǎn)上:10.10.10.24

啟動nfs應(yīng)用:
[root@localhost ~]# systemctl start nfs

查看進(jìn)程:
[root@localhost ~]# ps -ef |grep nfs
root     104715      2  0 15:56 ?        00:00:00 [nfsd4_callbacks]
root     104721      2  0 15:56 ?        00:00:00 [nfsd]
root     104722      2  0 15:56 ?        00:00:00 [nfsd]
root     104723      2  0 15:56 ?        00:00:00 [nfsd]
root     104724      2  0 15:56 ?        00:00:00 [nfsd]
root     104725      2  0 15:56 ?        00:00:00 [nfsd]
root     104726      2  0 15:56 ?        00:00:00 [nfsd]
root     104727      2  0 15:56 ?        00:00:00 [nfsd]
root     104728      2  0 15:56 ?        00:00:00 [nfsd]
root     104750 103971  0 15:56 pts/0    00:00:00 grep --color=auto nfs


修改/etc/exports后,使文件生效:
[root@localhost ~]# exportfs -r
/data/nfs	10.10.10.24

查看掛載目錄:
[root@localhost nfs]# exportfs
/data/nfs/conf	10.10.10.24
/data/nfs/log 	10.10.10.24
/data/nfs/dist	10.10.10.24
[root@localhost nfs]# exportfs -v
/data/nfs/conf	10.10.10.24(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,no_root_squash,no_all_squash)
/data/nfs/log 	10.10.10.24(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,no_root_squash,no_all_squash)
/data/nfs/dist	10.10.10.24(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,no_root_squash,no_all_squash)

?編寫pod的yaml文件:

vim nginx-nfs.yaml
apiVersion: v1
kind: Service
metadata:
  labels:
    app: nginx-service
  name: nginx-service
  namespace: default
spec:
  ports:
    #對外暴露端口30003
  - nodePort: 30003
    port: 8010
    protocol: TCP
    targetPort: 8010
  selector:
    app: nginx-web
  #NodePort對外暴露端口
  type: NodePort
---
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: nginx-web
  name: nginx-web
  namespace: default
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nginx-web
  template:
    metadata:
      labels:
        app: nginx-web
      namespace: default
    spec:
      imagePullSecrets:
      - name: secret-key
      containers:
      - image: registry.cn-zhangjiakou.aliyuncs.com/ymku/nginx:v2
        name: nginx
        env:  
        - name: TZ 
          value: Asia/Shanghai
        imagePullPolicy: Always
        ports:
        - containerPort: 8010
        resources:
          requests:
            cpu: 100m
            memory: 512Mi
          limits:
            cpu: 1000m
            memory: 1Gi
        volumeMounts:
        - name: nginx-volume-dir
          mountPath: /var/log/nginx
        #- name: nginx-volume-file
        #  mountPath: /var/log/nginx/access2.log
        #- name: nginx-config
        #  mountPath: /etc/nginx/conf.d
      volumes:
      - name: nginx-volume-dir
        nfs:
          server: 10.10.10.25
          path: /data/nfs 
      #- name: nginx-volume-file
      #    server: 10.10.10.25
      #    path: /data/nfs
      #- name: nginx-config
      #  nfs:
      #    server: 10.10.10.25
      #    path: /data/nfs

驗(yàn)證:到安裝nfs機(jī)器上的/data/nfs/log目錄查看是否有文件

k8s掛載文件,kubernetes,容器,云原生

問題:單獨(dú)nfs掛載好像只能掛載一個目錄,掛載多個目錄不生效并且導(dǎo)致部分文件消失??

/etc/exports 配置:

?k8s掛載文件,kubernetes,容器,云原生

yaml配置:?

        volumeMounts:
        - name: nginx-dir
          mountPath: /etc/nginx/dist
        - name: nginx-log
          mountPath: /var/log/nginx
        - name: nginx-config
          mountPath: /etc/nginx/conf.d
      volumes:
      - name: nginx-dir
        nfs:
          server: 10.10.10.25
          path: /data/nfs/dist
      - name: nginx-log
        nfs:
          server: 10.10.10.25
          path: /data/nfs/log
      - name: nginx-config
        nfs:
          server: 10.10.10.25
          path: /data/nfs/conf

待續(xù)...

3.pv、pvc掛載

? ? ?pv,pvc掛載是基于nfs掛載的高級方式(如果不搭配nfs使用,側(cè)配置的pv,pvc默認(rèn)是pod所在node節(jié)點(diǎn)上),通過PV和PVC,Kubernetes可以實(shí)現(xiàn)存儲資源的動態(tài)供給、自動擴(kuò)展和縮減,以及共享和負(fù)載均衡等高級特性。PV和PVC的出現(xiàn)使得應(yīng)用容器可以隨時地掛載或卸載存儲資源,而無需手動管理存儲卷的創(chuàng)建、掛載和卸載等操作。

k8s掛載文件,kubernetes,容器,云原生

1.創(chuàng)建pv(相當(dāng)于存儲設(shè)備)

vim pv.yaml
apiVersion: v1
kind: PersistentVolume
metadata:
  name: pv
  labels:
    pv: pv-nfs
spec:
  capacity:
    storage: 10Gi
  accessModes:
    - ReadWriteMany
  volumeMode: Filesystem
  persistentVolumeReclaimPolicy: Retain
  storageClassName: nfs
  nfs:
    server: 10.10.10.25
    path: /data/nfs
kubectl apply -f pv.yaml

2.創(chuàng)建pvc(相當(dāng)于調(diào)度存儲設(shè)備資源的)

vim nginx-pvc.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: pvc
spec:
  accessModes:
    - ReadWriteMany
  volumeMode: Filesystem
  resources:
    requests:
      storage: 2Gi
  storageClassName: nfs
  selector:
    matchLabels:
      pv: pv-nfs
kubectl apply -f pvc.yaml

3.創(chuàng)建pod(去請求pvc的)

vim nginx-pod.yaml
apiVersion: v1
kind: Service
metadata:
  labels:
    app: nginx-service
  name: nginx-service
  namespace: default
spec:
  ports:
    #對外暴露端口30003
  - nodePort: 30003
    port: 8010
    protocol: TCP
    targetPort: 8010
  selector:
    app: nginx-web
  #NodePort對外暴露端口
  type: NodePort
---
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: nginx-web
  name: nginx-web
  namespace: default
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nginx-web
  template:
    metadata:
      labels:
        app: nginx-web
      namespace: default
    spec:
      imagePullSecrets:
      - name: secret-key
      containers:
      - image: registry.cn-zhangjiakou.aliyuncs.com/ymku/nginx:v2
        name: nginx
        env:  
        - name: TZ 
          value: Asia/Shanghai
        imagePullPolicy: Always
        ports:
        - containerPort: 8010
        resources:
          requests:
            cpu: 100m
            memory: 512Mi
          limits:
            cpu: 1000m
            memory: 1Gi
        volumeMounts:
        - name: nginx-log
          mountPath: /var/log/nginx
        #- name: nginx-conf
        #  mountPath: /etc/nginx/conf.d
        #- name: nginx-dist
        #  mountPath: /etc/nginx/dist
      volumes:
      - name: nginx-log
        persistentVolumeClaim:
          claimName: pvc
      #- name: nginx-conf
      #  persistentVolumeClaim:
      #    claimName: pvc
      #- name: nginx-dist
      #  persistentVolumeClaim:
      #    claimName: pvc
		
kubectl apply -f nginx-pod.yaml

查看運(yùn)行狀態(tài):

k8s掛載文件,kubernetes,容器,云原生

kubectl describe pod nginx-web-6665c66698-fxhzl

k8s掛載文件,kubernetes,容器,云原生

驗(yàn)證:

登錄到nfs的服務(wù)器,進(jìn)到掛載路徑下看是否有文件

k8s掛載文件,kubernetes,容器,云原生文章來源地址http://www.zghlxwxcb.cn/news/detail-805813.html

到了這里,關(guān)于k8s 目錄和文件掛載到宿主機(jī)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • docker容器共享宿主機(jī)環(huán)境(目錄掛載)

    一、背景介紹 如果開發(fā)的服務(wù)均需要將打成docker鏡像,可是隨著服務(wù)越來越多,鏡像也越來越多。每次制作鏡像的時候都需要將依賴打進(jìn)容器,這樣一個jre的環(huán)境就是100多M。有一天突發(fā)奇想,容器能不能共用宿主機(jī)的環(huán)境?這樣每次打鏡像時體積就會少不少。 二、測試 我們

    2024年02月09日
    瀏覽(26)
  • docker搭建nginx并且掛載宿主機(jī)目錄

    1、安裝docker,這里就不贅述了 2、查看nginx版本 3、設(shè)置nginx對外的掛載目錄 4、拷貝一份nginx.conf文件到/root/docker/nginx/conf/目錄下 5、拉取相應(yīng)的docker鏡像 6、搭建nginx服務(wù)器 7、搭建完成之后查看容器的運(yùn)行狀態(tài) 8、至此,nginx就搭建完成了?。?/p>

    2024年02月11日
    瀏覽(24)
  • 【Docker】在容器中管理數(shù)據(jù)&&數(shù)據(jù)卷掛載以及宿主機(jī)目錄掛載

    【Docker】在容器中管理數(shù)據(jù)&&數(shù)據(jù)卷掛載以及宿主機(jī)目錄掛載

    ? ? ? ? ? ????????????????????????????歡迎來到我的CSDN主頁!???? ? ? ? ? ? ? ? ? ? ? ? ? ??我是平頂山大師,一個在CSDN分享筆記的博主。???? ? ? ? ? ??推薦給大家我的博客專欄《【Docker】在容器中管理數(shù)據(jù)》。???? ? ? ? ? ? ? ? ? ? ? ? ? ??

    2024年01月16日
    瀏覽(29)
  • 當(dāng)docker中容器運(yùn)行時,如何將目錄和宿主機(jī)進(jìn)行掛載

    容器已運(yùn)行,但還想掛載文件 容器已經(jīng)運(yùn)行起來了,突然想給容器的目錄進(jìn)行掛載,通常是在運(yùn)行容器時加上 -v? 命令 進(jìn)行掛載。運(yùn)行起來的容器想掛載文件夾可以通過修改容器在宿主機(jī)的配置文件進(jìn)行解決。 在配置文件中加入新的掛載 1.查看容器存放目錄 2.進(jìn)入該目錄

    2024年01月25日
    瀏覽(20)
  • Docker之宿主機(jī)與容器之間的文件復(fù)制與掛載

    Docker之宿主機(jī)與容器之間的文件復(fù)制與掛載

    宿主機(jī)與容器之間的文件掛載與復(fù)制 1、從宿主機(jī)復(fù)制到容器命令格式為: ? ? ? docker cp 宿主機(jī)的本地地址 容器名/容器ID:容器路徑 ?先在宿主機(jī)里面創(chuàng)建一個666.txt的文件,然后docker cp 命令把文件復(fù)制到容器中。 2、從容器復(fù)制到宿主機(jī)命令格式: ? ? ?docker cp 容器名字

    2024年02月13日
    瀏覽(24)
  • K8s集群某節(jié)點(diǎn)出現(xiàn)異常,新分配到node上面的pod不能ping通外部pod,同節(jié)點(diǎn)pod、宿主機(jī)IP也不行,外部pod也不可以ping通IP

    K8s集群某節(jié)點(diǎn)出現(xiàn)異常,新分配到node上面的pod不能ping通外部pod,同節(jié)點(diǎn)pod、宿主機(jī)IP也不行,外部pod也不可以ping通IP IP地址和集群的dns地址一致,通過該節(jié)點(diǎn)其他pod對這個問題pod進(jìn)行ping,發(fā)現(xiàn)還是不通,ping同節(jié)點(diǎn)其他pod是正常的,問題定位在這個pod上面,接著懷疑是svc未綁

    2024年02月03日
    瀏覽(26)
  • 解決docker通過volumes掛載文件,宿主機(jī)修改后容器內(nèi)不同步,重啟服務(wù)才能同步

    將文件的權(quán)限改為777,即 chmod 777 filename 。 詳細(xì)解釋在該文章: https://huaweicloud.csdn.net/633114e5d3efff3090b51a5a.html 說明: 這是由于linux系統(tǒng)文件掛載機(jī)制導(dǎo)致的。 docker通過volumes掛載文件到容器中,有以下兩種方式: 1、掛載目錄 2、掛載具體文件:并不是掛載了某個文件的路徑,

    2024年03月10日
    瀏覽(31)
  • docker簡介以及docker安裝redis、mysql并實(shí)現(xiàn)數(shù)據(jù)掛載宿主機(jī)

    docker簡介以及docker安裝redis、mysql并實(shí)現(xiàn)數(shù)據(jù)掛載宿主機(jī)

    1、簡介 官網(wǎng) docker官網(wǎng):http://www.docker.com 倉庫 Docker Hub官網(wǎng): https://hub.docker.com/ 2、前提 2.1 前提條件: Docker必須部署在Linux內(nèi)核的系統(tǒng)上 目前,CentOS 僅發(fā)行版本中的內(nèi)核支持 Docker。Docker 運(yùn)行在CentOS 7 (64-bit)上, 要求系統(tǒng)為64位、Linux系統(tǒng)內(nèi)核版本為 3.8以上 2.2查看自己的內(nèi)核

    2024年02月04日
    瀏覽(23)
  • Docker】容器里面拷文件到宿主機(jī)[或]宿主機(jī)拷文件到容器里面

    【Docker】容器里面拷文件到宿主機(jī)[或]宿主機(jī)拷文件到容器里面 - 知乎 答:在宿主機(jī)里面執(zhí)行以下命令 docker cp 容器名:要拷貝的文件在容器里面的路徑 要拷貝到宿主機(jī)的相應(yīng)路徑 示例: 假設(shè)容器名為webnphp,要從容器里面拷貝的文件路為: 現(xiàn)在要將tox.ini從容器里面拷到宿主

    2024年02月06日
    瀏覽(56)
  • Kubernetes-03-實(shí)踐篇 Spring-cloud-kubernetes 自動引入 K8S的 ConfigMap 參數(shù)(參數(shù)引用 和 文件掛載)

    此篇文章中,我們將講述如何從configMap中引入?yún)?shù)配置,如何從掛載文件中引入文件配置。其中文件掛載是應(yīng)用部署中常見的形式。 1、通過 valueRef 引入 ConfigMap 配置信息 1.1: 初始化項(xiàng)目 1.2: 定義將外部引入的配置項(xiàng) 1.3: 構(gòu)建鏡像 發(fā)布應(yīng)用 1.4: 確認(rèn)配置的引用 2、通過 fileMo

    2024年02月03日
    瀏覽(31)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包