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

kubernetes系列教程之 nfs-client-provisioner部署

這篇具有很好參考價值的文章主要介紹了kubernetes系列教程之 nfs-client-provisioner部署。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

Kubernetes版本 v1.19.14

在 Kubernetes 上部署 NFS Client Provisioner

NFS Client Provisioner 是一個 Kubernetes 存儲類的實(shí)現(xiàn),它利用 NFS(Network File System)來動態(tài)創(chuàng)建持久卷(Persistent Volume)。在本篇博客中,我們將介紹如何在 Kubernetes 集群上部署和配置 NFS Client Provisioner。

步驟一:部署 NFS 服務(wù)器

首先,我們需要準(zhǔn)備一個 NFS 服務(wù)器來提供存儲服務(wù)??梢允褂靡粋€現(xiàn)有的 NFS 服務(wù)器或者自己搭建一個。

  1. 安裝并配置 NFS 服務(wù)器:
# 在 Ubuntu 上安裝 NFS 服務(wù)器
sudo apt update
sudo apt install nfs-kernel-server

# 創(chuàng)建共享目錄
sudo mkdir /shared_directory

# 配置 NFS 導(dǎo)出
sudo nano /etc/exports
# 在文件中添加以下行
/shared_directory *(rw,sync,no_subtree_check)

# 重新加載 NFS 配置
sudo exportfs -a

# 啟動 NFS 服務(wù)
sudo systemctl start nfs-kernel-server
sudo systemctl enable nfs-kernel-server

確保將 /shared_directory 替換為實(shí)際的共享目錄路徑,并根據(jù)需要調(diào)整其他配置。

  1. 驗(yàn)證 NFS 服務(wù)器是否正常運(yùn)行:
shellCopy code# 檢查 NFS 服務(wù)狀態(tài)
sudo systemctl status nfs-kernel-server

# 確保 NFS 導(dǎo)出可用
showmount -e localhost

確保顯示出 /shared_directory 的導(dǎo)出信息。

更多內(nèi)容可參考作者NFS介紹,或者官方網(wǎng)站內(nèi)容

步驟二:部署 NFS Client Provisioner

在部署 NFS Client Provisioner 之前,確保你的 Kubernetes 集群已經(jīng)配置好,并且具有可用的存儲類。

  • 編寫rbac.yaml文件,進(jìn)行權(quán)限分配
apiVersion: v1
kind: ServiceAccount
metadata:
  name: nfs-client-provisioner
  namespace: kube-system
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: nfs-client-provisioner-runner
rules:
  - apiGroups: [""]
    resources: ["nodes"]
    verbs: ["get", "list", "watch"]
  - apiGroups: [""]
    resources: ["persistentvolumes"]
    verbs: ["get", "list", "watch", "create", "delete"]
  - apiGroups: [""]
    resources: ["persistentvolumeclaims"]
    verbs: ["get", "list", "watch", "update"]
  - apiGroups: ["storage.k8s.io"]
    resources: ["storageclasses"]
    verbs: ["get", "list", "watch"]
  - apiGroups: [""]
    resources: ["events"]
    verbs: ["create", "update", "patch"]
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: run-nfs-client-provisioner
subjects:
  - kind: ServiceAccount
    name: nfs-client-provisioner
    namespace: kube-system
roleRef:
  kind: ClusterRole
  name: nfs-client-provisioner-runner
  apiGroup: rbac.authorization.k8s.io
---
kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: leader-locking-nfs-client-provisioner
  namespace: kube-system
rules:
  - apiGroups: [""]
    resources: ["endpoints"]
    verbs: ["get", "list", "watch", "create", "update", "patch"]
---
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: leader-locking-nfs-client-provisioner
  namespace: kube-system
subjects:
  - kind: ServiceAccount
    name: nfs-client-provisioner
    namespace: kube-system
roleRef:
  kind: Role
  name: leader-locking-nfs-client-provisioner
  apiGroup: rbac.authorization.k8s.io
  • 編寫storageclass.yaml文件
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: nfs-storage
  annotations:
    storageclass.kubernetes.io/is-default-class: "false"
provisioner: "k8s-sigs.io/nfs-subdir-external-provisioner"                 
parameters:
  archiveOnDelete: "true"
  • 編寫deployment.yaml文件

    修改配置
    將 替換為 NFS 服務(wù)器的 IP 地址
    將 替換為 NFS 服務(wù)器上的共享目錄路徑
    可根據(jù)需要修改其他配置

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nfs-client-provisioner
  namespace: kube-system
  labels:
    app: nfs-client-provisioner
