Sobes.tech
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-ում։