microk8s部署nfs存儲

參考官方文檔

https://microk8s.io/docs/how-to-nfs
https://github.com/kubernetes-csi/csi-driver-nfs/blob/master/docs/install-csi-driver-v4.4.0.md

1.設置nfs服務器

# 安裝服務
sudo apt-get install nfs-kernel-server
# 創(chuàng)建用于NFS的目錄:
sudo mkdir -p /srv/nfs
sudo chown nobody:nogroup /srv/nfs
sudo chmod 0777 /srv/nfs
# 編輯 /etc/exports 文件。確保所有MicroK8s節(jié)點的IP地址都能夠裝載此共享男摧。例如典阵,要允許 10.0.0.0/24 子網中的所有IP地址:
sudo mv /etc/exports /etc/exports.bak
echo '/srv/nfs 10.0.0.0/24(rw,sync,no_subtree_check)' | sudo tee /etc/exports
# 不確定ip限制可以用 
# 最后袱蚓,重新啟動NFS服務器:/srv/nfs *(rw,sync,no_subtree_check)
sudo systemctl restart nfs-kernel-server

2.安裝NFS的CSI驅動程序

git clone git@github.com:kubernetes-csi/csi-driver-nfs.git
cd csi-driver-nfs/deploy/v4.1.0
kubectl apply -f rbac-csi-nfs.yaml -f csi-nfs-driverinfo.yaml -f csi-nfs-controller.yaml -f csi-nfs-node.yaml
## 檢查節(jié)點是否正常
kubectl -n kube-system get pod -o wide -l app=csi-nfs-controller
kubectl -n kube-system get pod -o wide -l app=csi-nfs-node
# 解決鏡像拉取問題
microk8s ctr image pull registry.aliyuncs.com/google_containers/csi-node-driver-registrar:v2.5.1
microk8s ctr image tag registry.aliyuncs.com/google_containers/csi-node-driver-registrar:v2.5.1 registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.5.1
microk8s ctr image pull registry.aliyuncs.com/google_containers/livenessprobe:v2.7.0
microk8s ctr image tag registry.aliyuncs.com/google_containers/livenessprobe:v2.7.0 registry.k8s.io/sig-storage/livenessprobe:v2.7.0
microk8s ctr image pull lank8s.cn/sig-storage/nfsplugin:v4.1.0
microk8s ctr image tag lank8s.cn/sig-storage/nfsplugin:v4.1.0 registry.k8s.io/sig-storage/nfsplugin:v4.1.0
microk8s ctr image pull lank8s.cn/sig-storage/csi-provisioner:v3.2.0
microk8s ctr image tag lank8s.cn/sig-storage/csi-provisioner:v3.2.0 registry.k8s.io/sig-storage/csi-provisioner:v3.2.0
microk8s ctr image pull lank8s.cn/sig-storage/csi-snapshotter:v6.2.2
microk8s ctr image tag lank8s.cn/sig-storage/csi-snapshotter:v6.2.2 registry.k8s.io/sig-storage/csi-snapshotter:v6.2.2
# 成功后顯示如下
root@ubuntu02:/home/k8s/csi-driver-nfs/deploy/v4.4.0# kubectl -n kube-system get pod -o wide -l app=csi-nfs-controller
NAME                                 READY   STATUS    RESTARTS   AGE     IP            NODE       NOMINATED NODE   READINESS GATES
csi-nfs-controller-6f5f9cb8f-fw7pw   4/4     Running   0          3m54s   192.168.1.9   ubuntu04   <none>           <none>
root@ubuntu02:/home/k8s/csi-driver-nfs/deploy/v4.4.0# kubectl -n kube-system get pod -o wide -l app=csi-nfs-node
NAME                 READY   STATUS    RESTARTS   AGE    IP            NODE       NOMINATED NODE   READINESS GATES
csi-nfs-node-7s5zx   3/3     Running   0          4m2s   192.168.1.7   ubuntu02   <none>           <none>
csi-nfs-node-w4kpp   3/3     Running   0          4m2s   192.168.1.9   ubuntu04   <none>           <none>
csi-nfs-node-z65sn   3/3     Running   0          4m2s   192.168.1.8   ubuntu03   <none>           <none>
root@ubuntu02:/home/k8s/csi-driver-nfs/deploy/v4.4.0# microk8s kubectl get csidrivers
NAME             ATTACHREQUIRED   PODINFOONMOUNT   STORAGECAPACITY   TOKENREQUESTS   REQUIRESREPUBLISH   MODES        AGE
nfs.csi.k8s.io   false            false            false             <unset>         false               Persistent   5m29s

3.為NFS創(chuàng)建StorageClass

# 我們需要創(chuàng)建一個使用 nfs.csi.k8s.io CSI驅動程序的Kubernetes存儲類矾兜。假設您已經配置了NFS共享 /srv/nfs 划栓,并且NFS服務器的地址是 10.0.0.42 庸推,請創(chuàng)建以下文件:

# sc-nfs.yaml
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: nfs-csi
provisioner: nfs.csi.k8s.io
parameters:
  server: 10.1.31.0
  share: /srv/nfs
reclaimPolicy: Delete
volumeBindingMode: Immediate
mountOptions:
  - hard
  - nfsvers=4.1 
