Розгортання
Базова команда CMD
# Створити
kubectl create deploy NAME --image=IMAGE --replica NUM
# Масштабувати (або використати kubectl edit)
kubectl scale deploy NAME --replicas NUM
# Змінити образ для деплойменту
kubectl set image deployments/DP_NAME ContainerName=IMAGE
k set image deployments/apache httpd=httpd:alpine
Коли ви використовуєте команду kubectl create
для створення деплойменту, вона автоматично додасть однакові labels
для як деплойменту, так і для подів. Якщо ви хочете налаштувати ці labels
, краще вивести файл yaml через --dry-run=client -oyaml
і перевірити його.
Якщо ім'я контейнера неясне, ви можете використовувати наступну команду, щоб знайти його:
k get pod NAME -oyaml | grep -3 -i container
Оновлення
k rollout history deployment/DP_NAME
k rollout history deployment/DP_NAME --revision REV_NUM
k rollout undo deployment/DP_NAME --to-revision REV_NUM
k rollout status deployment DP_NAME
controlplane $ k rollout history deployment video-app
deployment.apps/video-app
REVISION CHANGE-CAUSE
1
2
3
controlplane $ k rollout history deployment/video-app --revision 3
deployment.apps/video-app з ревізією #3
Шаблон пода:
Labels: app=video-app
pod-template-hash=69648db755
Контейнери:
redis:
Образ: redis:7.0.13
Порт:
Host Port:
Середовище:
Монтування:
Тома:
Node-Selectors:
Tolerations:
controlplane $ k rollout undo deployment/video-app --to-revision 3
deployment.apps/video-app скасовано відкат (поточний шаблон вже відповідає ревізії 3)
Стратегії оновлення
.spec.strategy.rollingUpdate.Unavailable
та .spec.strategy.rollingUpdate.maxSurge
- Max Unavailable
- кількість недоступних під час процесу оновлення.
- Max Surge
- визначає максимальну кількість Pods, яку можна створити понад бажану кількість Pods.
strategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 30%
maxUnavailable: 45%
.spec.strategy.type==Recreate
, ми можемо також спочатку знищити всі існуючі поди, а потім створити нові.
strategy:
type: Recreate
Перекладено з: [CKA Recap — Deployment](https://medium.com/@cheedgelee/cka-recap-deployment-c04994298f89)