Создание развертываний
Область применения: AKS в Azure Stack HCI 22H2, AKS в Windows Server
В этой статье представлен обзор развертываний Kubernetes, а также описано, как создавать и обновлять развертывания в AKS, включенных в Azure Arc.
Обзор развертываний Kubernetes
Развертывание относится к объекту Kubernetes, который управляет производительностью и задает требуемое поведение модуля pod. Он указывает жизненный цикл приложения, включая модули pod, назначенные приложению. Развертывание предоставляет способ передачи требуемого состояния для приложения, а контроллер работает над изменением текущего состояния на требуемое.
Развертывания автоматизируют процесс запуска экземпляров pod и гарантируют, что они выполняются как определено на всех узлах в кластере. Администраторы и ИТ-специалисты используют развертывания, чтобы сообщить о том, что они хотят от приложения, а затем Kubernetes выполняет все необходимые действия для создания требуемого состояния приложения.
Хотя развертывания определяют, как работают приложения, они не гарантируют, где ваши приложения находятся в кластере. Например, если приложению требуется экземпляр pod на каждом узле, необходимо использовать DaemonSet. Для приложений с отслеживанием состояния StatefulSet предоставляет уникальные сетевые идентификаторы, постоянное хранилище, а также упорядоченное развертывание и масштабирование.
Объект развертывания Kubernetes позволяет:
- Разверните набор реплика или pod.
- Масштабирование числа экземпляров приложения.
- Обновление каждого запущенного экземпляра приложения.
- Откат всех запущенных экземпляров приложения до другой версии.
- Приостановка или продолжение развертывания.
Дополнительные сведения см. в разделе Развертывания Kubernetes.
Создание развертывания
Чтобы создать развертывание, можно использовать kubectl apply
команды или kubectl create
. Так как необходимое количество модулей pod поддерживается и отслеживается, они запускаются и доступны после создания развертывания. Если модуль pod завершается сбоем, Kubernetes немедленно развертывает реплика pod, чтобы занять его место в кластере.
В следующем примере описываются функции файла манифеста развертывания в формате YAML:
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx
spec:
replicas: 3
selector:
matchLabels:
app: nginx
strategy:
type: Recreate
template:
metadata:
labels:
app: nginx
spec:
containers:
- image: nginx
name: nginx
ports:
- containerPort: 80
Чтобы просмотреть развертывание, набор реплика и модули pod, выполните следующую команду:
kubectl get deployment, replicaset, pod
Обновление развертывания
Main преимуществом развертываний является возможность автоматического обновления программы Kubernetes. Без развертываний вам придется вручную завершить все старые модули pod, запустить новые версии pod и запустить проверка, чтобы узнать, есть ли проблемы при создании модулей pod. Вы можете выполнить команду kubectl describe deployment
, чтобы увидеть порядок, в котором были выведены и удалены модули pod.
Развертывания автоматизируют процесс обновления, просто обновляя шаблон pod или требуемое состояние. Развертывание изменяет состояние программы в фоновом режиме с помощью таких действий, как создание новых модулей pod или выделение дополнительных ресурсов, пока не будет выполнено выбранное обновление.
При возникновении проблем в развертывании Kubernetes автоматически выполняет откат к предыдущей версии. Вы также можете явно выполнить откат к определенной версии с помощью kubectl rollout undo
команды или использовать kubectl rollout pause
для временной остановки развертывания.
Стратегии обновления развертываний
Kubernetes предоставляет несколько стратегий развертывания, которые позволяют обновлять их различными способами в соответствии с потребностями вашей среды. Ниже перечислены три наиболее распространенные стратегии обновления.
- Последовательное обновление. Это постепенный процесс, который позволяет обновлять систему Kubernetes лишь незначительно сказывается на производительности и без простоев. Это позволяет свести к минимуму время простоя за счет скорости обновления.
- Воссоздания. Эта стратегия представляет собой процесс "все или ничего", который позволяет обновлять все аспекты системы одновременно с коротким периодом простоя. Он быстро обновляется, но приводит к простою.
- Canary: эта стратегия является частичным процессом обновления, который позволяет протестировать новую версию программы на реальных пользователей без обязательств по полному развертыванию. Он быстро обновляется для нескольких пользователей с полным развертыванием позже.
Дальнейшие действия
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по