您好,登錄后才能下訂單哦!
這篇文章主要講解了“kubernetes中怎么驗證PV和PVC”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“kubernetes中怎么驗證PV和PVC”吧!
k8s中用PV和PVC分離了存儲和使用存儲
pv是存儲空間,由StorageClass來分類
pvc是存儲卷聲明,代表用戶使用存儲的請求,包括空間大小、特定的訪問模式等
PVC可作為數(shù)據(jù)卷的一種,被掛在到容器或容器組中使用
有靜態(tài)和動態(tài)兩種方式為PVC提供PV
static: 人為創(chuàng)建好一系列PV,它們包含實際存儲的具體信息,且對集群用戶可見
dynamic: 在配置有合適的StorageClass且PVC關(guān)聯(lián)了該StorageClass的情況下,k8s集群可為應(yīng)用程序動態(tài)創(chuàng)建PV
當(dāng)用戶創(chuàng)建了一個PVC,k8s將立刻為其匹配一個PV,并將二者綁定在一起。PVC和PV之間的綁定關(guān)系是一對一的映射。
若沒有合適的PV,PVC將停留在unbound狀態(tài),直到有合適的PV可用
這里用NFS服務(wù)給nginx提供網(wǎng)頁存儲,驗證PV和PVC
環(huán)境是,k8s 1.20.1,master節(jié)點上安裝nfs服務(wù)端,其他node節(jié)點安裝nfs客戶端
一、 ubuntu 18.04上安裝nfs
server端:
apt install nfs-kernel-server
創(chuàng)建共享目錄
mkdir -p /mnt/nfs
vi /etc/exports
/mnt/nfs *(rw,sync,no_root_squash)
重啟服務(wù)
systemctl rpcbind restart
systemctl nfs-server status
確認NFS服務(wù)器啟動成功:
rpcinfo -p
檢查 NFS 服務(wù)器是否掛載我們想共享的目錄/mnt/nfs/
exportfs
showmount -e localhost #顯示輸出列表
client端:
apt install nfs-common
mount -t nfs -o vers=4.1 192.168.33.10:/mnt/nfs /data
查看服務(wù)端共享目錄
showmount -e 192.168.33.10
客戶端查詢掛載情況
df -h
rpcinfo -p 192.168.33.10
查看NFS版本
服務(wù)器端使用:nfsstat -s
客戶端使用:nfsstat -c
二、 k8s上配置驗證PV、PVC
配置文件
vi pv-lb-nginx.yaml
apiVersion: apps/v1 kind: Deployment metadata: name: nginx-web spec: selector: matchLabels: run: nginx-web replicas: 1 template: metadata: labels: run: nginx-web spec: containers: - name: nginx-web image: nginx ports: - containerPort: 80 volumeMounts: - mountPath: /etc/nginx/conf.d # nginx容器中的默認配置目錄 name: configfile #自定義名稱1 - mountPath: /usr/share/nginx/html # nginx容器中的網(wǎng)頁目錄 name: webroot #自定義名稱2 volumes: - name: configfile #須和上面自定義名稱1一致 configMap: name: nginx-config #指定configmap的名稱 - name: webroot #須和上面自定義名稱2一致 persistentVolumeClaim: claimName: nfs-pvc #指定pvc的名稱 --- apiVersion: v1 kind: Service metadata: name: nginx-web labels: run: nginx-web spec: type: LoadBalancer ports: - port: 80 targetPort: 80 protocol: TCP name: http selector: run: nginx-web --- #聲明pv詳細設(shè)置 apiVersion: v1 kind: PersistentVolume metadata: name: nfs-pv spec: capacity: storage: 1Gi volumeMode: Filesystem accessModes: - ReadWriteMany persistentVolumeReclaimPolicy: Retain nfs: server: 192.168.33.10 path: "/mnt/nfs" --- #聲明pv需求 apiVersion: v1 kind: PersistentVolumeClaim metadata: name: nfs-pvc spec: accessModes: - ReadWriteMany resources: requests: storage: 1Gi --- #聲明configmap用于nginx配置 apiVersion: v1 kind: ConfigMap metadata: name: nginx-config data: nginx.conf: |- server { listen 80; listen [::]:80; server_name localhost; location / { root /usr/share/nginx/html; index index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } }
kubect apply -f pv-lb-nginx.yaml
檢查部署狀態(tài):
kubectl get svc
kubectl get pods
kubectl get pv
kubectl get pvc
若出錯,kubectl describe 查看其events
驗證,打開瀏覽器訪問nginx,看到你配置的網(wǎng)頁內(nèi)容即可
感謝各位的閱讀,以上就是“kubernetes中怎么驗證PV和PVC”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對kubernetes中怎么驗證PV和PVC這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。