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>"
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"
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 :)
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.
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.