Ang liveness probe sa Kubernetes mahimong delikado

Nota. transl.: Ang nanguna nga inhenyero gikan sa Zalando, Henning Jacobs, balik-balik nga nakamatikod sa mga problema sa mga tiggamit sa Kubernetes sa pagsabot sa katuyoan sa liveness (ug pagkaandam) nga mga pagsusi ug sa hustong paggamit niini. Busa, gikolekta niya ang iyang mga hunahuna niining lapad nga nota, nga sa kadugayan mahimong bahin sa dokumentasyon sa K8s.

Ang liveness probe sa Kubernetes mahimong delikado

Ang mga pagsusi sa kahimsog, nailhan sa Kubernetes nga liveness probes (Ρ‚.Π΅., дословно, «тСсты Π½Π° ΠΆΠΈΠ·Π½Π΅ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒΒ» β€” ΠΏΡ€ΠΈΠΌ. ΠΏΠ΅Ρ€Π΅Π².), ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ вСсьма опасными. Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ ΠΏΠΎ возмоТности ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ ΠΈΡ…: ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡΠΌΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ случаи, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ ΠΈ Π²Ρ‹ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ осознаСтС спСцифику ΠΈ послСдствия ΠΈΡ… использования. Π’ этой ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Ρ€Π΅Ρ‡ΡŒ ΠΏΠΎΠΉΠ΄Π΅Ρ‚ ΠΎ liveness- ΠΈ readiness-ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°Ρ…, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ рассказано, Π² ΠΊΠ°ΠΊΠΈΡ… случаях bililhon ΠΈ Π½Π΅ стоит ΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ.

Мой ΠΊΠΎΠ»Π»Π΅Π³Π° Sandor Π½Π΅Π΄Π°Π²Π½ΠΎ подСлился Π² Twitter’С самыми частыми ошибками, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΅ΠΌΡƒ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ, Π² Ρ‚ΠΎΠΌ числС связанными с использованиСм readiness/liveness probes:

Ang liveness probe sa Kubernetes mahimong delikado

ΠΠ΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ настроСнная livenessProbe mahimong makapasamot sa mga sitwasyon nga taas ang karga (snowball shutdown + posibleng taas nga container/application startup time) ug mosangpot sa uban pang negatibong resulta sama sa dependency drops (tan-awa usab akong bag-o nga artikulo ΠΎΠ± ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΈ числа запросов Π² связкС K3s+ACME). Mas grabe pa kung ang liveness probe gihiusa sa usa ka pagsusi sa kahimsog, nga usa ka eksternal nga database: СдинствСнный сбой Π‘Π” пСрСзапустит всС ваши ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹!

ΠžΠ±Ρ‰ΠΈΠΉ посыл «НС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ liveness probesΒ» sa niini nga kaso kini dili makatabang kaayo, mao nga atong tan-awon sa unsa ang kaandam ug liveness pagsusi alang sa.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: бόльшая Ρ‡Π°ΡΡ‚ΡŒ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ Π½ΠΈΠΆΠ΅ тСста ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π±Ρ‹Π»Π° Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π° Π²ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΡŽΡŽ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Zalando.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Readiness ΠΈ Liveness

Ang Kubernetes naghatag og duha ka importante nga mekanismo nga gitawag liveness probes ug ready probes. Kanunay nilang gihimo ang pipila ka aksyonβ€”sama sa pagpadala og HTTP nga hangyo, pag-abli og koneksyon sa TCP, o pagpatuman og command sa sudlananβ€”aron makumpirma nga ang aplikasyon nagtrabaho sama sa gipaabot.

Gigamit sa Kubernetes readiness probes, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ Π³ΠΎΡ‚ΠΎΠ² ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ. Pod считаСтся Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΌ ΠΊ Ρ€Π°Π±ΠΎΡ‚Π΅, Ссли всС Π΅Π³ΠΎ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ Π³ΠΎΡ‚ΠΎΠ²Ρ‹. Одно ΠΈΠ· ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΉ этого ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ pod’ы ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² качСствС бэкСндов для сСрвисов Kubernetes (ΠΈ особСнно Ingress’а).

Liveness nga pagsusi tabangi ang mga Kubernetes nga masabtan kung panahon na nga i-restart ang sudlanan. Pananglitan, ang ingon nga tseke nagtugot kanimo sa pag-intercept sa usa ka deadlock kung ang usa ka aplikasyon ma-stuck sa usa ka lugar. Ang pag-restart sa sudlanan niini nga estado makatabang sa pagkuha sa aplikasyon gikan sa yuta bisan pa sa mga kasaypanan, apan mahimo usab kini nga mosangpot sa mga kapakyasan sa cascading (tan-awa sa ubos).

