Kubernetes theory
March 25, 2023
Pod Conditions
Это массив данных в котором отображается текущий статус пода.
Представляет из себя массив данных;
Данную информацию собирает kubelet;
Посмотреть в какой кондиции находится под можно в его дескрайбе.
Conditions: Type Status Initialized True Ready True ContainersReady True PodScheduled True
По этому выводу можно понять в каком состоянии находится под. И если под не заработал, то понимать куда копать.
- PodScheduled - показывает был ли под зашедулен на ноду или нет;
- ContainersReady - показывает работает ли контейнер в поде;
- Ready - показывает готов ли к работе сам под или нет;
- Initialized - показывает успешно ли отработали init контейнеры или нет.
Conditions, где все параметры в True, вовсе не означает, что с контейнером в поде всё в порядке.
kubectl describe po whatsapp-service-0 -n 25ebbbbd-b92e-493c-bc11-4cbc37174543 Name: whatsapp-service-0 Namespace: 25ebbbbd-b92e-493c-bc11-4cbc37174543 Priority: 0 Node: cl14o7fdh8c3k5bs5f8p-efod/10.41.1.9 Start Time: Sat, 13 May 2023 10:56:05 +0300 Labels: app.kubernetes.io/instance=whatsapp-service app.kubernetes.io/name=whatsapp-service controller-revision-hash=whatsapp-service-558b59bc4c statefulset.kubernetes.io/pod-name=whatsapp-service-0 Annotations: <none> Status: Terminating (lasts 17h) Termination Grace Period: 30s IP: 10.100.195.41 IPs: IP: 10.100.195.41 Controlled By: StatefulSet/whatsapp-service Containers: whatsapp-service: Container ID: containerd://1f6d93babec28362608c839484379fd127a49410123ffad018fd19ee9c828ebe Image: registry.code.medhq.ru/nq/whatsapp-service:latest Image ID: registry.code.medhq.ru/nq/whatsapp-service@sha256:8fffbfaf13d0d74a63a29a4c4eae3e1a7f7f31ea53368e8909c762a785be1c56 Ports: 3020/TCP, 3021/TCP Host Ports: 0/TCP, 0/TCP State: Running Started: Sun, 14 May 2023 16:28:16 +0300 Last State: Terminated Reason: Error Exit Code: 137 Started: Sat, 13 May 2023 10:56:22 +0300 Finished: Sun, 14 May 2023 16:28:15 +0300 Ready: True Restart Count: 1 Limits: cpu: 400m memory: 1Gi Requests: cpu: 200m memory: 300Mi Liveness: http-get http://:http/api/v1/instance/25ebbbbd-b92e-493c-bc11-4cbc37174543/health-check delay=60s timeout=2s period=10s #success=1 #failure=3 Readiness: http-get http://:http/api/v1/instance/25ebbbbd-b92e-493c-bc11-4cbc37174543/health-check delay=60s timeout=2s period=10s #success=1 #failure=3 Environment Variables from: whatsapp-service Secret Optional: false Environment: CLIENT_STATE_CALLBACK_URL: https:/qoob.store/api/v1/smsprovider/whatsapp/instance/callback HTTP_HOST: 0.0.0.0 HTTP_PORT: 3020 INCOME_MESSAGE_CALLBACK_URL: MAX_TEXT_MESSAGE_LENGTH: 10000 NODE_ENV: production REDIS_URL: redis-01.inqana-prod-k8s.yclocal:6379 ROUTER_STATE_CALLBACK_URL: https://wa.inqana.com/router/api/v1/instance/wa_state UID: 25ebbbbd-b92e-493c-bc11-4cbc37174543 WS_HOST: 0.0.0.0 WS_PORT: 3021 WWEBJS_CONSOLE_EVENTS: false WWEBJS_DIR: /wwebjs-sessions Mounts: /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-95vfs (ro) /wwebjs-sessions from shared-whatsapp-service (rw) Conditions: Type Status Initialized True Ready True ContainersReady True PodScheduled True Volumes: shared-whatsapp-service: Type: PersistentVolumeClaim (a reference to a PersistentVolumeClaim in the same namespace) ClaimName: shared-whatsapp-service-whatsapp-service-0 ReadOnly: false kube-api-access-95vfs: Type: Projected (a volume that contains injected data from multiple sources) TokenExpirationSeconds: 3607 ConfigMapName: kube-root-ca.crt ConfigMapOptional: <nil> DownwardAPI: true QoS Class: Burstable Node-Selectors: nodes-role=wa Tolerations: node.kubernetes.io/not-ready:NoExecute op=Exists for 300s node.kubernetes.io/unreachable:NoExecute op=Exists for 300s nodes-role=wa:NoSchedule Events: <none>