Использование постоянных томов с гибридной конфигурацией AKS
Область применения: AKS в Azure Stack HCI, AKS в Windows Server
В этой статье описывается подготовка, использование и удаление постоянных томов, которые предоставляют долгосрочное хранилище для использования с модулями pod Kubernetes в гибридной среде AKS.
Постоянный том представляет собой часть хранилища, подготовленную для использования с модулями 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. Для подключения к серверу используйте метод , например Enter-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 просмотрите его состояние, выполнив следующую команду:
kubectl.exe describe pod %podName%
Чтобы убедиться, что том подключен в pod, выполните следующую команду:
kubectl exec -it %podname% cmd.exe
Удаление утверждения постоянного тома
Перед удалением утверждения постоянного тома необходимо удалить развертывание приложения, выполнив следующую команду:
kubectl delete deployments win-webserver
Затем можно удалить утверждение постоянного тома, выполнив команду:
kubectl delete PersistentVolumeClaim pvc-akshci-csi