Создание набора statefulSet

Область применения: AKS в Azure Stack HCI 22H2, AKS в Windows Server

В этой статье описывается, как создавать, обновлять и удалять наборы StatefulSet, которые используются для поддержания состояния приложения после жизненного цикла pod в развертывании AKS в AKS, включенном Azure Arc.

Общие сведения о наборах statefulSets

StatefulSets поддерживает состояние приложений за пределами жизненного цикла отдельного модуля pod. Как и при развертывании, StatefulSet создает и управляет по крайней мере одним идентичным модулем pod с уникальными постоянными удостоверениями и стабильными именами узлов. Реплики в StatefulSet следуют последовательному подходу к развертыванию, масштабированию и обновлению.

StatefulSet полезен для приложений, которым требуются стабильные и уникальные идентификаторы, постоянное хранилище, упорядоченное развертывание и масштабирование. Примерами таких приложений являются MySQL, MongoDB, Kafka и Cassandra. Приложения без отслеживания состояния, такие как Apache и Tomcat, не связаны с используемой сетью и не требуют постоянного хранилища.

Main компонентами StatefulSets являются постоянный компонент подготовки томов и служба без головы. Дополнительные сведения см. в разделе StatefulSets.

Создание набора statefulSet

StatefulSet создается с помощью kubectl create команды или kubectl apply . Пример:

kubectl create –f statefulset.yaml

В том же YAML-файле манифеста можно также создать службу без головы, которую использует StatefulSet.

Чтобы просмотреть компоненты, созданные для StatefulSet, выполните следующую команду:

kubectl get statefulset

Если вы хотите просмотреть постоянные тома, выполните команду kubectl get pv. Чтобы просмотреть утверждение постоянного тома, выполните команду kubectl get pvc.

Обновление наборов statefulSet

Чтобы обновить StatefulSet, измените файл манифеста и выполните ту же команду, которая использовалась при создании StatefulSet: kubectl apply –f statefulset.yaml.

В качестве стратегии обновления можно использовать обновление OnDelete или последовательное обновление:

  • При обновлении OnDelete модули pod не заменяются при применении манифеста, но необходимо вручную удалить существующие модули pod StatefulSet перед созданием новой версии.
  • При последовательном обновлении модули pod StatefulSet удаляются, а затем заменяются в обратном порядковом порядке при применении манифеста.

Удаление набора с отслеживанием состояния

Используйте команду , kubectl delete чтобы удалить StatefulSet и отдельно удалить службу без головы. Чтобы удалить StatefulSet, выполните следующую команду:

kubectl delete statefulset <statefulset_NAME>

Затем, чтобы удалить службу без головы, выполните следующую команду:

kubectl delete service <svc_NAME>

Чтобы удалить постоянный том и утверждение постоянного тома, используйте kubectl delete pv команды и kubectl delete pvc соответственно. Чтобы предотвратить потерю данных, постоянный том и утверждение постоянного тома не удаляются при удалении StatefulSet.

Дальнейшие действия