Если Π²Ρ‹ ΠΏΠΎΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ прилоТСния, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΡ€ΠΎΠ²Π°Π»ΠΈΠ²Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ liveness/readiness, Π΅Π³ΠΎ Π²Ρ‹ΠΊΠ°Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅ застопорится, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Kubernetes Π±ΡƒΠ΄Π΅Ρ‚ ΠΆΠ΄Π°Ρ‚ΡŒ статуса Ready gikan sa tanang pod.

Pananglitan:

Ania ang usa ka pananglitan sa usa ka kaandam nga pagsusi sa usa ka agianan /health Ρ‡Π΅Ρ€Π΅Π· HTTP с настройками ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ (agianan: 10 сСкунд, timeout: 1 сСкунда, sukdanan sa kalampusan: 1, kapakyasan threshold: 3):

# Ρ‡Π°ΡΡ‚ΡŒ ΠΎΠ±Ρ‰Π΅Π³ΠΎ описания deployment'Π°/стСка
podTemplate:
  spec:
    containers:
    - name: my-container
      # ...
      readinessProbe:
        httpGet:
          path: /health
          port: 8080

rekomendasyon

  1. Para sa mga microservice nga adunay HTTP endpoint (REST, etc.) всСгда опрСдСляйтС readiness probe, которая провСряСт, Π³ΠΎΡ‚ΠΎΠ²ΠΎ Π»ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ (pod) ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ.
  2. Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ readiness probe ΠΏΠΎΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Π³ΠΎΡ‚ΠΎΠ²Π½ΠΎΡΡ‚ΡŒ фактичСского ΠΏΠΎΡ€Ρ‚Π° Π²Π΅Π±-сСрвСра:
    • gamit ang mga pantalan alang sa administratibo nga katuyoan, gitawag nga "admin" o "pagdumala" (pananglitan, 9090), alang sa readinessProbe, ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ endpoint Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ОК Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ‚ΠΎΠΌ случаС, Ссли основной HTTP-ΠΏΠΎΡ€Ρ‚ (Π²Ρ€ΠΎΠ΄Π΅ 8080) Π³ΠΎΡ‚ΠΎΠ² ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ*;

      *Nakahibalo ko nga bisan usa ka kaso sa Zalando kung diin wala kini nahitabo, i.e. readinessProbe ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠ»Π° ΠΏΠΎΡ€Ρ‚ Β«managementΒ», Π½ΠΎ сам сСрвСр Ρ‚Π°ΠΊ ΠΈ Π½Π΅ Π½Π°Ρ‡Π°Π» Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΈΠ·-Π·Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ кэша.

    • Ang paglakip sa usa ka andam nga pagsusi sa usa ka lahi nga pantalan mahimong mosangpot sa kamatuoran nga ang sobra nga gibug-aton sa main port dili makita sa pagsusi sa kahimsog (nga mao, ang thread pool sa server puno, apan ang pagsusi sa kahimsog nagpakita gihapon nga OK ra ang tanan. ).
  3. Siguruha nga Ang pagkaandam nga pagsusi makahimo sa database initialization/migration;
    • Ang pinakasayon ​​nga paagi aron makab-ot kini mao ang pagkontak sa HTTP server human lang makompleto ang initialization (pananglitan, pagbalhin sa database gikan sa Flyway ΠΈ Ρ‚.ΠΏ.); Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ вмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΠ΅Π½ΡΡ‚ΡŒ статус health check’а, просто Π½Π΅ запускайтС Π²Π΅Π±-сСрвСр Π΄ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ Π‘Π”*.

      * Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ Π‘Π” ΠΈΠ· init-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² снаруТи pod’а. Π― ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ являюсь ΠΏΠΎΠΊΠ»ΠΎΠ½Π½ΠΈΠΊΠΎΠΌ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… (self-contained) ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΈΡ…, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ прилоТСния Π±Π΅Π· внСшнСй ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ†ΠΈΠΈ Π·Π½Π°Π΅Ρ‚, ΠΊΠ°ΠΊ привСсти Π‘Π” Π² Π½ΡƒΠΆΠ½ΠΎΠ΅ состояниС.

  4. Paggamit httpGet для readiness-ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ Ρ‡Π΅Ρ€Π΅Π· Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ endpoint’ы health check’ов (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, /health).
  5. Sabta ang default check parameters (interval: 10s, timeout: 1s, successThreshold: 1, failureThreshold: 3):
    • ang default nga mga kapilian nagpasabot nga ang pod mahimong not-ready human sa mga 30 segundos (3 napakyas sa sanity checks).
  6. Paggamit ug bulag nga pantalan para sa "admin" o "pagdumala" kung ang teknolohiya stack (e.g. Java/Spring) nagtugot niini, sa pagbulag sa panglawas ug metrics management gikan sa regular nga trapiko:
    • pero ayaw kalimti ang point 2.
  7. ΠŸΡ€ΠΈ нСобходимости readiness probe ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для Ρ€Π°Π·ΠΎΠ³Ρ€Π΅Π²Π°/Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ кэша ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ состояния 503, ΠΏΠΎΠΊΠ° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ Π½Π΅ «разогрССтся»:
    • Girekomenda ko usab nga basahon nimo ang bag-ong tseke startupProbe, nagpakita sa bersyon 1.16 (ΠΌΡ‹ писали ΠΎ Π½Π΅ΠΉ Π½Π° русском dinhi - gibanabana. transl.).