spec:
  replicas: 1
  strategy: 
    type: Recreate                   ## 設(shè)置升級策略為刪除再創(chuàng)建(默認(rèn)為滾動更新)
  selector:
    matchLabels:
      app: nfs-client-provisioner
  template:
    metadata:
      labels:
        app: nfs-client-provisioner
    spec:
      serviceAccountName: nfs-client-provisioner
      containers:
      - name: nfs-client-provisioner
        image: eipwork/nfs-subdir-external-provisioner:4.0.2
        volumeMounts:
        - name: nfs-client-root
          mountPath: /persistentvolumes
        env:
        - name: PROVISIONER_NAME 
          value: k8s-sigs.io/nfs-subdir-external-provisioner
        # 設(shè)置高可用允許選舉
        #- name: ENABLE_LEADER_ELECTION
        #  value: "True"
        - name: NFS_SERVER 
          value: 192.168.0.80
        - name: NFS_PATH 
          value: /data/nfs
      imagePullSecrets:
      - name: default-secret
      volumes:
      - name: nfs-client-root
        nfs:
          server: nfs-server-ip
          path: shared-directory
  1. 部署 NFS Client Provisioner:
kubectl apply -f rbac.yaml
kubectl apply -f storageclass.yaml
kubectl apply -f deployment.yaml
  1. 驗(yàn)證部署是否成功:
kubectl get pods -n  kube-system

確保 NFS Client Provisioner 的 Pod 運(yùn)行正常。

步驟三:創(chuàng)建持久卷

現(xiàn)在,你可以創(chuàng)建使用 NFS Client Provisioner 的持久卷了。下面是一個示例的持久卷聲明 YAML 文件的例子 pvc.yaml:

kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: test-pvc
spec:
  storageClassName: nfs-storage
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 1Mi

根據(jù)需要,調(diào)整存儲容量、訪問模式等配置。然后,使用 kubectl apply -f pvc.yaml 命令創(chuàng)建持久卷聲明。

測試掛載卷,編寫pod.yaml

kind: Pod
apiVersion: v1
metadata:
  name: test-pod
spec:
  containers:
  - name: test-pod
    image: busybox:latest
    command:
      - "/bin/sh"
    args:
      - "-c"
      - "touch /mnt/SUCCESS && exit 0 || exit 1"  ## 創(chuàng)建一個名稱為"SUCCESS"的文件
    volumeMounts:
      - name: nfs-pvc
        mountPath: "/mnt"
  restartPolicy: "Never"
  volumes:
    - name: nfs-pvc
      persistentVolumeClaim:
        claimName: test-pvc

根據(jù)需要,調(diào)整鏡像、測試命令、掛載路徑等配置。然后,使用 kubectl apply -f pod.yaml 命令創(chuàng)建持久卷聲明。

結(jié)論

通過部署和配置 NFS Client Provisioner,你可以在 Kubernetes 集群中輕松創(chuàng)建動態(tài)的 NFS 持久卷。這提供了一種方便且可擴(kuò)展的方式來管理存儲,并為應(yīng)用程序提供持久化的存儲支持。

希望這篇博客對你部署 NFS Client Provisioner 有所幫助!

參考資源:文章來源地址http://www.zghlxwxcb.cn/news/detail-567402.html

  • Kubernetes NFS Client Provisioner GitHub 倉庫
  • Kubernetes NFS 存儲類文檔
  • NFS 官方文檔

