FailedScheduling: доступно 0/3 узлов: 3 Недостаточно модулей - PullRequest
0 голосов
/ 06 октября 2019

Я пытаюсь развернуть свое приложение NodeJS на EKS и запустить 3 модуля в одном и том же контейнере.

Вот сообщение об ошибке:

$ kubectl get pods
NAME                                 READY   STATUS             RESTARTS   AGE
cm-deployment-7c86bb474c-5txqq       0/1     Pending            0          18s
cm-deployment-7c86bb474c-cd7qs       0/1     ImagePullBackOff   0          18s
cm-deployment-7c86bb474c-qxglx       0/1     ImagePullBackOff   0          18s
public-api-server-79b7f46bf9-wgpk6   0/1     ImagePullBackOff   0          2m30s

$ kubectl describe pod cm-deployment-7c86bb474c-5txqq
Events:
  Type     Reason            Age                  From               Message
  ----     ------            ----                 ----               -------
  Warning  FailedScheduling  23s (x4 over 2m55s)  default-scheduler  0/3 nodes are available: 3 Insufficient pods.

Итак, говорится, что 0/3 nodes are available Однако, если я запускаю kubectl get nodes --watch

$ kubectl get nodes --watch
NAME                                                 STATUS   ROLES    AGE    VERSION
ip-192-168-163-73.ap-northeast-2.compute.internal    Ready    <none>   6d7h   v1.14.6-eks-5047ed
ip-192-168-172-235.ap-northeast-2.compute.internal   Ready    <none>   6d7h   v1.14.6-eks-5047ed
ip-192-168-184-236.ap-northeast-2.compute.internal   Ready    <none>   6d7h   v1.14.6-eks-5047ed

3 модуля работают.

вот мои конфигурации:

aws-auth-cm.yaml

apiVersion: v1
kind: ConfigMap
metadata:
  name: aws-auth
  namespace: kube-system
data:
  mapRoles: |
    - rolearn: [MY custom role ARN]
      username: system:node:{{EC2PrivateDNSName}}
      groups:
        - system:bootstrappers
        - system:nodes


deployment.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: cm-deployment
spec:
  replicas: 3
  selector:
    matchLabels:
      app: cm-literal
  template:
    metadata:
      name: cm-literal-pod
      labels:
        app: cm-literal
    spec:
      containers:
        - name: cm
          image: docker.io/cjsjyh/public_test:1
          imagePullPolicy: Always
          ports:
            - containerPort: 80
          #imagePullSecrets:
          #  - name: regcred
          env:
            [my environment variables]

Я применил оба. yaml files

Как я могу решить эту проблему? Спасибо

1 Ответ

0 голосов
/ 06 октября 2019

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

Глядя на Docker Hub страница там нет тега 1, просто latest.

Таким образом, удаление тега или замена 1 на latest может решить вашу проблему.

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