一文學(xué)會安裝和在k8s中使用nfs

一叫挟、概述

nfs是共享網(wǎng)絡(luò)文件存儲服務(wù)器艰匙,可以通過類似于磁盤的方式,掛載到客戶端的目錄上抹恳。
其主要作用:

  • 1.實現(xiàn)多臺服務(wù)器之間數(shù)據(jù)共享
  • 2.實現(xiàn)多臺服務(wù)器之間數(shù)據(jù)一致

二员凝、安裝

  1. 安裝nfs
yum install -y nfs-utils

2.創(chuàng)建目錄

mkdir /data/volumes -pv

3.配置nfs服務(wù)目錄

vim /etc/exports
/data/volumes 192.168.1.0/24(rw,no_root_squash)

rw 讀寫權(quán)限
no_root_squash 當NFS客戶端以root管理員訪問時,映射為NFS服務(wù)器的root管理員

4.重啟并顯示

systemctl start nfs

showmount -e
Export list for storage:
/data/volumes 192.168.1.0/24

三奋献、在k8s node節(jié)點上安裝客戶端工具

  1. node節(jié)點安裝nfs-utils
yum install -y nfs-utils

2.掛載nfs存儲并展示

mount -t nfs storage:/data/volumes /mnt

mount
storage:/data/volumes on /mnt type nfs4 (rw,relatime,vers=4.1,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.1.13,local_lock=none,addr=192.168.1.14)

取消掛載:

umount /mnt/

四健霹、創(chuàng)建nfs存儲卷的使用清單

1.創(chuàng)建pod并掛載nfs存儲
vim pod-nfs-vol.yaml

apiVersion: v1
kind: Pod
metadata:
  name: pod-vol-nfs
  namespace: default
spec:
  containers:
  - name: myapp
    image: ikubernetes/myapp:v1
    volumeMounts:
    - name: html
      mountPath: /usr/share/nginx/html
  volumes:
    - name: html
      nfs:
        path: /data/volumes
        server: storage

啟動pod

kubectl apply -f pod-nfs-vol.yaml

2.在nfs服務(wù)器上創(chuàng)建index.html

cd /data/volumes

vim index.html
<h1> nfs storage</h1>

curl 10.244.3.7
<h1> nfs storage</h1>

五、實戰(zhàn)1

1. 配置pv

apiVersion: v1
kind: PersistentVolume
metadata:
  finalizers:
  - kubernetes.io/pv-protection
  labels:
     name: nfs-learn
  name: nas-learn
spec:
  accessModes:
  - ReadWriteMany
  capacity:
    storage: 1Gi
  mountOptions:
  - vers=4.0
  - noresvport
  nfs:
    path: /data/volumes
    server: storage
  persistentVolumeReclaimPolicy: Retain

2.配置pvc

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  finalizers:
  - kubernetes.io/pvc-protection
  name: nasclaim-nas-learn
  namespace: learn
spec:
  accessModes:
  - ReadWriteMany
  dataSource: null
  resources:
    requests:
      storage: 1Pi
  selector:
    matchLabels:
      name: nfs-learn
  volumeName: nas-learn

3.創(chuàng)建pod掛載pvc及pv

apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    run: pv-learn
  name: pv-learn
  namespace: learn
spec:
  replicas: 1
  selector:
    matchLabels:
      run: pv-learn
  strategy:
    rollingUpdate:
      maxSurge: 1
      maxUnavailable: 1
    type: RollingUpdate
  template:
    metadata:
      labels:
        run: pv-learn
    spec:
      containers:
      - env:
        image: registry.yunlearn.org:5000/release/go-dingding:test
        imagePullPolicy: Always
        name: pv-learn
        resources: {}
        terminationMessagePath: /dev/termination-log
        terminationMessagePolicy: File
        volumeMounts:
        - mountPath: /mnt/
          name: alinas
      dnsPolicy: ClusterFirst
      restartPolicy: Always
      schedulerName: default-scheduler
      securityContext: {}
      terminationGracePeriodSeconds: 30
      volumes:
      - name: alinas
        persistentVolumeClaim:
          claimName: nasclaim-nas-learn

六瓶蚂、實戰(zhàn)二

1.配置nfs存儲

vim /etc/exports
mkdir v{1,2,3,4,5}
/data/volumes/v1 192.168.1.0/24(rw,no_root_squash)
/data/volumes/v2 192.168.1.0/24(rw,no_root_squash)
/data/volumes/v3 192.168.1.0/24(rw,no_root_squash)
/data/volumes/v4 192.168.1.0/24(rw,no_root_squash)
/data/volumes/v5 192.168.1.0/24(rw,no_root_squash)

exportfs -arv
showmount -e

2.創(chuàng)建pv

vim pv-demo.yaml
apiVersion: v1
kind: PersistentVolume
metadata:
  name: pv001
  labels:
    name: pv001
