Эгер биз колдонмону deployment менен жайгаштырсак жана андан кийин реплика топтомуна колдонмонун версиясын өзгөртсөк, эмне болот?
sobes.tech AI
AIден жооп
Кийин колдонмонун версиясын өзгөртүү менен байланышкан ReplicaSet ресурсу, ал ошол Deployment менен байланыштуу, жаңыртылат. Deployment жаңы версиясы менен жаңы ReplicaSet түзөт. Эски ReplicaSet акырындык менен азайып, жаңы ReplicaSet көбөйөт. Бул процесс rolling update (жылжуу жаңыртуу) деп аталат жана автоматтык түрдө ишке ашырылат.
Так кадамдар:
- Колдонуучу же CI/CD системасы Deployment'ты жаңыртат.
- Deployment жаңы версиясы менен жаңы ReplicaSet түзөт.
- Жаңы ReplicaSet жаңы версия менен поддарды түзө баштайт.
- Кээ бир жаңы поддар
Readyабалына келгенде, Deployment эски ReplicaSetти азайта баштайт, эски версиядагы поддарды жок кылуу аркылуу. - Процесс уланат, бардык поддар жаңы ReplicaSetтин башкаруусунда болгуча.
- Эски ReplicaSet калат, бирок каалаган реплика саны 0гө барабар.
Бул процесс колдонмонун жаңыртуусунда нөлдүк убакытта токтоп калууну камсыздайт (жетиштүү ресурстар жана поддордун туура даярдыгы шартында), жана оңой эле алдыңкы версияга кайтууга мүмкүндүк берет, жөн гана Deployment'ты кайра жаңыртуу аркылуу.
Deployment YAML жаңыртуу мисалы:
# Жаңыртылган Deployment YAML
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-app-deployment
spec:
replicas: 3
selector:
matchLabels:
app: my-app
strategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 25% # Жасалган поддардын максималдуу саны, каалаган сандан ашык
maxUnavailable: 25% # Жаңыртуу учурунда жеткиликтүү болбогон поддардын максималдуу саны
template:
metadata:
labels:
app: my-app
spec:
containers:
- name: my-app-container
image: my-registry/my-app:v1.1.0 # Өзгөртүлгөн сүрөт версиясы
ports:
- containerPort: 80
ReplicaSetти кол менен түзөтүү катуу сунушталбайт жана күтүүсүз жүрүм-турумга алып келиши мүмкүн, анткени Deployment ReplicaSetтин абалын өзүнүн каалаган абалына келтирүүгө аракет кылат, сиздин өзгөртүүлөрүңүздү жазып алат. Бардык башкарылуучу өзгөртүүлөр Deployment ресурсу аркылуу жүргүзүлүшү керек.