EKS AWS: не удается подключить рабочий узел

Я немного застрял на этапе запуска рабочего узла в руководстве AWS EKS. И, честно говоря, на данный момент, я не знаю, что не так. Когда я делаю kubectl получить SVC, я получаю свой кластер, так что это хорошая новость. У меня есть это в моем aws-auth-cm.yaml

apiVersion: v1
kind: ConfigMap
metadata:
  name: aws-auth
  namespace: kube-system
data:
  mapRoles: |
    - rolearn: arn:aws:iam::Account:role/rolename
      username: system:node:{{EC2PrivateDNSName}}
      groups:
        - system:bootstrappers
        - system:nodes

Вот мой конфиг в.kube

apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: CERTIFICATE
    server: server
  name: arn:aws:eks:region:account:cluster/clustername
contexts:
- context:
    cluster: arn:aws:eks:region:account:cluster/clustername
    user: arn:aws:eks:region:account:cluster/clustername
  name: arn:aws:eks:region:account:cluster/clustername
current-context: arn:aws:eks:region:account:cluster/clustername
kind: Config
preferences: {}
users:
- name: arn:aws:eks:region:account:cluster/clustername
  user:
    exec:
      apiVersion: client.authentication.k8s.io/v1alpha1
      args:
      - token
      - -i
      - clustername
      command: aws-iam-authenticator.exe

Я запустил экземпляр EC2 с рекомендованным AMI.

Некоторые вещи, на которые стоит обратить внимание:

  • Я запустил свой кластер с CLI,
  • Я создал пару ключей,
  • Я не использую Стек Cloudformation,
  • Я прикрепил эти политики к роли моего EC2: AmazonEKS_CNI_Policy, AmazonEC2ContainerRegistryReadOnly, AmazonEKSWorkerNodePolicy.

Это моя первая попытка в kubernetes и EKS, так что, пожалуйста, имейте это в виду:). Спасибо за вашу помощь!

2 ответа

Ваш конфигурационный файл и файл аутентификации выглядят правильно. Может быть, есть проблема с назначением групп безопасности? Можете ли вы поделиться точными шагами, которые вы выполнили для создания кластера и рабочих узлов? И какая-то особая причина, почему вам пришлось использовать CLI вместо консоли? Я имею в виду, если это ваша первая попытка EKS, то вам, вероятно, следует попытаться настроить кластер с помощью консоли хотя бы один раз.

Иногда по какой-либо причине конфигурационная карта aws_auth не применяется автоматически. Поэтому нам нужно добавить их вручную. У меня была эта проблема, поэтому оставьте ее здесь на случай, если она кому-то поможет.

  1. Убедитесь, что вы уже применили aws-auth ConfigMap.

    kubectl describe configmap -n kube-system aws-auth

Если вы получаете сообщение об ошибке «Ошибка сервера (NotFound): configmaps« aws-auth »не найден», продолжайте

  1. Загрузите карту конфигурации.

    curl -o aws-auth-cm.yaml https://s3.us-west-2.amazonaws.com/amazon-eks/cloudformation/2020-10-29/aws-auth-cm.yaml

  2. Откройте файл в своем любимом текстовом редакторе. Замените <ARN роли экземпляра (не профиля экземпляра)> на имя ресурса Amazon (ARN) роли IAM, связанной с вашими узлами, и сохраните файл.

  3. Примените конфигурацию.

    kubectl apply -f aws-auth-cm.yaml

  4. Следите за состоянием ваших узлов и ждите, пока они перейдут в состояние готовности.

    kubectl get nodes --watch

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

Больше информации здесь

Другие вопросы по тегам