Незапланируемые модули Kubernetes на GCP с использованием автоскейлера

# #kubernetes #google-cloud-platform #google-kubernetes-engine #kubernetes-pod

Вопрос:

У меня есть кластер Kubernetes с автоматическими масштабируемыми блоками, использующими автопилот. Внезапно они перестают масштабироваться, я новичок в Kubernetes, и я не знаю точно, что делать или что нужно вставить в консоль, чтобы показать помощь.

Модули автоматически не поддаются планированию, и внутри кластера его состояние находится в состоянии Ожидания, а не выполняется, и он не позволяет мне входить или взаимодействовать.

Также я не могу удалить или остановить их на консоли GCP. Там нет проблем с памятью или недостаточным процессором, потому что на нем работает не так много серверов.

Кластер работал, как и ожидалось, до этой проблемы, с которой я столкнулся.

 Namespace: default Priority: 0 Node: lt;nonegt; Labels: app=odoo-service  pod-template-hash=5bd88899d7 Annotations: seccomp.security.alpha.kubernetes.io/pod: runtime/default Status: Pending IP:  IPs: lt;nonegt; Controlled By: ReplicaSet/odoo-cluster-dev-5bd88899d7 Containers:  odoo-service:  Image: us-central1-docker.pkg.dev/adams-dev/adams-odoo/odoo-service:v58  Port: lt;nonegt;  Host Port: lt;nonegt;  Limits:  cpu: 2  ephemeral-storage: 1Gi  memory: 8Gi  Requests:  cpu: 2  ephemeral-storage: 1Gi  memory: 8Gi  Environment:  ODOO_HTTP_SOCKET_TIMEOUT: 30  Mounts:  /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-zqh5r (ro)  cloud-sql-proxy:  Image: gcr.io/cloudsql-docker/gce-proxy:1.17  Port: lt;nonegt;  Host Port: lt;nonegt;  Command:  /cloud_sql_proxy  -instances=adams-dev:us-central1:odoo-test=tcp:5432  Limits:  cpu: 1  ephemeral-storage: 1Gi  memory: 2Gi  Requests:  cpu: 1  ephemeral-storage: 1Gi  memory: 2Gi  Environment: lt;nonegt;  Mounts:  /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-zqh5r (ro) Conditions:  Type Status  PodScheduled False  Volumes:  kube-api-access-zqh5r:  Type: Projected (a volume that contains injected data from multiple sources)  TokenExpirationSeconds: 3607  ConfigMapName: kube-root-ca.crt  ConfigMapOptional: lt;nilgt;  DownwardAPI: true QoS Class: Guaranteed Node-Selectors: lt;nonegt; Tolerations: node.kubernetes.io/not-ready:NoExecute op=Exists for 300s  node.kubernetes.io/unreachable:NoExecute op=Exists for 300s Events:  Type Reason Age From Message  ---- ------ ---- ---- -------  Normal NotTriggerScaleUp 28m (x248 over 3h53m) cluster-autoscaler pod didn't trigger scale-up (it wouldn't fit if a new node is added): 4 in backoff after failed scale-up, 2 Insufficient cpu, 2 Insufficient memory  Normal NotTriggerScaleUp 8m1s (x261 over 3h55m) cluster-autoscaler pod didn't trigger scale-up (it wouldn't fit if a new node is added): 2 Insufficient memory, 4 in backoff after failed scale-up, 2 Insufficient cpu  Normal NotTriggerScaleUp 3m (x1646 over 3h56m) cluster-autoscaler pod didn't trigger scale-up (it wouldn't fit if a new node is added): 2 Insufficient cpu, 2 Insufficient memory, 4 in backoff after failed scale-up  Warning FailedScheduling 20s (x168 over 3h56m) gke.io/optimize-utilization-scheduler 0/2 nodes are available: 2 Insufficient cpu, 2 Insufficient memory.   Events:  Type Reason Age From Message  ---- ------ ---- ---- -------  Normal NotTriggerScaleUp 28m (x250 over 3h56m) cluster-autoscaler pod didn't trigger scale-up (it wouldn't fit if a new node is added): 2 Insufficient memory, 4 in backoff after failed scale-up, 2 Insufficient cpu  Normal NotTriggerScaleUp 8m2s (x300 over 3h55m) cluster-autoscaler pod didn't trigger scale-up (it wouldn't fit if a new node is added): 4 in backoff after failed scale-up, 2 Insufficient cpu, 2 Insufficient memory  Warning FailedScheduling 5m21s (x164 over 3h56m) gke.io/optimize-utilization-scheduler 0/2 nodes are available: 2 Insufficient cpu, 2 Insufficient memory.  Normal NotTriggerScaleUp 3m1s (x1616 over 3h55m) cluster-autoscaler pod didn't trigger scale-up (it wouldn't fit if a new node is added): 2 Insufficient cpu, 2 Insufficient memory, 4 in backoff after failed scale-up  

Я не знаю, как много я могу отладить или исправить.

Комментарии:

1. 0/2 nodes are available: 2 Insufficient cpu, 2 Insufficient memory. В вашем кластере просто недостаточно ресурсов процессора и памяти для выполнения запросов/ограничений на 1CPU и 2 ГБ памяти. Увеличьте пропускную способность.

2. Вы уверены, что используете автопилот?

3. Автопилот @GariSingh включен в конфигурации кластеров на консоли GCP.

4. @Lukman Как я могу его увеличить?

5. @ChuxRincon в GCP. Это уже за пределами Кубернетеса.

Ответ №1:

Модули не удалось запланировать ни на одном узле, потому что ни на одном из узлов нет доступного процессора.

Автоматический масштабер кластера попытался масштабироваться, но он отклонился после неудачной попытки масштабирования, что указывает на возможные проблемы с масштабированием групп управляемых экземпляров, которые являются частью пула узлов.

Автоматический масштабер кластера попытался масштабироваться, но по мере достижения предела квоты новые узлы не могут быть добавлены.

Вы не можете видеть виртуальные машины GKE с автопилотом, которые учитываются в соответствии с вашей квотой.

Попробуйте создать кластер автопилотов в другом регионе. Если ваши потребности больше не удовлетворяются кластером автопилота, выберите стандартный кластер.