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

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

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

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

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

Создайте набор с отслеживанием состояния с помощью kubectl create команды или kubectl apply , например:

kubectl create –f statefulset.yaml

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

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

kubectl get statefulset

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

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

Чтобы обновить 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.

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