Mga Kaayuhan

  1. НС ΠΏΠΎΠ»Π°Π³Π°ΠΉΡ‚Π΅ΡΡŒ Π½Π° внСшниС зависимости (sama sa mga bodega sa datos) kung nagpadagan sa mga pagsulay sa pagkaandam/kabuhayan - mahimo’g mosangput kini sa mga kapakyasan sa kaskad:
    • Π² качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° возьмСм stateful-сСрвис REST с 10-ю pod’ами, зависящими ΠΎΡ‚ ΠΎΠ΄Π½ΠΎΠΉ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Postgres: ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° зависит ΠΎΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ Π‘Π”, всС 10 pod’ов ΠΌΠΎΠ³ΡƒΡ‚ ΡƒΠΏΠ°ΡΡ‚ΡŒ, Ссли Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ‚ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ° Π² сСти/Π½Π° сторонС Π‘Π” β€” ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ всС это заканчиваСтся Ρ…ΡƒΠΆΠ΅, Ρ‡Π΅ΠΌ ΠΌΠΎΠ³Π»ΠΎ Π±Ρ‹;
    • ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Spring Data ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ провСряСт соСдинСниС с Π‘Π”*;

      * Π’Π°ΠΊΠΎΠ²ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Spring Data Redis (ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅, ΠΎΠ½ΠΎ Π±Ρ‹Π»ΠΎ Ρ‚Π°ΠΊΠΈΠΌ, ΠΊΠΎΠ³Π΄Π° я провСрял Π² ΠΏΡ€ΠΎΡˆΠ»Ρ‹ΠΉ Ρ€Π°Π·), Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π»ΠΎ ΠΊ «катастрофичСскому» сбою: ΠΊΠΎΠ³Π΄Π° Π½Π° ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ΅ врСмя Redis оказался нСдоступСн, всС pod’ы Β«ΡƒΠΏΠ°Π»ΠΈΒ».

    • Ang "eksternal" niini nga diwa mahimo usab nga magpasabot sa ubang mga pod nga parehas nga aplikasyon, nga mao, ang tseke kinahanglan dili magdepende sa kahimtang sa ubang mga pod sa parehas nga cluster aron malikayan ang mga pag-crash sa cascading:
      • Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π²Π°Ρ€ΡŒΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ для ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ с распрСдСлСнным состояниСм (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, in-memory-ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² pod’ах).
  2. НС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ liveness probe alang sa mga pod (mga eksepsiyon kay mga kaso kung gikinahanglan gyud kini ug hingpit ka nga nakahibalo sa mga detalye ug mga sangputanan sa ilang paggamit):
    • Ang liveness probe makatabang sa pagbawi sa gibitay nga mga sudlanan, apan tungod kay ikaw adunay bug-os nga kontrol sa imong aplikasyon, ang mga butang sama sa gibitay nga mga proseso ug mga deadlock kinahanglan nga dili mahitabo: ang labing maayo nga alternatibo mao ang tinuyo nga pag-crash sa aplikasyon ug ibalik kini sa kaniadto nga makanunayon nga kahimtang;
    • Π½Π΅ΡƒΠ΄Π°Π²ΡˆΠ°ΡΡΡ liveness probe ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ пСрСзапуску ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°, Ρ‚Π΅ΠΌ самым ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ усугубляя послСдствия ошибок, связанных с Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ: пСрСзапуск ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ΠΏΡ€ΠΎΡΡ‚ΠΎΡŽ (ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅, Π½Π° врСмя запуска прилоТСния, скаТСм, Π½Π° 30 с лишним сСкунд), вызывая Π½ΠΎΠ²Ρ‹Π΅ ошибки, увСличивая Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ ΠΈ ΠΏΠΎΠ²Ρ‹ΡˆΠ°Ρ Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΈΡ… сбоя, ΠΈ Ρ‚.Π΄.;
    • liveness-ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π² сочСтании с внСшнСй Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒΡŽ β€” Ρ…ΡƒΠ΄ΡˆΠ°Ρ ΠΈΠ· Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΉ, грозящая каскадными ΠΎΡ‚ΠΊΠ°Π·Π°ΠΌΠΈ: Π½Π΅Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ° Π½Π° сторонС Π‘Π” ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ пСрСзапуску всСх Π²Π°ΡˆΠΈΡ… ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ²!
  3. Parameter sa liveness ug kaandam checks kinahanglan nga lahi:
    • mahimo nimong gamiton ang liveness probe nga adunay parehas nga pagsusi sa kahimsog, apan mas taas nga sukaranan sa pagtubag (failureThreshold), Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Ρ‚ΡŒ статус not-ready послС 3 ΠΏΠΎΠΏΡ‹Ρ‚ΠΎΠΊ ΠΈ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ liveness probe провалился послС 10 ΠΏΠΎΠΏΡ‹Ρ‚ΠΎΠΊ;
  4. НС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ exec-ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ с Π½ΠΈΠΌΠΈ связаны извСстныС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, приводящиС ΠΊ появлСнию Π·ΠΎΠΌΠ±ΠΈ-процСссов:

