Невозможно создать развертывание определений задач nginx в AWS Fargate с использованием virtual-kubelet - PullRequest
0 голосов
/ 16 мая 2019

Я не могу развернуть контейнеры nginx, используя kubectl, в AWS Fargate, используя virtual-kubelet. Я следую этому руководству: https://aws.amazon.com/blogs/opensource/aws-fargate-virtual-kubelet/. У меня проблема с Шагом 6: Создание объектов Kubernetes. Я хотел бы знать, почему контейнеры nginx находятся в состоянии ожидания и почему определения задач AWS Fargate не были созданы.

Ниже приведены некоторые из моих команд, которые я использовал. Я могу дать более подробную информацию по запросу.

# ./virtual-kubelet --provider aws --provider-config fargate.toml
...
2019/05/16 06:50:24 Received NodeDaemonEndpoints request.
ERRO[0000] TLS certificates not provided, not setting up pod http server  certPath= keyPath= node=virtual-kubelet operatingSystem=Linux provider=aws watchedNamespace=
INFO[0000] Initialized                                   node=virtual-kubelet operatingSystem=Linux provider=aws watchedNamespace=
INFO[0000] Created node                                  node=virtual-kubelet operatingSystem=Linux provider=aws watchedNamespace=
INFO[0000] Node leases not supported, falling back to only node status updates  node=virtual-kubelet operatingSystem=Linux provider=aws watchedNamespace=
INFO[0000] Pod cache in-sync                             node=virtual-kubelet operatingSystem=Linux provider=aws watchedNamespace=
2019/05/16 06:50:25 Received GetPods request.
2019/05/16 06:50:25 Responding to GetPods: [].
INFO[0000] starting workers                              node=virtual-kubelet operatingSystem=Linux provider=aws watchedNamespace=
INFO[0000] started workers                               node=virtual-kubelet operatingSystem=Linux provider=aws watchedNamespace=
# kubectl describe node virtual-kubelet
Events:
  Type     Reason               Age                   From              Message
  ----     ------               ----                  ----              -------
  Warning  FailedToCreateRoute  98s (x951 over 160m)  route_controller  (combined from similar events): Could not create route e1e32758-77a6-11e9-a68e-0a95bb07bfa2 100.96.4.0/24 for node virtual-kubelet after 47.871544ms: instance not found
# kubectl get nodes
NAME                                          STATUS   ROLES    AGE   VERSION
ip-172-20-47-10.eu-west-2.compute.internal    Ready    master   30h   v1.14.1
ip-172-20-47-242.eu-west-2.compute.internal   Ready    node     30h   v1.14.1
ip-172-20-59-102.eu-west-2.compute.internal   Ready    node     30h   v1.14.1
virtual-kubelet                               Ready    agent    33m   v1.13.1-vk-v0.9.0-40-g5b3190ac-dev
kubectl create -f nginx-deployment.yaml
# kubectl get deployments -o wide
# kubectl get pods -o wide
NAME                                READY   STATUS    RESTARTS   AGE   IP       NODE     NOMINATED NODE   READINESS GATES
nginx-deployment-c6695csfc-5f7bh    0/1     Pending   0          21m   <none>   <none>   <none>           <none>
nginx-deployment-c6695csfc-bwfb8    0/1     Pending   0          21m   <none>   <none>   <none>           <none>
nginx-deployment-c6695csfc-mcfvw    0/1     Pending   0          21m   <none>   <none>   <none>           <none>
# kubectl describe pod nginx-deployment-c6695csfc-5f7bh
Events:
  Type     Reason            Age                    From               Message
  ----     ------            ----                   ----               -------

Warning  FailedScheduling  2m11s (x191 over 22m)  default-scheduler  0/4 nodes are available: 1 Insufficient cpu, 1 node(s) had taints that the pod didn't tolerate, 3 node(s) didn't match node selector.

Обновление:

Затем я выполнил команду для добавления nodeSelector к моим узлам, используя следующую команду для каждого узла:

kubectl label nodes ip-172-20-47-15.eu-west-2.compute.internal type=virtual-kubelet

type = virtual-kubelet - это nodeSelector, указанный в файле манифеста nginx-deploy.yaml.

# kubectl get pods -o wide
NAME                               READY   STATUS    RESTARTS   AGE     IP           NODE                                          NOMINATED NODE   READINESS GATES
nginx-deployment-c6695csfc-5f7bh   1/1     Running   0          4m59s   100.96.2.7   ip-172-20-47-242.eu-west-2.compute.internal   <none>           <none>
nginx-deployment-c6695csfc-bwfb8   1/1     Running   0          4m59s   100.96.1.6   ip-172-20-59-102.eu-west-2.compute.internal   <none>           <none>
nginx-deployment-c6695csfc-mcfvw  1/1     Running   0          4m59s   100.96.2.8   ip-172-20-47-242.eu-west-2.compute.internal   <none>

Теперь, когда я захожу на AWS Fargate Dashboard, соответствующие определения задач не создаются, как показано в руководстве.

1 Ответ

1 голос
/ 17 мая 2019

Эта проблема решена. Мне удалось создать определения AWS Fargate, добавив группу ALB Security в файл fargate.toml и добавив допуски в файл nginx.deployment.yaml, как показано ниже:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
  labels:
    app: nginx
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.7.9
    tolerations:
    - key: virtual-kubelet.io/provider
      operator: Equal
      value: azure
      effect: NoSchedule
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...