Help us improve the AWS re:Post Knowledge Center by sharing your feedback in a brief survey. Your input can influence how we create and update our content to better support your AWS journey.
Pourquoi ne puis-je pas me connecter à mon cluster Amazon EKS ?
J’ai créé un cluster Amazon Elastic Kubernetes Service (Amazon EKS) auquel je ne parviens pas à me connecter.
Brève description
Il est possible que vous ne puissiez pas vous connecter à votre cluster Amazon EKS pour l’une des raisons suivantes :
- Vous n’avez pas créé de fichier kubeconfig pour le cluster.
- Vous ne parvenez pas à vous connecter au point de terminaison du serveur API EKS
Résolution
Remarque : Si des erreurs surviennent lorsque vous exécutez des commandes de l'interface de la ligne de commande AWS (AWS CLI), consultez la section Résoudre des erreurs liées à l’AWS CLI. Vérifiez également que vous utilisez bien la version la plus récente de l'AWS CLI.
Vous n’avez pas créé de fichier kubeconfig
Après avoir créé votre cluster Amazon EKS, configurez votre fichier kubeconfig afin de pouvoir utiliser la ligne de commande kubectl pour vous connecter à votre cluster. Le fichier kubeconfig contient la configuration de votre cluster Kubernetes.
En fonction de votre système d'exploitation (OS), vous pouvez trouver votre fichier kubeconfig aux emplacements suivants :
- Pour Linux ou macOS, accédez à $HOME/.kube/config.
- Pour Windows, accédez à %USERPROFILE%\.kube\config.
Pour utiliser un autre emplacement de fichier, effectuez l'une des actions suivantes :
- Définissez la variable d'environnement KUBECONFIG afin qu'elle pointe vers le nouvel emplacement.
- Utilisez l'indicateur --kubeconfig lorsque vous exécutez des commandes kubectl pour spécifier un chemin de fichier personnalisé.
Si un fichier kubeconfig existe déjà à l'emplacement par défaut, Amazon EKS fusionne les nouvelles configurations avec le fichier existant. Vous pouvez utiliser la commande kubectl config pour gérer les contextes de votre cluster. Pour plus d'informations, consultez la page kubectl config sur le site Web de Kubernetes.
Vous ne parvenez pas à vous connecter au point de terminaison du serveur API EKS
Pour résoudre ce problème, procédez comme suit :
-
Pour vérifier si vous pouvez vous connecter à l'URL du serveur d'API Amazon EKS, exécutez la commande suivante avec un niveau de détail accru :
kubectl get svc --v=9La sortie de la commande affiche des informations de connexion détaillées, y compris l'URL du serveur API utilisée par votre connexion. Vérifiez les adresses IP répertoriées pour HTTP Trace : Recherche DNS.
Exemple de sortie :I0110 16:43:36.920095 48173 loader.go:373] Config loaded from file: /Users/abs/.kube/configI0110 16:43:36.936844 48173 round_trippers.go:466] curl -v -XGET -H "Accept: application/json;as=Table;v=v1;g=meta.k8s.io,application/json;as=Table;v=v1beta1;g=meta.k8s.io,application/json" -H "User-Agent: kubectl/v1.26.0 (darwin/arm64) kubernetes/b46a3f8" 'https://S123GBNS3HJUFN467UFGH6782JHCH2891.yl4.us-east-2.eks.amazonaws.com//api/v1/namespaces/default/services?limit=500' I0110 16:43:37.362185 48173 round_trippers.go:495] HTTP Trace: DNS Lookup for S123GBNS3HJUFN467UFGH6782JHCH2891.yl4.us-east-2.eks.amazonaws.com/ resolved to [{18.119.155.77 } {3.136.153.3 }] I0110 16:43:37.402538 48173 round_trippers.go:510] HTTP Trace: Dial to tcp:18.119.155.77:443 succeed I0110 16:43:37.500276 48173 round_trippers.go:553] GET https://S123GBNS3HJUFN467UFGH6782JHCH2891.yl4.us-east-2.eks.amazonaws.com//api/v1/namespaces/default/services?limit=500 200 OK in 563 milliseconds I0110 16:43:37.500302 48173 round_trippers.go:570] HTTP Statistics: DNSLookup 1 ms Dial 40 ms TLSHandshake 44 ms ServerProcessing 52 ms Duration 563 ms I0110 16:43:37.500308 48173 round_trippers.go:577] Response Headers: I0110 16:43:37.500316 48173 round_trippers.go:580] Audit-Id: 37c17136-7fa7-40e9-8fe6-b24426e81564 I0110 16:43:37.500323 48173 round_trippers.go:580] Cache-Control: no-cache, private I0110 16:43:37.500329 48173 round_trippers.go:580] Content-Type: application/json I0110 16:43:37.500334 48173 round_trippers.go:580] X-Kubernetes-Pf-Flowschema-Uid: 508eb99e-d99b-44db-8ade-838c99fe8e9f I0110 16:43:37.500340 48173 round_trippers.go:580] X-Kubernetes-Pf-Prioritylevel-Uid: d324d3db-05ce-441b-a0ff-c31cbe8f696c I0110 16:43:37.500345 48173 round_trippers.go:580] Date: Tue, 10 Jan 2023 21:43:37 GMT -
Pour vérifier si le serveur d'API Amazon EKS est accessible au public, exécutez la commande d'interface de ligne de commande AWS describe-cluster suivante :
aws eks describe-cluster --name cluster_name --region example_region --query cluster.resourcesVpcConfigRemarque : Remplacez cluster_name par le nom de votre cluster et example_region par votre région AWS.
Exemple de sortie :{ "subnetIds": [ "subnet-abc1", "subnet-abc2", "subnet-abc3", "subnet-abc4", "subnet-abc5", "subnet-abc6" ], "securityGroupIds": [ "sg-abc7" ], "clusterSecurityGroupId": "sg-abc7", "vpcId": "vpc-abc9", "endpointPublicAccess": true, "endpointPrivateAccess": false, "publicAccessCidrs": [ "0.0.0.0/0" ] }Pour autoriser l'accès public, assurez-vous que endpointPublicAccess est défini sur true. Pour maintenir l'accès privé, assurez-vous que endpointPublicAccess est défini sur false. Si endpointPublicAccess est défini sur false, passez à l'étape 9. Si endpointPublicAccess est true, il est recommandé de limiter endpointPublicAccess à des plages d'adresses IP spécifiques. Effectuez les étapes 3 à 8 pour ajouter vos adresses IP autorisées à la liste d'autorisation publicAccessCidrs.
-
Ouvrez la console Amazon EKS.
-
Choisissez Clusters, puis sélectionnez le cluster que vous souhaitez mettre à jour.
-
Cliquez sur l’onglet Mise en réseau, puis sélectionnez Gérer la mise en réseau.
-
Choisissez Public.
-
Dans Paramètres avancés, pour Bloc CIDR, saisissez la plage CIDR publique que vous souhaitez ajouter à la liste d’autorisation.
Important : Incluez l'adresse IP de la passerelle NAT que les composants master de vos sous-réseaux privés utilisent pour accéder à Internet. Incluez également les adresses IP de tous les composants réseau des périphériques NAT. -
Sélectionnez Enregistrer les modifications.
-
Si vous avez configuré le serveur d'API du cluster en mode privé uniquement, assurez-vous que la requête kubectl provient du réseau du cluster. Si votre requête kubectl provient de l'extérieur de votre Amazon Virtual Private Cloud (Amazon VPC), l'erreur de délai d’attente suivante s'affiche lorsque vous exécutez la commande get svc :
$ kubectl get svc --v=9I0110 17:15:58.889798 50514 loader.go:373] Config loaded from file: /Users/example-user/.kube/config I0110 17:15:58.896715 50514 round_trippers.go:466] curl -v -XGET -H "Accept: application/json;as=Table;v=v1;g=meta.k8s.io,application/json;as=Table;v=v1beta1;g=meta.k8s.io,application/json" -H "User-Agent: kubectl/v1.26.0 (darwin/arm64) kubernetes/b46a3f8" 'https://S123GBNS3HJUFN467UFGH6782JHCH2891.yl4.us-east-2.eks.amazonaws.com/api/v1/namespaces/default/services?limit=500' I0110 17:15:59.374499 50514 round_trippers.go:495] HTTP Trace: DNS Lookup for S123GBNS3HJUFN467UFGH6782JHCH2891.yl4.us-east-2.eks.amazonaws.com resolved to [{192.168.126.17 } {192.168.144.26 }] I0110 17:16:14.285027 50514 round_trippers.go:508] HTTP Trace: Dial to tcp:192.168.126.17:443 failed: dial tcp 192.168.126.17:443: i/o timeout I0110 17:16:29.191768 50514 round_trippers.go:508] HTTP Trace: Dial to tcp:192.168.144.26:443 failed: dial tcp 192.168.144.26:443: i/o timeout I0110 17:16:29.196959 50514 round_trippers.go:553] GET https://S123GBNS3HJUFN467UFGH6782JHCH2891.yl4.us-east-2.eks.amazonaws.com/api/v1/namespaces/default/services?limit=500 in 30300 milliseconds I0110 17:16:29.197724 50514 round_trippers.go:570] HTTP Statistics: DNSLookup 183 ms Dial 14906 ms TLSHandshake 0 ms Duration 30300 ms I0110 17:16:29.197768 50514 round_trippers.go:577] Response Headers: I0110 17:16:29.199254 50514 helpers.go:264] Connection error: Get https://S123GBNS3HJUFN467UFGH6782JHCH2891.yl4.us-east-2.eks.amazonaws.com/api/v1/namespaces/default/services?limit=500: dial tcp 192.168.126.17:443: i/o timeout Unable to connect to the server: dial tcp 192.168.126.17:443: i/o timeout -
Mettez à jour le groupe de sécurité du cluster pour ajouter l'adresse IP source ou la plage d'adresses CIDR à votre liste d'autorisation. Cela permet au client kubectl de se connecter au point de terminaison du serveur API Amazon EKS depuis le VPC du cluster.
Informations connexes
Résoudre les problèmes liés aux clusters et nœuds Amazon EKS
Comment résoudre l'erreur lorsque je me connecte au serveur API Amazon EKS ?"You must be logged in to the server (Unauthorized)"
Démystifier la mise en réseau des clusters pour les composants master Amazon EKS
- Sujets
- Containers
- Langue
- Français
Vidéos associées


Contenus pertinents
- demandé il y a 3 ans
- demandé il y a 2 ans
- demandé il y a 3 ans
- demandé il y a 2 ans
AWS OFFICIELA mis à jour il y a 3 ans
AWS OFFICIELA mis à jour il y a 3 ans
AWS OFFICIELA mis à jour il y a 8 mois