Ի՞նչ է ռեպլիկա-սեթը և դեպլոյմենթը։
sobes.tech AI
Պատասխան AI-ից
ReplicaSet-ը ապահովում է, որ կլաստերում աշխատում է նույնական պոդերի որոշակի քանակություն։ Այն հետևում է պոդերի վիճակին և ավտոմատ կերպով փոխարինում է այնպիսի պոդերին, որոնք ձախողվել են կամ դադարել են գործել:
Deployment-ը ապահովվում է ReplicaSet-ի վրա։ Այն կառավարում է հավելվածների թարմացումները և վերադառնալը, պահպանում է deployment-ի տարբերակների պատմությունը։ Այն թույլ է տալիս կատարել թարմացումներ՝ ըստ rolling update կամ recreate ռազմավարության:
# Deployment-ի մանიფեստի օրինակ
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
spec:
replicas: 3 # Նպատակային պոդերի քանակը (հետևելով ReplicaSet)
selector:
matchLabels:
app: nginx
strategy:
type: RollingUpdate # Թարմացման ռազմավարություն
rollingUpdate:
maxUnavailable: 1
maxSurge: 1
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.14.2 # Նորացման ենթակա պատկերային տարբերակ
ports:
- containerPort: 80
Այս օրինակով Deployment-ը ստեղծում է ReplicaSet, որը կպահպանի 3 պոդ՝ nginx:1.14.2 պատկերով։ Երբ փոփոխեք պատկերային տարբերակը Deployment-ի մանიფեստում, այն կստեղծի նոր ReplicaSet և աստիճանաբար կուղղորդի երթևեկությունը դեպի այն, հանելով հին պոդերը՝ ըստ rolling update ռազմավարության:
Համեմատական աղյուսակ՝
| Հնարավորություն | ReplicaSet | Deployment |
|---|---|---|
| Պոդերի քանակի երաշխիք | ✅ | ✅ |
| Հավելվածների թարմացումներ | ❌ | ✅ |
| Վերադարձ դեպի նախորդ տարբերակ | ❌ | ✅ |
| Պատմության կառավարում | ❌ | ✅ |