Comment résoudre les problèmes liés au point de terminaison du serveur API de mon cluster Amazon EKS ?

Date de la dernière mise à jour : 27/01/2020

J'ai modifié le paramètre d'accès au point de terminaison de public à privé sur mon cluster Amazon Elastic Kubernetes Service (Amazon EKS). Désormais, mon cluster est bloqué sur l'état « échec » ou je ne peux pas exécuter de commandes kubectl.

Brève description

Si vous rencontrez des problèmes avec votre point de terminaison du serveur API Kubernetes, suivez les étapes décrites dans l'une des sections suivantes :

  • Votre cluster est bloqué sur l'état « échec » et vous ne pouvez pas modifier le paramètre d'accès au point de terminaison de public à privé.
  • Vous ne pouvez pas exécuter de commandes kubectl sur le cluster après avoir modifié l'accès au point de terminaison de public à privé.

Remarque : Pour configurer l'accès au point de terminaison du serveur API Kubernetes, consultez Comment configurer l'accès public et privé au serveur API dans Amazon EKS ?

Résolution

Votre cluster est bloqué sur l'état « échec » et vous ne pouvez pas modifier le paramètre d'accès au point de terminaison de public à privé.

Votre cluster peut se trouver sur l'état « échec » en raison d'un problème d'autorisation avec AWS Identity and Access Management (IAM).

1.    Vérifiez que le rôle IAM de l'utilisateur est autorisé à effectuer l'action AssociateVPCWithHostedZone.

Remarque : Si l'action n'est pas bloquée, vérifiez si le compte de l'utilisateur dispose des stratégies AWS Organizations qui bloquent les appels d'API et entraînent l'échec du cluster.

2.    Confirmez que l'autorisation de l'utilisateur IAM n'est bloquée à aucun niveau au-dessus du compte, implicitement (en n'étant pas incluse dans une déclaration de stratégie Autoriser) ou explicitement (en étant incluse dans une déclaration de stratégie Refuser).

Remarque : L'autorisation est bloquée même si l'administrateur du compte attache la stratégie IAM AdministratorAccess avec des autorisations * /* à l'utilisateur IAM. Les autorisations pour les entités IAM sont remplacées par les autorisations des stratégies Organizations.

Vous ne pouvez pas exécuter de commandes kubectl sur le cluster après avoir modifié l'accès au point de terminaison de public à privé.

1.    Confirmez que vous utilisez un hôte Bastion ou des réseaux connectés (tels que des VPC appairés, AWS Direct Connect ou des VPN) pour accéder au point de terminaison de l'API Amazon EKS.

Remarque : En mode d'accès privé, vous pouvez accéder au point de terminaison de l'API Amazon EKS uniquement depuis le VPC du cluster.

2.    Vérifiez si les groupes de sécurité ou les listes de contrôle d'accès réseau bloquent les appels d'API.

Si vous accédez à votre cluster via un VPC appairé, vérifiez que les groupes de sécurité autorisent l'accès depuis le VPC appairé au groupe de sécurité du plan de contrôle du port 443. Vérifiez également que le port 53 des deux VPC appairés est ouvert l'un à l'autre (utilisé pour la résolution DNS).