web-dev-qa-db-fra.com

erreur: le serveur n'a pas le type de ressource "svc"

Administrateurs-MacBook-Pro: ~ Harshin $ kubectl cluster-info Le maître Kubernetes s'exécute à l'adresse http: // localhost: 8080 .

Pour approfondir le débogage et diagnostiquer les problèmes de cluster, utilisez 'kubectl cluster-info dump' .. Erreur: le serveur n'a pas de type de ressource "services"

je suis ce document 

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

pendant que j'essaie de tester ma configuration à l'étape 11 de configurer kubectl pour 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>"
11
Harshin_

Remplacez "name: kubernetes" par le nom réel de votre cluster. 

Voici ce que j'ai fait pour le résoudre ...

1.Enabled verbose pour vous assurer que les fichiers de configuration sont lus correctement. 

kubectl get svc --v = 10

2. Modifié le fichier comme ci-dessous:

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"
5
Swapnil Goswami

J'ai été confronté à un problème similaire, mais ce n'est pas une solution directe, mais une solution de contournement. Utilisez les commandes AWS cli pour créer un cluster plutôt que la console. Selon la documentation, l'utilisateur ou le rôle qui crée le cluster aura un accès principal.

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

Assurez-vous que le rôle de service EKS dispose d'un accès IAM (j'ai donné Full, mais AssumeRole le fera, je suppose). 

Le rôle de la machine EC2 doit avoir eks:CreateCluster et un accès IAM. Travaillé pour moi :)

3
Kailas J C

J'avais ce problème et je trouvais qu'il était causé par le paramètre de clé par défaut dans ~/.aws/credentials . Nous avons quelques comptes AWS pour différents clients, ainsi qu'un compte en mode bac à sable pour nos propres tests et recherches. Donc, notre fichier de références ressemble à ceci:

[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

Je déconnais notre compte sandbox mais la section [default] pointait vers un autre compte . Une fois que j'ai mis les clés pour sandbox dans la section par défaut, la commande "kubectl get svc" a bien fonctionné.

Il semble que nous ayons besoin d’un moyen de dire à aws-iam-authentator quelles clés utiliser de la même manière que --profile dans le aws cli.

2
yerachw

Je suppose que vous devez supprimer le commentaire "env" et modifier votre référence à ~/.aws/credentials Parce que votre aws_iam_authenticator requiert des informations d'identification AWS exactes.

Reportez-vous à ce document: https://docs.aws.Amazon.com/eks/latest/userguide/create-kubeconfig.html

Pour que l'Authentificateur AWS IAM pour Kubernetes utilise toujours un profil de données d'identification AWS nommé spécifique (au lieu de la chaîne du fournisseur de références AWS par défaut), supprimez la mise en commentaire des lignes d'environnement et remplacez-le par le nom du profil à utiliser.

0
mys