Middle
Ի՞նչ նպատակով են օգտագործվում փորձարկումները Kubernetes-ում։
sobes.tech AI
Պատասխան AI-ից
Կուբերնետիս օգտագործվում են փորձարկումներ՝ կոնտեյներների վիճակը որոշելու և պոդերի կյանքի ցիկլը կառավարելու համար: Դրանք թույլ են տալիս խմբին ավտոմատ կերպով արձագանքել ծրագրերի վիճակի փոփոխություններին՝ ապահովելով նրանց հասանելիությունն ու կայունությունը:
Կան երեք հիմնական փորձարկման տեսակներ՝
- Liveness probe (Կյանքի փորձարկում): Կնոջը որոշում է, արդյոք ծրագիրը աշխատում է կոնտեյներում: Եթե liveness probe-ն ավարտվում է սխալով, Kubernetes-ը վերագործարկում է կոնտեյները:
- Readiness probe (Պատրաստության փորձարկում): Կնոջը որոշում է, արդյոք կոնտեյները պատրաստ է ընդունել տրաֆիկը: Եթե readiness probe-ն ավարտվում է սխալով, Kubernetes-ը ժամանակավոր հանում է պոդը մատչելի եզրակացություններից՝ ծառայության համար, որը ուղղորդում է տրաֆիկը:
- Startup probe (Սկզբնական փորձարկում): Կնոջը որոշում է, արդյոք ծրագրի գործարկումը ավարտվել է: Կարող է օգտագործվել երկար ժամանակ պահանջող ծրագրերի համար:
Փորձարկումները կարող են իրականացվել տարբեր մեթոդներով՝
- ExecAction: Կատարում է հրամանը կոնտեյներում:
# ExecAction օրինակ՝ liveness probe
livenessProbe:
exec:
command:
- cat
- /tmp/healthy
initialDelaySeconds: 5
periodSeconds: 5
- HTTPGetAction: Ուղարկում է HTTP GET հարցում կոնտեյների նշված պորտին և ուղին:
# HTTPGetAction օրինակ՝ readiness probe
readinessProbe:
httpGet:
path: /ready
port: 8080
initialDelaySeconds: 5
periodSeconds: 5
failureThreshold: 3
- TCPSocketAction: Փորձում է հաստատել TCP socket կապ՝ նշված պորտով:
# TCPSocketAction օրինակ՝ liveness probe
livenessProbe:
tcpSocket:
port: 8080
initialDelaySeconds: 15
periodSeconds: 20
Սխալ օգտագործումը կարևոր է ծրագրերի հուսալիության և դիմացկունության համար Kubernetes-ում։