ошибка: на сервере нет типа ресурса "svc" - PullRequest
0 голосов
/ 02 июля 2018

Admins-MacBook-Pro: ~ Harshin $ kubectl cluster-info Мастер Kubernetes работает на http://localhost:8080

Для дальнейшей отладки и диагностики проблем кластера используйте 'kubectl cluster-info dump'. ошибка: на сервере нет типа ресурса "services"

Я слежу за этим документом

https://docs.aws.amazon.com/eks/latest/userguide/getting-started.html?refid=gs_card

пока я пытаюсь проверить свою конфигурацию на шаге 11 настройки kubectl для amazon eks

apiVersion: v1
clusters:
- cluster:
    server: ...
    certificate-authority-data: ....
  name: kubernetes
contexts:
- context:
    cluster: kubernetes
    user: aws
  name: aws
current-context: aws
kind: Config
preferences: {}
users:
- name: aws
  user:
    exec:
      apiVersion: client.authentication.k8s.io/v1alpha1
      command: heptio-authenticator-aws
      args:
        - "token"
        - "-i"
        - "kunjeti"
        # - "-r"
        # - "<role-arn>"
      # env:
        # - name: AWS_PROFILE
        #   value: "<aws-profile>"

Ответы [ 4 ]

0 голосов
/ 13 ноября 2018

У меня была эта проблема, и я обнаружил, что она была вызвана настройкой ключа по умолчанию в ~ / .aws / credentials. У нас есть несколько учетных записей AWS для разных клиентов, а также учетная запись «песочницы» для нашего собственного тестирования и исследований. Итак, наш файл учетных данных выглядит примерно так:

[default]

aws_access_key_id = abc

aws_secret_access_key = xyz

region=us-east-1


[cpproto]

aws_access_key_id = abc

aws_secret_access_key = xyz

region=us-east-1

[sandbox]

aws_access_key_id = abc

aws_secret_access_key = xyz

region=us-east-1

Я возился с нашей учетной записью песочницы, но раздел [по умолчанию] указывал на другую учетную запись. Как только я поместил ключи для песочницы в раздел по умолчанию, команда «kubectl get svc» работала нормально.

Кажется, нам нужен способ сообщить aws-iam-authenticator, какие ключи использовать так же, как --profile в aws cli.

0 голосов
/ 15 октября 2018

Полагаю, вам следует раскомментировать элемент env и изменить ссылку на ~ / .aws / credentials. Потому что ваш aws_iam_authenticator требует точных учетных данных AWS.

См. Этот документ: https://docs.aws.amazon.com/eks/latest/userguide/create-kubeconfig.html

Чтобы в AWS IAM Authenticator для Kubernetes всегда использовался определенный именованный профиль учетных данных AWS (вместо стандартной цепочки поставщиков учетных данных AWS), раскомментируйте строки env и замените имя профиля для использования.

0 голосов
/ 26 октября 2018

Я сталкивался с подобной проблемой, однако это не прямое решение, а обходной путь. Используйте команды AWS cli для создания кластера, а не консоли. Согласно документации, пользователь или роль, которая создает кластер, будет иметь основной доступ.

aws eks create-cluster --name <cluster name> --role-arn <EKS Service Role> --resources-vpc-config subnetIds=<subnet ids>,securityGroupIds=<security group id>

Убедитесь, что служебная роль EKS имеет доступ к IAM (я дал Full, но AssumeRole, я думаю, все равно).

Роль машины EC2 должна иметь eks:CreateCluster и доступ к IAM. Работал на меня:)

0 голосов
/ 03 августа 2018

Измените "имя: kubernetes" на фактическое имя вашего кластера.

Вот что я сделал, чтобы проработать это ...

1.Включено подробное, чтобы убедиться, что файлы конфигурации читаются правильно.

kubectl get svc --v = 10

2. Модифицированный файл, как показано ниже:

apiVersion: v1
clusters:
- cluster:
    server: XXXXX
    certificate-authority-data: XXXXX
  name: abc-eks
contexts:
- context:
    cluster: abc-eks
    user: aws
  name: aws
current-context: aws
kind: Config
preferences: {}
users:
- name: aws
  user:
    exec:
      apiVersion: client.authentication.k8s.io/v1alpha1
      command: aws-iam-authenticator
      args:
        - "token"
        - "-i"
        - "abc-eks"
        # - "-r"
        # - "<role-arn>"
      env:
        - name: AWS_PROFILE
          value: "aws"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...