AWS EKS kubectl - не найдено ресурсов в пространстве имен по умолчанию - PullRequest
1 голос
/ 10 октября 2019

Попытка настроить кластер EKS. Произошла ошибка (AccessDeniedException) при вызове DescribeCluster operation: Учетной записи xxx не разрешено использовать эту службу. Эта ошибка пришла из CLI, на консоли я смог создать кластер и все успешно. Я вошел в систему как root user (это просто моя личная учетная запись).

Там написано Учетная запись , так что звучит так, будто это не проблема с пользователем / разрешениями? Нужно ли включать мою учетную запись для этой услуги? Я не вижу такой опции.

Также, если войти в систему как пользователь (а не как root) - я смогу увидеть все, что было ранее создано как root. Теперь я создал пользователя и назначил права администратора и eks *. Я проверил это , когда я вхожу в систему как пользователь - я вижу все.

Aws cli настроен с правами суперпользователя ( Я думаю ) - поэтому я должен вернуться и отменить все это и просто использовать этого пользователя.

Обновление 1
Я переделал / перезапустил все, включая настройки пользователя и awscli - простоЧтобы убедиться. Но проблема все еще не решена.

Существует возможность создать файл вручную - это наконец-то сработало.

И я смог: kubectl get svc

ИМЯ ТИП КЛАСТЕР-IP ВНЕШНИЙ-IP-ПОРТ (S) ВОЗРАСТ КУБЕРНЕТЕС ClusterIP 10.100.0.1 443 / TCP 48m

KUBECONFIG: Я настроил env: KUBECONFIG

$env:KUBECONFIG="C:\Users\sbaha\.kube\config-EKS-nginixClstr"
$Env:KUBECONFIG
C:\Users\sbaha\.kube\config-EKS-nginixClstr
kubectl config get-contexts
CURRENT   NAME   CLUSTER      AUTHINFO   NAMESPACE
*         aws    kubernetes   aws
kubectl config current-context
aws

Насколько я понимаю, я должен видеть и контексты aws, и мой EKS-nginixClstr, но я вижу только aws - это (также) проблема?

Следующий шагэто создать и добавить рабочие узлы. Я правильно обновил узел arn в файле .yaml: kubectl apply -f ~\.kube\aws-auth-cm.yaml
configmap/aws-auth configured Так что, возможно, это сработало.

Но затем это не удалось:

kubectl get nodes Ресурсы не найдены в пространстве имен по умолчанию.

На консоли AWS NodeGrp показывает- Создать завершено . Также в CLI kubectl get nodes --watch - он даже не возвращает .

Так что это должно быть отлажено дальше- (никогда не заканчивается)

aws-auth-cm.yaml

apiVersion: v1
kind: ConfigMap
metadata:
  name: aws-auth
  namespace: kube-system
data:
  mapRoles: |
    - rolearn: arn:aws:iam::arn:aws:iam::xxxxx:role/Nginix-NodeGrpClstr-NodeInstanceRole-1SK61JHT0JE4
      username: system:node:{{EC2PrivateDNSName}}
      groups:
        - system:bootstrappers
        - system:nodes

1 Ответ

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

Эта проблема была связана с неправильной версией eksctl - она ​​должна быть не ниже 0.7.0. Документация утверждает это, и я знал это, но изначально все, что я делал, не могло выйти за пределы 0.6.0. Вы можете настроить CLI-интерфейс AWS для региона, который поддерживает EKS. Как только вы получите 0.7.0, эта проблема будет решена.
В целом, чтобы заставить EKS работать - у вас должен быть один и тот же пользователь и на консоли, и на CLI, и вы должны работать в регионе, который поддерживает EKS, и иметь правильную версию eksctl 0.7. 0.

...