web-dev-qa-db-fra.com

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

Obtenir error: the server doesn't have a resource type "svc" lors du test de la configuration kubectl en suivant ce guide:

https://docs.aws.Amazon.com/eks/latest/userguide/getting-started.html

Erreur détaillée

$ kubectl get svc -v=8

I0712 15:30:24.902035   93745 loader.go:357] Config loaded from file /Users/matt.canty/.kube/config-test
I0712 15:30:24.902741   93745 round_trippers.go:383] GET https://REDACTED.yl4.us-east-1.eks.amazonaws.com/api
I0712 15:30:24.902762   93745 round_trippers.go:390] Request Headers:
I0712 15:30:24.902768   93745 round_trippers.go:393]     User-Agent: kubectl/v1.10.3 (darwin/AMD64) kubernetes/2bba012
I0712 15:30:24.902773   93745 round_trippers.go:393]     Accept: application/json, */*
I0712 15:30:25.425614   93745 round_trippers.go:408] Response Status: 401 Unauthorized in 522 milliseconds
I0712 15:30:25.425651   93745 round_trippers.go:411] Response Headers:
I0712 15:30:25.425657   93745 round_trippers.go:414]     Content-Type: application/json
I0712 15:30:25.425662   93745 round_trippers.go:414]     Content-Length: 129
I0712 15:30:25.425670   93745 round_trippers.go:414]     Date: Thu, 12 Jul 2018 14:30:25 GMT
I0712 15:30:25.426757   93745 request.go:874] Response Body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"Unauthorized","reason":"Unauthorized","code":401}
I0712 15:30:25.428104   93745 cached_discovery.go:124] skipped caching discovery info due to Unauthorized
I0712 15:30:25.428239   93745 round_trippers.go:383] GET https://REDACTED.yl4.us-east-1.eks.amazonaws.com/api
I0712 15:30:25.428258   93745 round_trippers.go:390] Request Headers:
I0712 15:30:25.428268   93745 round_trippers.go:393]     Accept: application/json, */*
I0712 15:30:25.428278   93745 round_trippers.go:393]     User-Agent: kubectl/v1.10.3 (darwin/AMD64) kubernetes/2bba012
I0712 15:30:25.577788   93745 round_trippers.go:408] Response Status: 401 Unauthorized in 149 milliseconds
I0712 15:30:25.577818   93745 round_trippers.go:411] Response Headers:
I0712 15:30:25.577838   93745 round_trippers.go:414]     Content-Type: application/json
I0712 15:30:25.577854   93745 round_trippers.go:414]     Content-Length: 129
I0712 15:30:25.577868   93745 round_trippers.go:414]     Date: Thu, 12 Jul 2018 14:30:25 GMT
I0712 15:30:25.578876   93745 request.go:874] Response Body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"Unauthorized","reason":"Unauthorized","code":401}
I0712 15:30:25.579492   93745 cached_discovery.go:124] skipped caching discovery info due to Unauthorized
I0712 15:30:25.579851   93745 round_trippers.go:383] GET https://REDACTED.yl4.us-east-1.eks.amazonaws.com/api
I0712 15:30:25.579864   93745 round_trippers.go:390] Request Headers:
I0712 15:30:25.579873   93745 round_trippers.go:393]     Accept: application/json, */*
I0712 15:30:25.579879   93745 round_trippers.go:393]     User-Agent: kubectl/v1.10.3 (darwin/AMD64) kubernetes/2bba012
I0712 15:30:25.729513   93745 round_trippers.go:408] Response Status: 401 Unauthorized in 149 milliseconds
I0712 15:30:25.729541   93745 round_trippers.go:411] Response Headers:
I0712 15:30:25.729547   93745 round_trippers.go:414]     Content-Type: application/json
I0712 15:30:25.729552   93745 round_trippers.go:414]     Content-Length: 129
I0712 15:30:25.729557   93745 round_trippers.go:414]     Date: Thu, 12 Jul 2018 14:30:25 GMT
I0712 15:30:25.730606   93745 request.go:874] Response Body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"Unauthorized","reason":"Unauthorized","code":401}
I0712 15:30:25.731228   93745 cached_discovery.go:124] skipped caching discovery info due to Unauthorized
I0712 15:30:25.731254   93745 factory_object_mapping.go:93] Unable to retrieve API resources, falling back to hardcoded types: Unauthorized
F0712 15:30:25.731493   93745 helpers.go:119] error: the server doesn't have a resource type "svc"

Capture d'écran du cluster EKS dans AWS

 enter image description here

Version

kubectl version

Client Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.3", GitCommit:"2bba0127d85d5a46ab4b778548be28623b32d0b0", GitTreeState:"clean", BuildDate:"2018-05-28T20:03:09Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"darwin/AMD64"}
error: You must be logged in to the server (the server has asked for the client to provide credentials)

Config

Kubctl Config

$ kubectl config view

apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: REDACTED
    server: https://REDACTED.yl4.us-east-1.eks.amazonaws.com
  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
      args:
      - token
      - -i
      - test
      command: heptio-authenticator-aws
      env:
      - name: AWS_PROFILE
        value: personal

AWS Config

cat .aws/config

[profile personal]
source_profile = personal 

Informations d'identification AWS

$ cat .aws/credentials

[personal]
aws_access_key_id = REDACTED
aws_secret_access_key = REDACTED

 ~/.kube/config-test

apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: REDACETED
    server: https://REDACTED.yl4.us-east-1.eks.amazonaws.com
  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
      args:
      - token
      - -i
      - test
      command: heptio-authenticator-aws
      env:
      - name: AWS_PROFILE
        value: personal

Questions similaires

8
Matt Canty

Je viens d'avoir un problème similaire que j'ai réussi à résoudre avec un support aws. Le problème que je rencontrais était que le cluster avait été créé avec un rôle assumé par l'utilisateur, mais kubectl n'assumait pas ce rôle avec la configuration par défaut du kube créée par l'aws-cli.

J'ai résolu le problème en fournissant le rôle dans la section utilisateurs de la configuration de kube

users:
- name: aws
  user:
    exec:
      apiVersion: client.authentication.k8s.io/v1alpha1
      args:
      - token
      - -i
      - test
      - -r
      - <arn::of::your::role>
      command: aws-iam-authenticator
      env:
      - name: AWS_PROFILE
        value: personal

Je pense que l'heptio-aws-Authenticator a été remplacé par l'aws-iam-Authentator, mais c'est ce changement qui m'a permis d'utiliser le cluster.

4
R.Taylor

Les 401 ressemblent à un problème d'autorisations. Votre utilisateur a-t-il créé le cluster? Pour pouvoir interagir avec votre cluster, vous devez éditer le ConfigMap aws-auth dans Kubernetes. "

Si elle a été créée par un autre utilisateur, vous devrez utiliser cet utilisateur, configuré dans la CLI pour exécuter kubectl.

3
JamesIngold

Supprimez simplement le cache et le cache http dans le dossier .kube et essayez d’exécuter la commande kubectl get svc Vérifiez également que votre fichier de configuration est correctement mis en retrait. En raison d’erreurs de syntaxe, il est possible que cette erreur soit générée.

2
user3805324

Vous devez vous assurer que les informations d'identification utilisées pour créer le cluster et exécuter kubectl dans la CLI sont identiques. Dans mon cas, j'ai créé un cluster via la console qui prenait les informations d'identification du distributeur automatique AWS dont le délai de validité expirait, kubectl ayant utilisé les informations d'identification permanentes réelles.
Pour corriger l'erreur, j'ai également créé le cluster à partir de l'AWS CLI. 

1
Linz

J'ai eu ce problème où ma variable d'environnement KUBECONFIG avait plus d'une valeur, il ressemblait à: deuxième groupe

Essayez de désélectionner et de réinitialiser la variable d’environnement pour n’avoir qu’une seule valeur et voir si cela fonctionne pour vous.

1
Erin M

Solution possible si vous avez créé le cluster dans l'interface utilisateur

Si vous avez créé le cluster dans l'interface utilisateur, il est possible que l'utilisateur AWS root ait créé le cluster. Selon la documentation, "lors de la création d'un cluster Amazon EKS, l'entité IAM (utilisateur ou rôle) qui crée le cluster est ajoutée à la table d'autorisations Kubernetes RBAC en tant qu'administrateur (avec les autorisations système: maître). l’utilisateur peut appeler le serveur d’API Kubernetes à l’aide de kubectl. "

Vous devez d'abord vous connecter à l'AWS CLI en tant qu'utilisateur root pour mettre à jour les autorisations de l'utilisateur IAM auquel vous souhaitez accéder au cluster.

  1. Vous aurez besoin d'obtenir une clé d'accès pour l'utilisateur root et de mettre cette information dans .aws/credentials sous l'utilisateur par défaut. Vous pouvez le faire en utilisant la commande aws configure

    Désormais, kubectl get svc fonctionne, puisque vous êtes connecté en tant qu'utilisateur root ayant initialement créé le cluster.

  2. _ { Appliquez le ConfigMap aws-auth au cluster } _. Suivez l'étape 2 de ces documents, en utilisant la valeur NodeInstanceRole que vous avez obtenue sous la forme Output from Étape 3: lancement et configuration des nœuds de travail Amazon EKS }.

  3. Pour ajouter un utilisateur ou un rôle IAM non root à un cluster Amazon EKS , suivez l'étape 3 de ces documents . Modifiez le configmap/aws-auth et ajoutez d'autres utilisateurs nécessitant un accès kubectl dans la section mapUsers.

  4. Exécutez à nouveau aws configure et ajoutez les informations de clé d'accès de votre utilisateur non root.

Vous pouvez maintenant accéder à votre cluster à partir de l'AWS CLI et à l'aide de kubectl.

0
Yasmin

Je suis tombé sur cette erreur, et c’était un problème de configuration deDIFF&EACUTE;RENTkube, de sorte que 

error: the server doesn't have a resource type “svc”

l'erreur est probablement très générique. 

Dans mon cas, la solution consistait à supprimer les guillemets autour des données d'autorité de certification.

Exemple

(ne fonctionne pas)

certificate-authority-data:"xyxyxyxyxyxy"

(travail)

certificate-authority-data: xyxyxyxyxyxy
0
user1873858