到了這里,關(guān)于kubernetes系列教程之 nfs-client-provisioner部署的文章就介紹完了。如果您還想了解更多內(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)文章

  • 【SA8295P 源碼分析】51 - QNX NFS Server + Android NFS Client 完整配置

    【源碼分析】 因?yàn)橐恍┰颍疚男枰瞥?對于已經(jīng)購買的兄弟,不用擔(dān)心,不是跑路, 我會繼續(xù)持續(xù)提供技術(shù)支持, 有什么模塊想學(xué)習(xí)的,或者有什么問題有疑問的, 請私聊我,我們 +VX 溝通技術(shù)問題,一起學(xué)習(xí),一起進(jìn)步 接下來,我一一私聊已經(jīng)購買的兄弟添加V

    2024年02月12日
    瀏覽(25)
  • k8s使用新版nfs-client

    nfs-client 官方github地址 安裝NFS helm安裝nfs-client

    2024年02月11日
    瀏覽(22)
  • k8s nfs-client 添加掛載參數(shù) —— 筑夢之路

    為什么要使用 noresvport 參數(shù)掛載NAS?不重新掛載會有什么后果? 如果發(fā)生網(wǎng)絡(luò)切換或者后端服務(wù)的HA倒換,小概率會造成NFS文件系統(tǒng)阻塞,那就可能需要幾分鐘時間連接才會自動恢復(fù),極端情況下甚至需要重啟ECS才能恢復(fù)。使用 noresvport 參數(shù)后,這個恢復(fù)幾秒就可以自動完成

    2024年02月10日
    瀏覽(18)
  • kubernetes 系列教程之部署 BusyBox 容器

    Kubernetes版本 v1.19.14 BusyBox 是一個輕量級的 Unix 工具集合,它將許多常用的 Unix 工具打包在一個可執(zhí)行文件中。在 Kubernetes 中,可以使用 BusyBox 容器作為調(diào)試工具,快速執(zhí)行命令或檢查容器內(nèi)部的狀態(tài)。本篇博客將介紹如何在 Kubernetes 集群上部署和使用 BusyBox 容器。 步驟一:

    2024年02月16日
    瀏覽(21)
  • Kubernetes pv-pvc-nfs-service綜合實(shí)驗(yàn)

    Kubernetes pv-pvc-nfs-service綜合實(shí)驗(yàn)

    目錄 實(shí)驗(yàn):pv-pvc-nfs-service綜合實(shí)驗(yàn) 實(shí)驗(yàn)環(huán)境 實(shí)驗(yàn)描述 實(shí)驗(yàn)拓?fù)鋱D:? 實(shí)驗(yàn)步驟: 1、修改nfs服務(wù)器的主機(jī)名: 2、搭建nfs服務(wù)器:(131條消息) 搭建NFS服務(wù)器_搭建nfs存儲_Claylpf的博客-CSDN博客 3、測試k8s上所有節(jié)點(diǎn)服務(wù)器是否可以掛載到NFS服務(wù)器上去 4、在master機(jī)器上創(chuàng)建pv使用

    2024年02月16日
    瀏覽(16)
  • Kubernetes(k8s)安裝NFS動態(tài)供給存儲類并安裝KubeSphere

    Kubernetes(k8s)安裝NFS動態(tài)供給存儲類并安裝KubeSphere

    它是一款全棧的 Kubernetes 容器云 PaaS 解決方案(來源于官網(wǎng)),而我覺得它是一款強(qiáng)大的Kubernetes圖形界面,它繼承了如下組件 (下面這段內(nèi)容來自官網(wǎng)): Kubernetes DevOps 系統(tǒng) 基于 Jenkins 為引擎打造的 CI/CD,內(nèi)置 Source-to-Image 和 Binary-to-Image 自動化打包部署工具 基于 Istio 的微

    2024年02月09日
    瀏覽(31)
  • Kubernetes: client-go 源碼剖析(二)

    Kubernetes: client-go 源碼剖析(二)

    kubernetes:client-go 系列文章: Kubernetes: client-go 源碼剖析(一) Kubernetes: client-go 源碼剖析(二) 運(yùn)行 informer 將 Reflector , informer 和 indexer 組件關(guān)聯(lián)以實(shí)現(xiàn) informer 流程圖的流程。 運(yùn)行 informer : 首先,創(chuàng)建隊(duì)列 Delta FIFO : 該隊(duì)列中存儲的是 Delta 資源對象,其存儲結(jié)構(gòu)為: 為什

    2024年02月04日
    瀏覽(27)
  • io.fabric8.kubernetes.client.http.WebSocketHandshakeException
  • Kubernetes operator(一)client-go篇【更新中】

    Kubernetes operator(一)client-go篇【更新中】

    云原生學(xué)習(xí)路線導(dǎo)航頁(持續(xù)更新中) 本文是 Kubernetes operator學(xué)習(xí) 系列第一篇,主要對client-go進(jìn)行學(xué)習(xí),從源碼閱讀角度,學(xué)習(xí)client-go各個組件的實(shí)現(xiàn)原理、如何協(xié)同工作等 參考視頻:Bilibili 2022年最新k8s編程operator篇,UP主:白丁云原生 本文參考資料 https://pan.baidu.com/s/1Bi

    2024年01月24日
    瀏覽(18)
  • Kubernetes Volume及其類型(NFS、SAN) - PV - PVC - PV與PVC與Pod的關(guān)系

    Kubernetes Volume及其類型(NFS、SAN) - PV - PVC - PV與PVC與Pod的關(guān)系

    目錄 volume 卷 官方文檔:卷 | Kubernetes 一、emptyDir(臨時卷) 二、hostPath卷 type字段參數(shù)? hostPath 實(shí)驗(yàn): 三、第3方提供的存儲卷(百度云、阿里云、亞馬遜云、谷歌云等) 四、local卷 五、NFS卷 參考文檔:https://github.com/kubernetes/examples/tree/master/staging/volumes/nfs 六、SAN卷 七、NA

    2024年02月16日
    瀏覽(16)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包