Aidez à améliorer cette page
Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Pour contribuer à ce guide de l'utilisateur, cliquez sur le GitHub lien Modifier cette page sur qui se trouve dans le volet droit de chaque page.
Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Création d'une classe de nœuds pour Amazon EKS
Les classes de nœuds Amazon EKS fournissent un contrôle précis de la configuration de vos nœuds gérés en mode automatique EKS. Une classe de nœuds définit les paramètres au niveau de l'infrastructure qui s'appliquent aux groupes de nœuds de votre cluster EKS, notamment la configuration réseau, les paramètres de stockage et le balisage des ressources. Cette rubrique explique comment créer et configurer une classe de nœuds pour répondre à vos exigences opérationnelles spécifiques.
Lorsque vous devez personnaliser la façon dont le mode automatique d'EKS approvisionne et configure les EC2 instances au-delà des paramètres par défaut, la création d'une classe de nœuds vous permet de contrôler avec précision les paramètres d'infrastructure critiques. Par exemple, vous pouvez spécifier l'emplacement des sous-réseaux privés pour améliorer la sécurité, configurer le stockage éphémère des instances pour les charges de travail sensibles aux performances ou appliquer un balisage personnalisé pour la répartition des coûts.
Création d'une classe de nœuds
Pour créer une classe de nœuds, procédez comme suit :
-
Créez un fichier YAML (par exemple,
nodeclass.yaml
) avec votre configuration de classe de nœud -
Appliquez la configuration à votre cluster à l'aide de
kubectl
-
Référencez la classe de nœuds dans la configuration de votre pool de nœuds. Pour de plus amples informations, veuillez consulter Création d'un pool de nœuds pour le mode automatique EKS.
Vous devez kubectl
être installé et configuré. Pour de plus amples informations, veuillez consulter Configuration pour utiliser Amazon EKS.
Exemple de classe de nœuds de base
Voici un exemple de classe de nœud :
apiVersion: eks.amazonaws.com/v1 kind: NodeClass metadata: name: private-compute spec: ephemeralStorage: size: "160Gi"
Cela NodeClass augmente la quantité de stockage éphémère sur le nœud.
Appliquez cette configuration en utilisant :
kubectl apply -f nodeclass.yaml
Ensuite, faites référence à la classe de nœuds dans la configuration de votre pool de nœuds. Pour de plus amples informations, veuillez consulter Création d'un pool de nœuds pour le mode automatique EKS.
Créer une entrée d'accès à une classe de nœud
Si vous créez une classe de nœuds personnalisée, vous devez créer une entrée d'accès EKS pour permettre aux nœuds de rejoindre le cluster. EKS crée automatiquement des entrées d'accès lorsque vous utilisez la classe de nœuds et les pools de nœuds intégrés.
Pour plus d'informations sur le fonctionnement des entrées d'accès, consultezAccorder aux utilisateurs IAM l'accès à Kubernetes avec des entrées d'accès EKS.
Lorsque vous créez des entrées d'accès pour les classes de nœuds EKS Auto Mode, vous devez utiliser le type d'entrée d'EC2
accès.
Créer une entrée d'accès avec la CLI
Pour créer une entrée d'accès pour les EC2 nœuds et associer la politique EKS Auto Node :
Mettez à jour les commandes CLI suivantes avec le nom de votre cluster et l'ARN du rôle de nœud. L'ARN du rôle de nœud est spécifié dans la classe de nœud YAML.
# Create the access entry for EC2 nodes aws eks create-access-entry \ --cluster-name <cluster-name> \ --principal-arn <node-role-arn> \ --type EC2 # Associate the auto node policy aws eks associate-access-policy \ --cluster-name <cluster-name> \ --principal-arn <node-role-arn> \ --policy-arn arn:aws:eks::aws:cluster-access-policy/AmazonEKSAutoNodePolicy \ --access-scope type=cluster
Créez une entrée d'accès avec CloudFormation
Pour créer une entrée d'accès pour les EC2 nœuds et associer la politique EKS Auto Node :
Mettez à jour ce qui suit CloudFormation avec le nom de votre cluster et l'ARN du rôle de nœud. L'ARN du rôle de nœud est spécifié dans la classe de nœud YAML.
EKSAutoNodeRoleAccessEntry: Type: AWS::EKS::AccessEntry Properties: ClusterName: <cluster-name> PrincipalArn: <node-role-arn> Type: "EC2" AccessPolicies: - AccessScope: Type: cluster PolicyArn: arn:aws:eks::aws:cluster-access-policy/AmazonEKSAutoNodePolicy DependsOn: [ <cluster-name> ] # previously defined in CloudFormation
Pour plus d'informations sur le déploiement CloudFormation de stacks, voir Getting started with CloudFormation
Spécification de classe de nœuds
apiVersion: eks.amazonaws.com/v1 kind: NodeClass metadata: name: default spec: # Required: Name of IAM Role for Nodes role: "MyNodeRole" # Required: Subnet selection for node placement subnetSelectorTerms: - tags: Name: "<tag-name>" kubernetes.io/role/internal-elb: "1" # Alternative using direct subnet ID # - id: "subnet-0123456789abcdef0" # Required: Security group selection for nodes securityGroupSelectorTerms: - tags: Name: "eks-cluster-node-sg" # Alternative approaches: # - id: "sg-0123456789abcdef0" # - name: "eks-cluster-node-security-group" # Optional: Configure SNAT policy (defaults to Random) snatPolicy: Random # or Disabled # Optional: Network policy configuration (defaults to DefaultAllow) networkPolicy: DefaultAllow # or DefaultDeny # Optional: Network policy event logging (defaults to Disabled) networkPolicyEventLogs: Disabled # or Enabled # Optional: Configure ephemeral storage (shown with default values) ephemeralStorage: size: "80Gi" # Range: 1-59000Gi or 1-64000G or 1-58Ti or 1-64T iops: 3000 # Range: 3000-16000 throughput: 125 # Range: 125-1000 # IAM role to use for EC2 instance role # If unspecified, EKS will create a role # If specified, role requires access entry described above role: arn:aws:iam::123456789012:role/MyNodeRole # Optional: Additional EC2 tags tags: Environment: "production" Team: "platform"
Considérations :
-
Si vous modifiez le rôle Node IAM associé à un NodeClass, vous devrez créer une nouvelle entrée d'accès. EKS crée automatiquement une entrée d'accès pour le rôle Node IAM lors de la création du cluster. Le rôle Node IAM nécessite la politique d'accès
AmazonEKSAutoNodePolicy
EKS. Pour de plus amples informations, veuillez consulter Accorder aux utilisateurs IAM l'accès à Kubernetes avec des entrées d'accès EKS. -
EKS limite le nombre maximum de pods sur un nœud à 110. Cette limite est appliquée après le calcul du nombre maximum de pods existant. Pour de plus amples informations, veuillez consulter Choisissez un type d'instance de EC2 nœud Amazon optimal.
-
Si vous souhaitez propager des balises depuis Kubernetes vers EC2, vous devez configurer des autorisations IAM supplémentaires. Pour de plus amples informations, veuillez consulter En savoir plus sur l'identité et l'accès en mode automatique d'EKS.