AWS announces preview of AWS Interconnect - multicloud
AWS announces AWS Interconnect – multicloud (preview), providing simple, resilient, high-speed private connections to other cloud service providers. AWS Interconnect - multicloud is easy to configure and provides high-speed, resilient connectivity with dedicated bandwidth, enabling customers to interconnect AWS networking services such as AWS Transit Gateway, AWS Cloud WAN, and Amazon VPC to other cloud service providers with ease.
Comment résoudre les problèmes liés aux montages de mes volumes Amazon EFS dans Amazon EKS ?
Un message d'erreur s'affiche lorsque j'essaie de monter mes volumes Amazon Elastic File System (Amazon EFS) dans mon cluster Amazon Elastic Kubernetes Service (Amazon EKS).
Résolution
Prérequis :
- Assurez-vous que votre système de fichiers Amazon EFS utilise une cible de montage dans chacun des sous-réseaux de composants master de la zone de disponibilité.
- Vérifiez que vous utilisez efs.csi.aws.com pour la définition de la classe de stockage Amazon EFS. Pour plus d'informations, consultez la page Classe de stockage EFS sur le site Web de GitHub.
- Vérifiez que vous utilisez PersistentVolumeClaim et PersistentVolume. Pour plus d'informations, consultez la page PersistentVolumeClaim et PersistentVolume sur le site Web de GitHub.
Remarque : Si vous utilisez la mise à disposition dynamique, vous n'avez pas besoin d'utiliser PersistentVolumeClaim et PersistentVolume. Pour plus d'informations, consultez la page Mise en service dynamique sur le site Web de GitHub. - Assurez-vous d'avoir installé le module complémentaire Pilote Amazon EFS CSI dans le cluster EKS.
Vérifier que vous avez correctement configuré le réseau entre vos composants master EKS et l'API Amazon EFS
Assurez-vous d'avoir accès à l'API Amazon EFS depuis les composants master EFS et les pods de contrôleur EFS.
Si vous ne configurez pas le réseau pour accéder à l'API Amazon EFS, l'un des messages d'erreur suivants peut s'afficher :
- « failed to provision volume with StorageClass "xxxx": rpc error: code = DeadlineExceeded desc = context deadline exceeded »
- « Could not start amazon-efs-mount-watchdog, unrecognized init system "bash" Mount attempt x/3 failed due to timeout after 15 sec »
- « Unable to attach or mount volumes: timed out waiting for the condition »
Si vous utilisez un cluster privé sans accès Internet sortant, vous devez inclure le point de terminaison du cloud privé com.amazonaws.region.elasticfilesystem dans votre VPC. Créez une règle entrante pour le groupe de sécurité du point de terminaison de VPC qui autorise le trafic à accéder au port 443 depuis les sous-réseaux de vos composants master et de vos pods. Assurez-vous que la politique associée au point de terminaison de VPC dispose des autorisations requises.
Vérifier que vous avez correctement configuré les cibles de montage Amazon EFS
Assurez-vous d'avoir créé les cibles de montage Amazon EFS dans chaque zone de disponibilité où s'exécutent les nœuds EKS. Par exemple, si vous avez réparti vos composants master entre us-east-1a et us-east-1b, créez des cibles de montage dans les deux zones de disponibilité pour le système de fichiers EFS que vous souhaitez monter.
Si vous ne configurez pas correctement les cibles de montage, le message d'erreur suivant peut s'afficher :
« Output: Failed to resolve "fs-xxxxxx.efs.us-east-1.amazonaws.com" - The file system mount target ip address cannot be found »
Vérifier que le groupe de sécurité associé à votre système de fichiers EFS et à vos composants master autorise le trafic NFS
Si le groupe de sécurité n'autorise pas le trafic, l'un des messages d'erreur suivants peut s'afficher :
- « Could not start amazon-efs-mount-watchdog, unrecognized init system "bash" Mount attempt x/3 failed due to timeout after 15 sec »
- « failed to provision volume with StorageClass "xxxx": rpc error: code = DeadlineExceeded desc = context deadline exceeded »
- « Unable to attach or mount volumes: timed out waiting for the condition »
Le groupe de sécurité du système de fichiers Amazon EFS doit disposer d'une règle entrante qui autorise le trafic du système de fichiers réseau (NFS) depuis le routage inter-domaines sans classe (CIDR) pour le VPC de votre cluster. Autorisez le port 2049 pour le trafic entrant.
Le groupe de sécurité associé à vos composants master sur lesquels les pods ne parviennent pas à monter le volume EFS doit disposer d'une règle sortante. La règle sortante doit autoriser le trafic NFS depuis le port 2049 vers le système de fichiers EFS.
Vérifier que vous avez créé le chemin du sous-répertoire dans votre système de fichiers Amazon EFS
Si vous ajoutez des chemins de sous-répertoire dans des volumes persistants, le pilote Amazon EFS CSI ne crée pas le chemin de sous-répertoire dans le système de fichiers. Le sous-répertoire doit déjà figurer dans le système de fichiers pour que l'opération de montage réussisse. Si le sous-répertoire ne se trouve pas dans le système de fichiers, le message d'erreur suivant peut s'afficher :
« Output: mount.nfs4: mounting fs-18xxxxxx.efs.us-east-1.amazonaws.com:/path-in-dir:/ failed, reason given by server: No such file or directory »
Pour vérifier si le sous-répertoire existe dans le système de fichiers EFS, montez le système de fichiers EFS sur une instance EC2 et listez son contenu. Si le sous-répertoire n'existe pas, utilisez la commande mkdir pour le créer.
Vérifier que le VPC du cluster utilise le serveur DNS Amazon
Lorsque vous montez le volume EFS à l'aide du pilote Amazon EFS CSI, vous devez utiliser le serveur Amazon DNS pour le VPC.
Remarque : Seul le DNS fourni par Amazon peut résoudre le DNS du système de fichiers du service EFS.
Pour vérifier le serveur DNS, connectez-vous au composant master et exécutez la commande suivante :
nslookup fs-4fxxxxxx.efs.region.amazonaws.com AMAZON_PROVIDED_DNS_IP
Remarque : Remplacez region par votre région AWS. Remplacez AMAZON_PROVIDED_DNS_IP par votre adresse IP DNS.
Si le serveur DNS personnalisé ne transmet pas les requêtes, le message d'erreur suivant peut s'afficher :
« Output: Failed to resolve "fs-xxxxxx.efs.us-west-2.amazonaws.com" - The file system mount target ip address cannot be found »
Si le VPC du cluster utilise un serveur DNS personnalisé, configurez ce serveur DNS pour transférer toutes les requêtes *.amazonaws.com vers le serveur DNS Amazon.
Vérifier que les options de montage iam figurent dans la définition de PersistentVolume lorsque vous utilisez une politique de système de fichiers restrictive
Si vous n'ajoutez pas l'option de montage iam avec une politique de système de fichiers restrictive, les pods échouent avec un message d'erreur suivant :
« mount.nfs4: access denied by server while mounting 127.0.0.1:/ »
Si vous avez configuré le système de fichiers Amazon EFS pour limiter les autorisations de montage à des rôles Gestion des identités et des accès AWS (AWS IAM) spécifiques, utilisez le montage -o iam. Incluez la propriété spec.mountOptions pour permettre au pilote CSI d'ajouter l’option de montage IAM.
Exemple :
apiVersion: v1 kind: PersistentVolume metadata: name: efs-pv1 spec: mountOptions: - iam
Vérifier que le compte de service du contrôleur de pilote Amazon EFS CSI est annoté avec le rôle IAM correct et que le rôle IAM dispose des autorisations requises
Pour vérifier que le compte de service utilisé par les pods efs-csi-controller comprend l'annotation correcte, exécutez la commande suivante :
kubectl describe sa efs-csi-controller-sa -n kube-system
Exemple de sortie :
eks.amazonaws.com/role-arn: arn:aws:iam::111122223333:role/AmazonEKS_EFS_CSI_DriverRole
Pour vérifier que le compte dispose des rôles et des autorisations Gestion des identités et des accès AWS (AWS IAM) appropriés, vérifiez le fournisseur IAM OIDC pour le cluster. Le rôle IAM associé au compte de service efs-csi-controller-sa dispose des autorisations requises pour effectuer des appels d'API EFS. Puis, vérifiez que la stratégie d’approbation du rôle IAM approuve le compte de service efs-csi-controller-sa.
Exemple de stratégie d’approbation de rôle IAM :
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Federated": "arn:aws:iam::111122223333:oidc-provider/oidc.eks.region-code.amazonaws.com/id/EXAMPLED539D4633E53DE1B71EXAMPLE" }, "Action": "sts:AssumeRoleWithWebIdentity", "Condition": { "StringLike": { "oidc.eks.region-code.amazonaws.com/id/EXAMPLED539D4633E53DE1B71EXAMPLE:sub": "system:serviceaccount:kube-system:efs-csi-*", "oidc.eks.region-code.amazonaws.com/id/EXAMPLED539D4633E53DE1B71EXAMPLE:aud": "sts.amazonaws.com" } } } ] }
Vérifier que les pods de pilote EFS CSI fonctionnent
Exécutez la commande suivante pour vérifier que ces pods sont actifs dans votre cluster :
kubectl get all -l app.kubernetes.io/name=aws-efs-csi-driver -n kube-system
Vérifier l'opération de montage EFS à partir du composant master EC2 sur lequel le pod ne parvient pas à monter le système de fichiers
Connectez-vous au composant master Amazon EKS du pod. Puis, utilisez l’assistant de montage EFS pour monter manuellement le système de fichiers EFS sur le composant master. Pour tester l'opération de montage, exécutez la commande suivante :
sudo mount -t efs -o tls file-system-dns-name efs-mount-point/
Si le composant master peut monter le système de fichiers, consultez les journaux efs-plugin provenant du contrôleur CSI et des pods du nœud CSI.
Vérifier les journaux du pod de pilote CSI pour déterminer la cause des échecs de montage
Si le montage du volume échoue, consultez les journaux plugin efs. Pour récupérer les journaux du conteneur efs-plugin, exécutez les commandes suivantes :
kubectl logs deployment/efs-csi-controller -n kube-system -c efs-plugin kubectl logs daemonset/efs-csi-node -n kube-system -c efs-plugin
- Sujets
- Containers
- Langue
- Français

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