摘要:同時(shí)登錄控制臺(tái),發(fā)現(xiàn)展示容量也增大到了。最穩(wěn)定的擴(kuò)容方案是先停止應(yīng)用層服務(wù)解除掛載目錄,再進(jìn)行數(shù)據(jù)卷擴(kuò)容。此時(shí),和依然相互,對(duì)應(yīng)的已經(jīng)從云主機(jī)中卸載,處于可用狀態(tài)。
本文檔主要描述如何在 UK8S 中擴(kuò)容 UDisk 類型的 PVC,包括在線擴(kuò)容和離線擴(kuò)容兩種場(chǎng)景。
UK8S Node 節(jié)點(diǎn)實(shí)例的創(chuàng)建時(shí)間必須晚于 2020 年 5 月,不滿足此條件的節(jié)點(diǎn),則必須先對(duì) Node 節(jié)點(diǎn)進(jìn)行先關(guān)機(jī),再開(kāi)機(jī)操作。
Kubernetes版本不低于 1.14,如集群版本是 1.14 及 1.15,必須在三臺(tái) Master 節(jié)點(diǎn) /etc/kubernetes/apiserver
文件中配置
--feature-gates=ExpandCSIVolumes=true
,并通過(guò) systemctl restart kube-apiserver
重啟
APIServer。并需要在node節(jié)點(diǎn)中修改/etc/kubernetes/kubelet
文件中配置,增加--feature-gates=ExpandCSIVolumes=true
,執(zhí)行systemctl restart kubelet
重啟 kubelet。對(duì)于 1.14
版本的集群,如果需要在線擴(kuò)容(pod 不重啟),需要同時(shí)配置 ExpandInUsePersistentVolumes=true
的特性開(kāi)關(guān)。1.13 及以下版本不支持該特性,1.16
及以上版本無(wú)需配置;
CSI-UDisk版本不低于 20.08.1,CSI 版本更新及升級(jí)請(qǐng)查看:CSI 更新記錄及升級(jí)指南;
擴(kuò)容時(shí)聲明的期望容量大小必須是 10 的整數(shù)倍,單位為 Gi;
只支持動(dòng)態(tài)創(chuàng)建的 PVC 擴(kuò)容,且 storageClass 必須顯示聲明可擴(kuò)容(見(jiàn)后文);
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: csi-udisk-ssd
provisioner: udisk.csi.ucloud.cn # provisioner 必須為 udisk.csi.ucloud.cn
parameters:
type: "ssd"
fsType: "ext4"
reclaimPolicy: Delete
volumeBindingMode: WaitForFirstConsumer
allowVolumeExpansion: true # 必須聲明該存儲(chǔ)類支持可擴(kuò)容特性
2.2 通過(guò)該存儲(chǔ)類創(chuàng)建PVC,并掛載到Podkind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: udisk-volume-expand
spec:
accessModes:
- ReadWriteOnce
storageClassName: csi-udisk-ssd
resources:
requests:
storage: 10Gi
---
apiVersion: v1
kind: Pod
metadata:
name: udisk-expand-test
labels:
app: udisk
spec:
containers:
- name: http
image: uhub.service.ucloud.cn/ucloud/nginx:1.17.10-alpine
imagePullPolicy: Always
ports:
- containerPort: 8080
volumeMounts:
- name: udisk
mountPath: /data
volumes:
- name: udisk
persistentVolumeClaim:
claimName: udisk-volume-expand
Pod啟動(dòng)后,我們分別查看下 PV、PVC 以及容器內(nèi)的文件系統(tǒng)大小,可以發(fā)現(xiàn),目前都是10Gi
# kubectl get pv
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE
pvc-25b83584-35de-43e4-ad23-c1fc638a09e2 10Gi RWO Delete Bound default/udisk-volume-expand ssd-csi-udisk 2m26s
# kubectl get pvc
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
udisk-volume-expand Bound pvc-25b83584-35de-43e4-ad23-c1fc638a09e2 10Gi RWO ssd-csi-udisk 2m30s
# kubectl exec -it udisk-expand-test -- df -h
Filesystem Size Used Avail Use% Mounted on
...
/dev/vdc 9.8G 37M 9.7G 1% /data
...
2.3 在線擴(kuò)容 PVC執(zhí)行 kubectl edit pvc udisk-volume-expand
,將 spec.resource.requests.storage
改成 20Gi, 保存后退出,
大概在一分鐘左右,PV、PVC 以及容器內(nèi)的文件系統(tǒng)大小容量屬性都變成了 20Gi。
# kubectl get pv
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE
pvc-25b83584-35de-43e4-ad23-c1fc638a09e2 20Gi RWO Delete Bound default/udisk-volume-expand ssd-csi-udisk 2m26s
# kubectl get pvc
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
udisk-volume-expand Bound pvc-25b83584-35de-43e4-ad23-c1fc638a09e2 20Gi RWO ssd-csi-udisk 2m30s
# kubectl exec -it udisk-expand-test -- df -h
Filesystem Size Used Avail Use% Mounted on
...
/dev/vdc 20G 37M 19.7G 1% /data
...
同時(shí)登錄UDisk控制臺(tái),發(fā)現(xiàn) UDisk 展示容量也增大到了 20Gi。這樣我們完成了Pod不重啟,服務(wù)不停機(jī)的數(shù)據(jù)卷在線擴(kuò)容。
2.4 離線擴(kuò)容 PVC(推薦)在上面的示例中,我們完成了數(shù)據(jù)卷的在線擴(kuò)容。但在高 IO 的場(chǎng)景下,Pod 不重啟進(jìn)行數(shù)據(jù)卷擴(kuò)容,有小概率導(dǎo)致文件系統(tǒng)異常。最穩(wěn)定的擴(kuò)容方案是先停止應(yīng)用層服務(wù)、解除掛載目錄,再進(jìn)行數(shù)據(jù)卷擴(kuò)容。下面我們演示下如何進(jìn)行停服操作。
上文步驟 2.3完成的時(shí)候,我們有一個(gè) Pod 且掛載了一個(gè) 20Gi 的數(shù)據(jù)卷,現(xiàn)在我們需要對(duì)數(shù)據(jù)卷進(jìn)行停服擴(kuò)容。
基于上文的示例 yaml,去掉 PVC 相關(guān)的內(nèi)容,多帶帶創(chuàng)建一個(gè)名為 udisk-expand-test 的 yaml,只保留 Pod 的相關(guān)信息。然后刪除 Pod,但保留 PVC 和 PV。# kubectl delete po udisk-expand-test
pod "udisk-expand-test" deleted
此時(shí),PV 和 PVC 依然相互 Bound,對(duì)應(yīng)的 UDisk 已經(jīng)從云主機(jī)中卸載,處于可用狀態(tài)。
修改 PVC 信息,將 spec.resource.requests.storage 改成 30Gi, 保存并退出。等待一分鐘左右后,執(zhí)行 kubectl get pv
,當(dāng) PV 的容量增長(zhǎng)到 30Gi后,重建 Pod。需要注意的是,此時(shí)執(zhí)行 kubectl get pvc
的時(shí)候,返回的 PVC
容量依然是 20Gi,這是因?yàn)槲募到y(tǒng)尚未擴(kuò)容完畢,PVC 處于FileSystemResizePending 狀態(tài)。
# kubectl edit pvc udisk-volume-expand
persistentvolumeclaim/udisk-volume-expand edited
# kubectl get pv
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE
pvc-25b83584-35de-43e4-ad23-c1fc638a09e2 30Gi RWO Delete Bound default/udisk-volume-expand ssd-csi-udisk 20m
# kubectl create -f udisk-expand-test.yml
當(dāng) Pod 重新創(chuàng)建成功后,可以發(fā)現(xiàn),PV、PVC 的容量大小都是 30Gi,同時(shí)在容器中執(zhí)行 df 看到的對(duì)應(yīng)文件系統(tǒng)容量也是 30Gi。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/126713.html
摘要:宋體自年被開(kāi)源以來(lái),很快便成為了容器編排領(lǐng)域的標(biāo)準(zhǔn)。宋體年月,樂(lè)心醫(yī)療的第一個(gè)生產(chǎn)用集群正式上線。所以于年推出后,樂(lè)心醫(yī)療的運(yùn)維團(tuán)隊(duì)在開(kāi)會(huì)討論之后一致決定盡快遷移到。Kubernetes 自 2014 年被 Google 開(kāi)源以來(lái),很快便成為了容器編排領(lǐng)域的標(biāo)準(zhǔn)。因其支持自動(dòng)化部署、大規(guī)??缮炜s和容器化管理等天然優(yōu)勢(shì),已經(jīng)被廣泛接納。但由于 Kubernetes 本身的復(fù)雜性,也讓很多企業(yè)的...
摘要:請(qǐng)您使用前務(wù)必確認(rèn)可以接受該風(fēng)險(xiǎn)。創(chuàng)建并與關(guān)聯(lián)創(chuàng)建并與關(guān)聯(lián)需要與相對(duì)應(yīng)。在中使用在中使用在中使用 在UK8S中使用UDISK本篇目錄1. 存儲(chǔ)類 StorageClass2. 創(chuàng)建持久化存儲(chǔ)卷聲明 PVC3. 在 Pod 中使用 PVCUK8S支持直接在集群中使用UDisk作為持久化存儲(chǔ)卷。備注:所有云主機(jī)均支持 SSD/SATA UDisk,如果節(jié)點(diǎn)的云主機(jī)類型為快杰,則也支持 RSSD ...
摘要:節(jié)點(diǎn)資源預(yù)留導(dǎo)致的浪費(fèi)。虛擬節(jié)點(diǎn)實(shí)現(xiàn)了和這兩大容器產(chǎn)品的無(wú)縫對(duì)接,豐富了集群的彈性能力。單個(gè)虛擬節(jié)點(diǎn)計(jì)算資源理論無(wú)上限,無(wú)需擔(dān)心容量問(wèn)題。通過(guò)虛擬節(jié)點(diǎn)及,可以用最小的資源成本,來(lái)應(yīng)對(duì)高峰期的任務(wù)壓力,提升整體任務(wù)效率。隨著云原生概念的深入人心,越來(lái)越多的企業(yè)開(kāi)始著手基于容器相關(guān)技術(shù)來(lái)部署其應(yīng)用,Serverless也開(kāi)始在企業(yè)IT基礎(chǔ)構(gòu)建中發(fā)揮出越來(lái)越重要的作用。UCloud 先后推出了開(kāi)箱...
摘要:詳細(xì)請(qǐng)見(jiàn)產(chǎn)品價(jià)格產(chǎn)品概念使用須知名詞解釋漏洞修復(fù)記錄集群節(jié)點(diǎn)配置推薦模式選擇產(chǎn)品價(jià)格操作指南集群創(chuàng)建需要注意的幾點(diǎn)分別是使用必讀講解使用需要賦予的權(quán)限模式切換的切換等。UK8S概覽UK8S是一項(xiàng)基于Kubernetes的容器管理服務(wù),你可以在UK8S上部署、管理、擴(kuò)展你的容器化應(yīng)用,而無(wú)需關(guān)心Kubernetes集群自身的搭建及維護(hù)等運(yùn)維類工作。了解使用UK8S為了讓您更快上手使用,享受UK...
摘要:會(huì)使用到以下產(chǎn)品的全部操作權(quán)限,例如代替你創(chuàng)建刪除云主機(jī),由此產(chǎn)生的費(fèi)用由你負(fù)責(zé),請(qǐng)知悉。如何識(shí)別由創(chuàng)建的云資源由創(chuàng)建的云資源名稱,都遵循明確的命名規(guī)范,具體詳見(jiàn)命名規(guī)范簡(jiǎn)要說(shuō)明如下名稱,如名稱為的云主機(jī),是這個(gè)集群的節(jié)點(diǎn)。容器云UK8S使用必讀注意:通過(guò)UK8S創(chuàng)建的云主機(jī)、云盤、EIP等資源,刪除資源請(qǐng)不要通過(guò)具體的產(chǎn)品列表頁(yè)刪除,否則可能導(dǎo)致UK8S運(yùn)行不正?;驍?shù)據(jù)丟失風(fēng)險(xiǎn),可以通過(guò)U...
摘要:注意通過(guò)創(chuàng)建的云主機(jī)云盤等資源,刪除資源請(qǐng)不要通過(guò)具體的產(chǎn)品列表頁(yè)刪除,否則可能導(dǎo)致運(yùn)行不正?;驍?shù)據(jù)丟失風(fēng)險(xiǎn),可以通過(guò)將資源釋放或解綁刪除。會(huì)使用到以下產(chǎn)品的全部操作權(quán)限,例如代替你創(chuàng)建刪除云主機(jī),由此產(chǎn)生的費(fèi)用由你負(fù)責(zé),請(qǐng)知悉。注意:通過(guò)UK8S創(chuàng)建的云主機(jī)、云盤、EIP等資源,刪除資源請(qǐng)不要通過(guò)具體的產(chǎn)品列表頁(yè)刪除,否則可能導(dǎo)致UK8S運(yùn)行不正?;驍?shù)據(jù)丟失風(fēng)險(xiǎn),可以通過(guò)UK8S將資源釋放...
閱讀 461·2024-11-07 18:25
閱讀 130796·2024-02-01 10:43
閱讀 949·2024-01-31 14:58
閱讀 910·2024-01-31 14:54
閱讀 83014·2024-01-29 17:11
閱讀 3277·2024-01-25 14:55
閱讀 2070·2023-06-02 13:36
閱讀 3181·2023-05-23 10:26