Sumaryo

  • Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ readiness probes, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° pod Π³ΠΎΡ‚ΠΎΠ² ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ.
  • Gamita lang ang liveness probes kung gikinahanglan gyud kini.
  • Ang dili husto nga paggamit sa mga probe sa pagkaandam/liveness mahimong mosangpot sa pagkunhod sa pagkaanaa ug mga kapakyasan sa cascading.

Ang liveness probe sa Kubernetes mahimong delikado

Dugang nga mga materyal sa hilisgutan

ОбновлСниС β„–1 ΠΎΡ‚ 2019-09-29

Mahitungod sa init nga mga sudlanan alang sa paglalin sa database: добавлСна сноска.

EJ Π½Π°ΠΏΠΎΠΌΠ½ΠΈΠ» ΠΌΠ½Π΅ ΠΎ PDB: ΠΎΠ΄Π½Π° ΠΈΠ· Π±Π΅Π΄ liveness-ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ β€” отсутствиС ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ†ΠΈΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ pod’ами. Π’ Kubernetes Π΅ΡΡ‚ΡŒ Pod Disruption Budgets (PDB) aron limitahan ang gidaghanon sa dungan nga mga kapakyasan nga masinati sa usa ka aplikasyon, bisan pa ang mga tseke wala magtagad sa PDB. Sa tinuud, mahimo namon isulti ang mga K8 nga "I-restart ang usa ka pod kung mapakyas ang pagsulay niini, apan ayaw i-restart silang tanan aron malikayan ang paghimo sa mga butang nga mas grabe."

Bryan ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ сформулировал: Β«Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ liveness-Π·ΠΎΠ½Π΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΊΠΎΠ³Π΄Π° Ρ‚ΠΎΡ‡Π½ΠΎ Π·Π½Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ Π»ΡƒΡ‡ΡˆΠ΅Π΅, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, β€” это Β«ΡƒΠ±ΠΈΡ‚ΡŒΒ» ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Β» (ΠΎΠΏΡΡ‚ΡŒ ΠΆΠ΅, ΡƒΠ²Π»Π΅ΠΊΠ°Ρ‚ΡŒΡΡ Π½Π΅ стоит).

Ang liveness probe sa Kubernetes mahimong delikado

ОбновлСниС β„–2 ΠΎΡ‚ 2019-09-29

Mahitungod sa pagbasa sa dokumentasyon sa dili pa gamiton: Gibuhat nako ang katugbang nga hangyo (hangyo sa bahin) aron idugang ang dokumentasyon bahin sa liveness probes.

PS gikan sa tighubad

Basaha usab sa among blog:

Source: www.habr.com

Idugang sa usa ka comment