搭配 Azure Arc 啟用的 AKS 使用永續性磁碟區
適用於:Azure Stack HCI 22H2 上的 AKS、Windows Server 上的 AKS
本文說明如何布建、使用和刪除持續性磁碟區,以提供長期記憶體,以便與 Azure Arc (AKS Arc) 所啟用的 AKS 中 Kubernetes Pod 搭配使用。
永續性磁碟區代表已布建以供 Kubernetes Pod 使用的記憶體片段。 永續性磁碟區可供一或多個 Pod 使用,且適用於長期儲存。 它也與 Pod 或節點生命周期無關。
雖然您可以為 Windows 和 Linux 節點布建永續性磁碟區,但本文說明如何建立永續性磁碟區以用於 Windows 應用程式。 如需詳細資訊,請參閱 Kubernetes 中的永續性磁碟區。
開始之前
若要開始,您需要:
- 至少有一個 Windows 背景工作節點的 Kubernetes 叢集。
- 用來存取 Kubernetes 叢集的 kubeconfig 檔。
建立永續性磁碟區宣告
永續性磁碟區宣告 (PVC) 可用來根據儲存體類別,動態佈建儲存體。 若要建立磁碟區宣告,首先需建立名為 pvc-akshci-csi.yaml
的檔案,然後將下列 YAML 定義複製並貼上。 宣告要求其大小為 10 GB 且具備 ReadWriteOnce 存取權的磁碟。 系統會將儲存體類別 (vhdx) 指定為預設儲存體類別。
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pvc-akshci-csi
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi
若要建立磁碟區,請在 Azure Stack HCI 叢集中其中一部伺服器上的系統管理 PowerShell 會話中執行下列命令。 使用 Enter-PSSession 或遠端桌面之類的方法來連線到伺服器。
kubectl create -f pvc-akshci-csi.yaml
下列輸出會顯示已成功建立您的永續性磁碟區宣告:
輸出:
persistentvolumeclaim/pvc-akshci-csi created
使用永續性磁碟區
若要使用永續性磁碟區,請建立名為 winwebserver.yaml
的檔案,並將下列 YAML 定義複製並貼上。 然後,建立可存取永續性磁碟區宣告和 vhdx 的 Pod。
在下列 YAML 定義中, mountPath
是將磁碟區掛接在容器內的路徑。 成功建立 Pod 之後,您會看到在 C:\ 中建立的子目錄 mnt,以及在 mnt 內建立的子目錄 akshciscsi。
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: win-webserver
name: win-webserver
spec:
replicas: 1
selector:
matchLabels:
app: win-webserver
template:
metadata:
labels:
app: win-webserver
name: win-webserver
spec:
containers:
- name: windowswebserver
image: mcr.microsoft.com/windows/servercore/iis:windowsservercore-ltsc2019
ports:
- containerPort: 80
volumeMounts:
- name: akshciscsi
mountPath: "/mnt/akshciscsi"
volumes:
- name: akshciscsi
persistentVolumeClaim:
claimName: pvc-akshci-csi
nodeSelector:
kubernetes.io/os: windows
若要使用上述 YAML 定義建立 Pod,請執行:
kubectl create -f winwebserver.yaml
若要確認 Pod 正在執行,請執行下列命令。 等候幾分鐘,直到 Pod 處於執行中狀態,因為提取映像需要一些時間。
kubectl get pods -o wide
當您的 Pod 正在執行之後,請執行下列命令來檢視 Pod 狀態:
kubectl.exe describe pod %podName%
若要確認是否已將磁碟區裝載到 Pod,請執行下列命令:
kubectl exec -it %podname% cmd.exe
刪除永續性磁碟區宣告
在您刪除永續性磁碟區宣告之前,必須執行下列動作來刪除應用程式部署:
kubectl delete deployments win-webserver
然後,您可以藉由執行下列動作來刪除永續性磁碟區宣告:
kubectl delete PersistentVolumeClaim pvc-akshci-csi
下一步
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應