Comment résoudre les erreurs de création de cluster dans Amazon EKS ?

Lecture de 5 minute(s)
0

Je reçois des erreurs de service lorsque je mets en service un cluster Amazon Elastic Kubernetes Service (Amazon EKS) à l'aide d'AWS CloudFormation ou eksctl.

Brève description

Considérez les options de dépannage suivantes :

  • Un message d'erreur vous indique que la zone de disponibilité ciblée ne dispose pas d'une capacité suffisante pour prendre en charge le cluster. Suivez les étapes de la section Recréer le cluster dans une autre zone de disponibilité.
  • Un message d'erreur vous indique que la création de ressources a échoué. Suivez les étapes de la section Confirmez que vous disposez des autorisations IAM correctes pour créer un cluster ou de la section Surveillez vos ressources Amazon VPC.
  • Un message d'erreur vous indique que la création a été interrompue lors de l'attente des composants master. Suivez les étapes de la section Confirmer la capacité de vos composants master à accéder au point de terminaison de l'API du plan de contrôle.

Résolution

Récréer le cluster dans une zone de disponibilité différente

Lorsque vous lancez des instances de plan de contrôle dans une zone de disponibilité dont la capacité est limitée, vous pouvez recevoir un message d'erreur semblable à celui qui suit :

Cannot create cluster 'sample-cluster' because us-east-1d, the targeted availability zone, does not currently have sufficient capacity to support the cluster. Retry and choose from these availability zones: us-east-1a, us-east-1b, us-east-1c

Pour résoudre l'erreur précédente, créez le cluster en utilisant les zones de disponibilité recommandées dans le message d'erreur.

Si vous fournissez le cluster à l'aide de CloudFormation, ajoutez dans le paramètre Sous-réseaux des valeurs de sous-réseau correspondant aux zones de disponibilité.

-ou-

Si vous utilisez eksctl, employez le drapeau --zones pour ajouter les valeurs pour les différentes zones de disponibilité. Par exemple :

$ eksctl create cluster 'sample-cluster' --zones us-east-1a,us-east-1b,us-east-1c

Remarque : Remplacer sample-cluster par le nom de votre cluster. Remplacez us-east-1a, us-east-1b et us-east-1c par vos zones de disponibilité.

Rassurez-vous de posséder les autorisations IAM nécessaires à la création d'un cluster

Lorsque vous créez un cluster, vérifiez que vous disposez des autorisations de gestion des identités et des accès (IAM) correctes. Il faut notamment que les politiques soient correctes pour le rôle IAM du service Amazon EKS.

Vous pouvez utiliser eksctl pour créer les ressources pré-requises pour votre cluster, telles que les rôles IAM et les groupes de sécurité. Les autorisations requises dépendent de la configuration d'eksctl que vous exécutez. Pour plus d'informations, consultez les solutions de dépannage de la communauté GitHub eksctl.

En cas de problème avec les autorisations IAM, une erreur semblable à la suivante peut apparaître dans eksctl :

API: iam:CreateRole User: arn:aws:iam::your-account-id:user/your-user-name is not authorized to perform: iam:CreateRole on resource: arn:aws:iam::your-account-id:role/eksctl-newtest22-cluster-ServiceRole-10NXBYLSN4ULP

La résolution de l'erreur précédente passe par l'examen des règles IAM minimum pour l'exécution des cas d'utilisation d'eksctl sur le site web d'eksctl. Reportez-vous également à la section Gestion des identités et des accès pour Amazon EKS , et à la section Comment résoudre les erreurs d'accès refusé ou d'opération non autorisée avec une politique IAM ?

Surveillez vos ressources VPC Amazon

Lorsque vous créez un cluster, eksctl crée un nouveau Virtual Private Cloud (VPC) Amazon par défaut. Pour éviter qu'eksctl ne crée un nouveau VPC Amazon, vous devez spécifier votre VPC Amazon personnalisé et vos sous-réseaux dans le fichier de configuration.

Dans le cas où votre cluster a des problèmes avec les limites de votre VPC Amazon, le message d'erreur suivant peut s'afficher :

The maximum number of VPCs has been reached. (Service: AmazonEC2; Status Code: 400; Error Code: VpcLimitExceeded; Request ID: a12b34cd-567e-890-123f-ghi4j56k7lmn)

Surveillez vos ressources pour résoudre l'erreur précédente. Par exemple, vérifiez le nombre de VPC Amazon dans votre région AWS ou les passerelles Internet par région dans laquelle vous créez le cluster. Pour plus d'informations, consultez la section Quotas VPC Amazon.

En cas de problèmes liés à des contraintes de ressources sur le nombre de ressources VPC Amazon dans votre région, envisagez l'une des options suivantes :

(Option 1) Utiliser un VPC Amazon existant pour pallier les contraintes de ressources

Créez un fichier de configuration indiquant le VPC Amazon et les sous-réseaux dans lesquels vous souhaitez approvisionner les composants master de votre cluster :

$ eksctl create cluster sample-cluster -f cluster.yaml

-ou-

(Option 2) Demander une augmentation du quota de service pour pallier les contraintes de ressources

Demander une augmentation du quota de service pour les ressources dans les événements de la pile CloudFormation du cluster que eksctl a provisionné.

Rassurez-vous que vos composants master peuvent atteindre le point de terminaison de l'API du plan de contrôle

Au moment où eksctl déploie votre cluster, il attend que les composants master lancés rejoignent le cluster et atteignent le statut Prêt. Lorsque vos composants de contrôle n'atteignent pas le plan de contrôle ou que leur rôle IAM n'est pas valide, le message d'erreur suivant peut s'afficher :

timed out (after 25m0s) waiting for at least 4 nodes to join the cluster and become ready in "eksfbots-ng1"

Pour résoudre l'erreur précédente, veillez à ce que vos composants master se joignent au cluster et confirmez qu'ils ont le statut Prêt.


AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 2 ans