Sobes.tech
Middle

Барои чӣ дар Kubernetes озмоишҳо истифода мешаванд?

sobes.tech AI

Ҷавоб аз AI

У Kubernetes выкарыстоўваюцца праверкі для вызначэння стану кантэйнераў і кіравання жыццёвым цыклам падоў. Яны дазваляюць кластару аўтаматычна рэагаваць на змены стану прыкладанняў, забяспечваючы іх даступнасць і стабільнасць.

Існуюць тры асноўныя тыпы праверак:

  • Liveness probe (Праверка жыццяздольнасці): Вызначае, ці працуе прыкладанне ўнутры кантэйнера. Калі liveness probe завяршаецца з памылкай, Kubernetes перазагружае кантэйнер.
  • Readiness probe (Праверка гатоўнасці): Вызначае, ці гатовы кантэйнер прымаць трафік. Калі readiness probe завяршаецца з памылкай, Kubernetes часова выключае пад з спісу даступных канчатковых кропак для сэрвісу, які накіроўвае трафік.
  • Startup probe (Пачатковая праверка): Вызначае, ці завершылася запуск прыкладання ў кантэйнеры. Можа выкарыстоўвацца для прыкладанняў, якія патрабуюць працяглага часу для ініцыялізацыі. Калі startup probe завяршаецца паспяхова, наступныя праверкі (liveness/readiness) пачынаюцца па раскладзе. Калі startup probe не ўдаецца ў вызначаны час, Kubernetes забівае і перазагружае кантэйнер.

Праверкі могуць быць рэалізаваны рознымі спосабамі:

  • ExecAction: Выконвае каманду ўнутры кантэйнера. Поспех вызначаецца па кодзе вяртання (0 - поспех, не 0 - памылка).
    # Прыклад ExecAction для liveness probe
    livenessProbe:
      exec:
        command:
        - cat
        - /tmp/healthy
      initialDelaySeconds: 5
      periodSeconds: 5
    
  • HTTPGetAction: Адпраўляе HTTP GET запыт да ўказанага порта і шляху кантэйнера. Поспех вызначаецца па кодзе стану HTTP (звычайна 2xx або 3xx).
    # Прыклад HTTPGetAction для readiness probe
    readinessProbe:
      httpGet:
        path: /ready
        port: 8080
      initialDelaySeconds: 5
      periodSeconds: 5
      failureThreshold: 3
    
  • TCPSocketAction: Паспрабуе ўсталяваць злучэнне па TCP сокету на ўказаны порт кантэйнера. Поспех вызначаецца па паспяховым усталяваным злучэнні.
    # Прыклад TCPSocketAction для liveness probe
    livenessProbe:
      tcpSocket:
        port: 8080
      initialDelaySeconds: 15
      periodSeconds: 20
    

Правільнае выкарыстанне праверак крытычна важна для надзейнасці і адчувальнасці прыкладанняў у Kubernetes.