spec:
  nfs:
    path: /data/volumes/v1
    server: storage
  accessModes: ["ReadWriteMany","ReadWriteOnce"]
  capacity:
    storage: 1Gi
---
apiVersion: v1
kind: PersistentVolume
metadata:
  name: pv002
  labels:
    name: pv002
spec:
  nfs:
    path: /data/volumes/v2
    server: storage
  accessModes: ["ReadWriteOnce"]
  capacity:
    storage: 2Gi
---
apiVersion: v1
kind: PersistentVolume
metadata:
  name: pv003
  labels:
    name: pv003
spec:
  nfs:
    path: /data/volumes/v3
    server: storage
  accessModes: ["ReadWriteMany","ReadWriteOnce"]
  capacity:
    storage: 2Gi
---
apiVersion: v1
kind: PersistentVolume
metadata:
  name: pv004
  labels:
    name: pv004
spec:
  nfs:
    path: /data/volumes/v4
    server: storage
  accessModes: ["ReadWriteMany","ReadWriteOnce"]
  capacity:
    storage: 4Gi
---
apiVersion: v1
kind: PersistentVolume
metadata:
  name: pv005
  labels:
    name: pv005
spec:
  nfs:
    path: /data/volumes/v5
    server: storage
  accessModes: ["ReadWriteMany","ReadWriteOnce"]
  capacity:
    storage: 5Gi

3.創(chuàng)建pvc并掛到pod

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: mypvc
  namespace: default
spec:
  accessModes: ["ReadWriteMany"]
  resources:
    requests:
      storage: 2Gi
---
apiVersion: v1
kind: Pod
metadata:
  name: pod-vol-pvc
  namespace: default
spec:
  containers:
  - name: myapp
    image: ikubernetes/myapp:v1
    volumeMounts:
    - name: html
      mountPath: /usr/share/nginx/html
  volumes:
    - name: html
      persistentVolumeClaim:
        claimName: mypvc

創(chuàng)建pod

kubectl apply -f pod-vol-pvc.yaml

4.測試

進入到nfs目錄吧

cd v3/  
echo "welcome to use pv3" > index.html

curl  10.244.2.39
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末糖埋,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子窃这,更是在濱河造成了極大的恐慌瞳别,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,657評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件杭攻,死亡現(xiàn)場離奇詭異祟敛,居然都是意外死亡,警方通過查閱死者的電腦和手機兆解,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評論 3 394
  • 文/潘曉璐 我一進店門馆铁,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人锅睛,你說我怎么就攤上這事埠巨。” “怎么了现拒?”我有些...
    開封第一講書人閱讀 164,057評論 0 354
  • 文/不壞的土叔 我叫張陵辣垒,是天一觀的道長。 經(jīng)常有香客問我印蔬,道長乍构,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,509評論 1 293
  • 正文 為了忘掉前任扛点,我火速辦了婚禮,結(jié)果婚禮上岂丘,老公的妹妹穿的比我還像新娘陵究。我一直安慰自己,他們只是感情好奥帘,可當我...
    茶點故事閱讀 67,562評論 6 392
  • 文/花漫 我一把揭開白布铜邮。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪松蒜。 梳的紋絲不亂的頭發(fā)上扔茅,一...
    開封第一講書人閱讀 51,443評論 1 302
  • 那天,我揣著相機與錄音秸苗,去河邊找鬼召娜。 笑死,一個胖子當著我的面吹牛惊楼,可吹牛的內(nèi)容都是我干的玖瘸。 我是一名探鬼主播,決...
    沈念sama閱讀 40,251評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼檀咙,長吁一口氣:“原來是場噩夢啊……” “哼雅倒!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起弧可,我...
    開封第一講書人閱讀 39,129評論 0 276
  • 序言:老撾萬榮一對情侶失蹤蔑匣,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后棕诵,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體裁良,經(jīng)...
    沈念sama閱讀 45,561評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,779評論 3 335
  • 正文 我和宋清朗相戀三年年鸳,在試婚紗的時候發(fā)現(xiàn)自己被綠了趴久。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,902評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡搔确,死狀恐怖彼棍,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情膳算,我是刑警寧澤座硕,帶...
    沈念sama閱讀 35,621評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站涕蜂,受9級特大地震影響华匾,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜机隙,卻給世界環(huán)境...
    茶點故事閱讀 41,220評論 3 328
  • 文/蒙蒙 一蜘拉、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧有鹿,春花似錦旭旭、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽源梭。三九已至,卻和暖如春稍味,著一層夾襖步出監(jiān)牢的瞬間废麻,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評論 1 269
  • 我被黑心中介騙來泰國打工模庐, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留烛愧,地道東北人。 一個月前我還...
    沈念sama閱讀 48,025評論 2 370
  • 正文 我出身青樓赖欣,卻偏偏與公主長得像屑彻,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子顶吮,可洞房花燭夜當晚...
    茶點故事閱讀 44,843評論 2 354

推薦閱讀更多精彩內(nèi)容