Использование постоянных томов с поддержкой AKS с помощью Arc
Область применения: AKS в Azure Stack HCI 22H2, AKS на Windows Server
В этой статье описывается подготовка, использование и удаление постоянных томов, которые предоставляют долгосрочное хранилище для использования с модулями pod Kubernetes в AKS, включенных Azure Arc (AKS Arc).
Постоянный том представляет собой часть хранилища, подготовленного для использования с модулями pod Kubernetes. Постоянный том может использоваться одним или несколькими модулями pod и предназначен для долгосрочного хранения. Он также не зависит от жизненного цикла модулей pod или узлов.
Хотя вы можете подготовить постоянный том для узлов Windows и Linux, в этой статье описывается создание постоянного тома для использования в приложении Windows. Дополнительные сведения см. в разделе "Постоянные тома" в Kubernetes.
Подготовка к работе
Вот что вам нужно приступить к работе:
- Кластер Kubernetes с по крайней мере одним рабочим узлом Windows.
- Файл kubeconfig для доступа к кластеру Kubernetes.
Создание заявки на доступ к постоянному тому
Утверждение постоянного тома (PVC) используется для автоматической подготовки хранилища на основе класса хранения. Чтобы создать утверждение тома, сначала создайте файл с именем pvc-akshci-csi.yaml
и скопируйте и вставьте следующее определение YAML. Для ПВХ требуется диск размером 10 ГБ с доступом ReadWriteOnce . Класс хранилища по умолчанию указывается как класс хранилища (vhdx).
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pvc-akshci-csi
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi
Чтобы создать том, выполните следующие команды в административном сеансе PowerShell на одном из серверов в кластере Azure Stack HCI. Используйте такой метод, как ВВОД-PSSession или удаленный рабочий стол для подключения к серверу.
kubectl create -f pvc-akshci-csi.yaml
В следующих выходных данных показано, что утверждение постоянного тома успешно создано:
Выходные данные:
persistentvolumeclaim/pvc-akshci-csi created
Использование постоянного тома
Чтобы использовать постоянный том, создайте файл с именем winwebserver.yaml
и скопируйте и вставьте следующее определение YAML. Затем создайте pod с доступом к утверждению постоянного тома и vhdx.
В следующем определении mountPath
YAML — это путь к подключению тома внутри контейнера. После успешного создания pod вы увидите подкаталог mnt, созданный в C:\ и подкаталог akshciscsi, созданный внутри mnt:
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
Чтобы создать pod с этим определением YAML, выполните следующую команду:
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