您好,登錄后才能下訂單哦!
這篇文章主要講解了“kubernetes中怎么驗證PV和PVC”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“kubernetes中怎么驗證PV和PVC”吧!
k8s中用PV和PVC分離了存儲和使用存儲
pv是存儲空間,由StorageClass來分類
pvc是存儲卷聲明,代表用戶使用存儲的請求,包括空間大小、特定的訪問模式等
PVC可作為數據卷的一種,被掛在到容器或容器組中使用
有靜態和動態兩種方式為PVC提供PV
static: 人為創建好一系列PV,它們包含實際存儲的具體信息,且對集群用戶可見
dynamic: 在配置有合適的StorageClass且PVC關聯了該StorageClass的情況下,k8s集群可為應用程序動態創建PV
當用戶創建了一個PVC,k8s將立刻為其匹配一個PV,并將二者綁定在一起。PVC和PV之間的綁定關系是一對一的映射。
若沒有合適的PV,PVC將停留在unbound狀態,直到有合適的PV可用
這里用NFS服務給nginx提供網頁存儲,驗證PV和PVC
環境是,k8s 1.20.1,master節點上安裝nfs服務端,其他node節點安裝nfs客戶端
一、 ubuntu 18.04上安裝nfs
server端:
apt install nfs-kernel-server
創建共享目錄
mkdir -p /mnt/nfs
vi /etc/exports
/mnt/nfs *(rw,sync,no_root_squash)
重啟服務
systemctl rpcbind restart
systemctl nfs-server status
確認NFS服務器啟動成功:
rpcinfo -p
檢查 NFS 服務器是否掛載我們想共享的目錄/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
查看服務端共享目錄
showmount -e 192.168.33.10
客戶端查詢掛載情況
df -h
rpcinfo -p 192.168.33.10
查看NFS版本
服務器端使用: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容器中的網頁目錄 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詳細設置 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
檢查部署狀態:
kubectl get svc
kubectl get pods
kubectl get pv
kubectl get pvc
若出錯,kubectl describe 查看其events
驗證,打開瀏覽器訪問nginx,看到你配置的網頁內容即可
感謝各位的閱讀,以上就是“kubernetes中怎么驗證PV和PVC”的內容了,經過本文的學習后,相信大家對kubernetes中怎么驗證PV和PVC這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。