# 注意:上面YAML的最后一行表示NFS的特定版本。這應該與正在使用的NFS服務器的版本相匹配-如果您使用的是現(xiàn)有服務星爪,請檢查它使用的版本并進行相應調整。
# 然后在MicroK 8 s集群上應用:
microk8s kubectl apply -f  sc-nfs.yaml

4.創(chuàng)建新PVC

# pvc-nfs.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: pv-claim
spec:
  storageClassName: nfs-csi
  accessModes: [ReadWriteOnce]
  resources:
    requests:
      storage: 5Gi
# 然后創(chuàng)建PVC:
microk8s kubectl apply -f pvc-nfs.yaml
# 驗證是否成功
root@ubuntu02:/home/k8s/nfs# microk8s kubectl describe pvc pv-claim
Name:          pv-claim
Namespace:     default
StorageClass:  nfs-csi
Status:        Bound
Volume:        pvc-204c120b-123d-4343-a116-166f751ba616
Labels:        <none>
Annotations:   pv.kubernetes.io/bind-completed: yes
               pv.kubernetes.io/bound-by-controller: yes
               volume.beta.kubernetes.io/storage-provisioner: nfs.csi.k8s.io
               volume.kubernetes.io/storage-provisioner: nfs.csi.k8s.io
Finalizers:    [kubernetes.io/pvc-protection]
Capacity:      5Gi
Access Modes:  RWO
VolumeMode:    Filesystem
Used By:       <none>
Events:
  Type    Reason                 Age                    From                                                          Message
  ----    ------                 ----                   ----                                                          -------
  Normal  Provisioning           2m31s                  nfs.csi.k8s.io_ubuntu04_b5d71960-e4c6-47f8-a498-4a1d4e90a399  External provisioner is provisioning volume for claim "default/pv-claim"
  Normal  ExternalProvisioning   2m31s (x2 over 2m31s)  persistentvolume-controller                                   waiting for a volume to be created, either by external provisioner "nfs.csi.k8s.io" or manually created by system administrator
  Normal  ProvisioningSucceeded  2m30s                  nfs.csi.k8s.io_ubuntu04_b5d71960-e4c6-47f8-a498-4a1d4e90a399  Successfully provisioned volume pvc-204c120b-123d-4343-a116-166f751ba616

部署成功粉私,您可以使用此PVC在MicroK 8 s集群上運行有狀態(tài)工作負載

待解決問題,在statefulset中創(chuàng)建綁定nfs存儲的pod顽腾,一旦寫入數(shù)據(jù),無法刪除pod
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末诺核,一起剝皮案震驚了整個濱河市抄肖,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌窖杀,老刑警劉巖漓摩,帶你破解...
    沈念sama閱讀 210,914評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異陈瘦,居然都是意外死亡幌甘,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,935評論 2 383
  • 文/潘曉璐 我一進店門痊项,熙熙樓的掌柜王于貴愁眉苦臉地迎上來锅风,“玉大人,你說我怎么就攤上這事鞍泉≈宀海” “怎么了?”我有些...
    開封第一講書人閱讀 156,531評論 0 345
  • 文/不壞的土叔 我叫張陵咖驮,是天一觀的道長边器。 經常有香客問我,道長托修,這世上最難降的妖魔是什么忘巧? 我笑而不...
    開封第一講書人閱讀 56,309評論 1 282
  • 正文 為了忘掉前任,我火速辦了婚禮睦刃,結果婚禮上砚嘴,老公的妹妹穿的比我還像新娘。我一直安慰自己涩拙,他們只是感情好际长,可當我...
    茶點故事閱讀 65,381評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著兴泥,像睡著了一般工育。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上搓彻,一...
    開封第一講書人閱讀 49,730評論 1 289
  • 那天如绸,我揣著相機與錄音嘱朽,去河邊找鬼。 笑死怔接,一個胖子當著我的面吹牛燥翅,可吹牛的內容都是我干的。 我是一名探鬼主播蜕提,決...
    沈念sama閱讀 38,882評論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼靶端!你這毒婦竟也來了谎势?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,643評論 0 266
  • 序言:老撾萬榮一對情侶失蹤杨名,失蹤者是張志新(化名)和其女友劉穎脏榆,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體台谍,經...
    沈念sama閱讀 44,095評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡须喂,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,448評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了趁蕊。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片坞生。...
    茶點故事閱讀 38,566評論 1 339
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖掷伙,靈堂內的尸體忽然破棺而出是己,到底是詐尸還是另有隱情,我是刑警寧澤任柜,帶...
    沈念sama閱讀 34,253評論 4 328
  • 正文 年R本政府宣布卒废,位于F島的核電站,受9級特大地震影響宙地,放射性物質發(fā)生泄漏摔认。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,829評論 3 312
  • 文/蒙蒙 一宅粥、第九天 我趴在偏房一處隱蔽的房頂上張望参袱。 院中可真熱鬧,春花似錦粹胯、人聲如沸蓖柔。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,715評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽况鸣。三九已至,卻和暖如春竹观,著一層夾襖步出監(jiān)牢的瞬間镐捧,已是汗流浹背潜索。 一陣腳步聲響...
    開封第一講書人閱讀 31,945評論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留懂酱,地道東北人竹习。 一個月前我還...
    沈念sama閱讀 46,248評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像列牺,于是被迫代替她去往敵國和親整陌。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,440評論 2 348

推薦閱讀更多精彩內容