Сбой развертывания Kubernetes с помощью «Не удалось создать изолированную программную среду под» в GKE - PullRequest
1 голос
/ 11 февраля 2020

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

Failed create pod sandbox: rpc error: code = Unknown desc = failed to create containerd task: OCI runtime create failed: container_linux.go:346: starting container process caused "process_linux.go:319: getting the final child's pid from pipe caused \"read init-p: connection reset by peer\"": unknown

Кластер не загружен вообще, и на нем достаточно свободного диска и памяти и CPU.

Никаких других проблем в журналах pod / cluster не обнаружено.

Ответы [ 2 ]

2 голосов
/ 11 февраля 2020

В конечном итоге проблема была в развертывании YAML.

Если вы столкнулись с подобной проблемой, проверьте раздел ресурсов и убедитесь, что он должен исправить синтаксис, который можно найти здесь: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

В моем случае проблема заключалась в значении памяти:

Рабочий пример (обратите внимание на Mi):

resources:
    limits:
      cpu: 500m
      memory: 256Mi
    requests:
      cpu: 5m
      memory: 256Mi

Исходное определение ресурсов (BAD SYNTAX):

resources:
    limits:
      cpu: 500m
      memory: 256m
    requests:
      cpu: 5m
      memory: 256m

Я надеюсь, что это поможет другим членам сообщества в будущем, так как мне понадобилось довольно много времени, чтобы найти root причина в моем случае ...

0 голосов
/ 11 февраля 2020

Ресурс ОЗУ измеряется в байтах . Вы можете express RAM в виде простого целого числа или целого числа с фиксированной точкой с одним из следующих суффиксов: E, P, T, G, M, K, Ei, Pi, Ti, Gi, Mi, Ki .

См. Значение памяти в документах Kubernetes

Ресурсы ЦП определены в милликорах . Допускаются дробные значения, и вы можете использовать суффикс m, чтобы обозначать mili при определении ограничений ЦП. Например, 100 млн. Процессоров - это 100 млн. Процессоров, и это то же самое, что и 0,1 ЦП.

Пример : если для работы вашего контейнера требуется одно полное ядро, вы должны указать значение «1000 м». ». Если вашему контейнеру требуется только ¼ ядра, вы должны указать значение «250 м».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...