Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Диски Azure Ultra предоставляют дисковое хранилище с высокой пропускной способностью, большим количеством операций ввода-вывода в секунду и стабильной низкой задержкой для ваших приложений с сохранением состояния. Основным преимуществом дисков ценовой категории "Ультра" является возможность динамического изменения производительности SSD, а также рабочих нагрузок без необходимости перезагрузки узлов агентов. Диски ценовой категории "Ультра" подходят для рабочих нагрузок, интенсивно использующих данные.
В этой статье описывается, как настроить новый или существующий кластер AKS для использования дисков Azure ценовой категории "Ультра".
Прежде чем начать
Эту функцию можно задать только при создании кластера или при создании пула узлов.
Ограничения
- Для дисков Azure ценовой категории "Ультра" требуются пулы узлов, развернутые в зонах доступности и регионах, поддерживающих эти диски, и поддерживаются только определенными сериями виртуальных машин. Дополнительные сведения см. в соответствующей таблице в разделе ограничений диска "Ультра".
- Диски "Ультра" нельзя использовать с некоторыми функциями, такими как группы доступности или Шифрование дисков Azure. Ознакомьтесь с ограничениями диска "Ультра" для получения последних сведений.
Создание кластера, который может использовать диски ценовой категории "Ультра"
Создайте группу ресурсов для кластера.
az group create --name MyResourceGroup --location westus2
Создайте кластер AKS, который может использовать диски Azure ценовой категории "Ультра" со следующими командами CLI. Используйте параметр --enable-ultra-ssd для настройки функции EnableUltraSSD.
az aks create \
--resource-group MyResourceGroup \
--name myAKSCluster \
--location westus2 \
--node-vm-size Standard_D2s_v3 \
--zones 1 \
--node-count 2 \
--enable-ultra-ssd \
--generate-ssh-keys
Если вы хотите создать кластер без поддержки дисков ценовой категории "Ультра", это можно сделать, опустив --enable-ultra-ssd параметр.
После успешного развертывания кластера выполните следующую команду, которая задает контекст для нового кластера.
az aks get-credentials --resource-group MyResourceGroup --name myAKSCluster
Включение дисков ценовой категории "Ультра" в существующем кластере
Вы можете включить диски ультра в существующем кластере, добавив новый пул узлов в кластер, поддерживающий диски ультра. Настройте новый пул узлов для использования ультра-дисков с параметром --enable-ultra-ssd и командой az aks nodepool add.
Если вы хотите создать пулы узлов без поддержки дисков ценовой категории "Ультра", это можно сделать, исключив --enable-ultra-ssd параметр.
Динамическое использование дисков ценовой категории "Ультра" с классом хранения
Чтобы использовать диски ценовой категории "ультра" в развертываниях или наборах с отслеживанием состояния, можно использовать класс хранилища для динамической подготовки.
Создание класса хранения
Класс хранения используется для определения того, как единица хранения создается динамически с помощью постоянного тома. Дополнительные сведения о классах хранения Kubernetes см. в разделе Классы хранения Kubernetes. В этом примере создается класс хранилища, ссылающийся на диски ценовой категории "Ультра".
Создайте файл с именем
azure-ultra-disk-sc.yamlи скопируйте его в следующем манифесте:kind: StorageClass apiVersion: storage.k8s.io/v1 metadata: name: ultra-disk-sc provisioner: disk.csi.azure.com # replace with "kubernetes.io/azure-disk" if aks version is less than 1.21 volumeBindingMode: WaitForFirstConsumer # optional, but recommended if you want to wait until the pod that will use this disk is created parameters: skuname: UltraSSD_LRS kind: managed cachingMode: None diskIopsReadWrite: "2000" # minimum value: 2 IOPS/GiB diskMbpsReadWrite: "320" # minimum value: 0.032/GiBСоздайте класс хранилища с помощью
kubectl applyкоманды и укажитеazure-ultra-disk-sc.yamlфайл.kubectl apply -f azure-ultra-disk-sc.yamlВыходные данные должны выглядеть примерно так:
storageclass.storage.k8s.io/ultra-disk-sc created
Создание заявки на доступ к постоянному тому
Запрос на постоянный том (PVC) используется для автоматического выделения хранилища на основе класса хранения. В этом случае PVC может использовать ранее созданный класс хранения для создания ультра-диска.
Создайте файл с именем
azure-ultra-disk-pvc.yamlи скопируйте его в следующем манифесте:apiVersion: v1 kind: PersistentVolumeClaim metadata: name: ultra-disk spec: accessModes: - ReadWriteOnce storageClassName: ultra-disk-sc resources: requests: storage: 1000GiЗапрос на диск с именем
ultra-disk, размером1000 GBи доступомReadWriteOnce. Классultra-disk-scхранилища указывается в качестве класса хранилища.Создайте запрос на выделение постоянного тома с помощью команды
kubectl applyи укажите файлazure-ultra-disk-pvc.yaml.kubectl apply -f azure-ultra-disk-pvc.yamlВыходные данные должны выглядеть примерно так:
persistentvolumeclaim/ultra-disk created
Используйте постоянный том
После создания заявления на постоянный том и успешного выделения диска может быть создан модуль с доступом к pod диску. Следующий манифест создаёт базовый pod NGINX, который использует запрос на выделение постоянного тома с именем ultra-disk для монтирования диска Azure в путь /mnt/azure.
Создайте файл с именем
nginx-ultra.yamlи скопируйте его в следующем манифесте:kind: Pod apiVersion: v1 metadata: name: nginx-ultra spec: containers: - name: nginx-ultra image: mcr.microsoft.com/oss/nginx/nginx:1.15.5-alpine resources: requests: cpu: 100m memory: 128Mi limits: cpu: 250m memory: 256Mi volumeMounts: - mountPath: "/mnt/azure" name: volume volumes: - name: volume persistentVolumeClaim: claimName: ultra-diskСоздайте pod с помощью команды
kubectl applyи укажите файлnginx-ultra.yaml.kubectl apply -f nginx-ultra.yamlВыходные данные должны выглядеть примерно так:
pod/nginx-ultra createdТеперь у вас есть работающий pod с диском Azure, подключенным к каталогу
/mnt/azure.Просмотрите сведения о конфигурации с помощью команды
kubectl describe podи укажите файлnginx-ultra.yaml.kubectl describe pod nginx-ultraВыходные данные должны выглядеть примерно так:
[...] Volumes: volume: Type: PersistentVolumeClaim (a reference to a PersistentVolumeClaim in the same namespace) ClaimName: ultra-disk ReadOnly: false kube-api-access-sszt8: Type: Projected (a volume that contains injected data from multiple sources) TokenExpirationSeconds: 3607 [...] Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal Scheduled 29s default-scheduler Successfully assigned default/nginx-ultra to aks-nodepool1-13380798-vmss000001 Normal SuccessfulAttachVolume 9s attachdetach-controller AttachVolume.Attach succeeded for volume "pvc-a6a6a6a6-bbbb-cccc-dddd-e7e7e7e7e7e7"
Следующие шаги
- Дополнительные сведения о дисках ценовой категории "Ультра" см. в разделе Использование дисков Azure ценовой категории "Ультра".
- Дополнительные сведения о рекомендациях по хранению см. в рекомендациях по хранению и резервному копированию в AKS.
Azure Kubernetes Service