Créer des nœuds Ubuntu Linux autogérés - Amazon EKS

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éer des nœuds Ubuntu Linux autogérés

Note

Les groupes de nœuds gérés peuvent offrir certains avantages pour votre cas d'utilisation. Pour de plus amples informations, veuillez consulter Simplifiez le cycle de vie des nœuds avec des groupes de nœuds gérés.

Cette rubrique décrit comment lancer des groupes Auto Scaling de nœuds Ubuntu sur Amazon Elastic Kubernetes Service (EKS) ou Ubuntu Pro sur Amazon Elastic Kubernetes Service (EKS) qui s’enregistrent auprès de votre cluster Amazon EKS. Ubuntu et Ubuntu Pro pour EKS sont basés sur le LTS officiel Ubuntu Minimal, incluent le AWS noyau personnalisé développé conjointement avec AWS EKS et spécialement conçu pour EKS. Ubuntu Pro renforce la sécurité en prenant en charge les périodes de support étendu EKS, le livepatch du noyau, la conformité FIPS et la possibilité d’exécuter un nombre illimité de conteneurs Pro.

Une fois les nœuds intégrés au cluster, vous pouvez y déployer des applications conteneurisées. Pour plus d’informations, consultez la documentation relative à Ubuntu sur AWS et Prise en charge des AMI personnalisées dans la documentation eksctl.

Important
  • Les nœuds Amazon EKS sont EC2 des instances Amazon standard, et ils vous sont facturés sur la base des prix habituels des EC2 instances Amazon. Pour plus d'informations, consultez les EC2 tarifs Amazon.

  • Vous pouvez lancer des nœuds Ubuntu dans des clusters étendus Amazon EKS sur AWS Outposts, mais vous ne pouvez pas les lancer dans des clusters locaux sur AWS Outposts. Pour de plus amples informations, veuillez consulter Déployez Amazon EKS sur site avec AWS Outposts.

  • Vous pouvez déployer sur des EC2 instances Amazon avec x86 ou des processeurs Arm. Cependant, les instances équipées de puces Inferentia peuvent nécessiter l’installation préalable du Kit SDK de Neuron.

Cette procédure nécessite eksctl version 0.215.0 ou ultérieure. Vous pouvez vérifier votre version avec la commande suivante :

eksctl version

Pour obtenir des instructions sur l’installation ou la mise à niveau d’eksctl, consultez Installation dans la documentation eksctl. REMARQUE : cette procédure ne fonctionne que pour les clusters créés avec eksctl.

  1. Copiez les contenus suivants sur votre appareil. Remplacez my-cluster par le nom de votre cluster. Un nom ne peut contenir que des caractères alphanumériques (sensibles à la casse) et des traits d'union. Il doit commencer par une lettre et ne peut pas dépasser 100 caractères. Remplacer ng-ubuntu avec un nom pour votre groupe de nœuds. Le nom du groupe de nœuds ne peut pas dépasser 63 caractères. Il doit commencer par une lettre ou un chiffre, mais peut également inclure des tirets et des traits de soulignement pour les autres caractères. Pour effectuer un déploiement sur des instances Arm, remplacez m5.large par un type d'instance Arm. Remplacez-le my-ec2-keypair-name par le nom d'une paire de clés Amazon EC2 SSH que vous pourrez utiliser pour vous connecter via SSH à vos nœuds après leur lancement. Si vous ne possédez pas encore de paire de EC2 clés Amazon, vous pouvez en créer une dans le AWS Management Console. Pour plus d'informations, consultez les paires de EC2 clés Amazon dans le guide de EC2 l'utilisateur Amazon. Remplacez toutes les valeurs d’exemple restantes par vos propres valeurs. Une fois les remplacements effectués, exécutez la commande modifiée pour créer le fichier ubuntu.yaml.

    Important

    Pour déployer un groupe de nœuds sur des sous-réseaux AWS Outposts, AWS Wavelength ou AWS Local Zone, ne transmettez pas les sous-réseaux Outposts AWS , AWS Wavelength ou AWS Local Zone lorsque vous créez le cluster. Vous devez spécifier les sous-réseaux dans l'exemple suivant. Pour plus d'informations, consultez Créer un nodegroup à partir d'un fichier de configuration et Schéma du fichier de configuration dans la documentation eksctl. Remplacez region-code par la AWS région dans laquelle se trouve votre cluster.

    cat >ubuntu.yaml <<EOF --- apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: my-cluster region: region-code version: '1.33' iam: withOIDC: true nodeGroups: - name: ng-ubuntu instanceType: m5.large desiredCapacity: 3 amiFamily: Ubuntu2204 iam: attachPolicyARNs: - arn:aws: iam::aws:policy/AmazonEKSWorkerNodePolicy - arn:aws: iam::aws:policy/AmazonEC2ContainerRegistryReadOnly - arn:aws: iam::aws:policy/AmazonSSMManagedInstanceCore - arn:aws: iam::aws:policy/AmazonEKS_CNI_Policy ssh: allow: true publicKeyName: my-ec2-keypair-name EOF

    Pour créer un groupe de nœuds Ubuntu Pro, il suffit de remplacer la valeur amiFamily par UbuntuPro2204.

  2. Deployez vos nœuds avec la commande suivante :

    eksctl create nodegroup --config-file=ubuntu.yaml

    L'exemple qui suit illustre un résultat.

    Plusieurs lignes sont affichées pendant la création des nœuds. L'une des dernières lignes de sortie est similaire à la ligne d'exemple suivante.

    [✔] created 1 nodegroup(s) in cluster "my-cluster"
  3. (Facultatif) Déployez un exemple d’application pour tester vos nœuds Ubuntu.

  4. Nous recommandons de bloquer l’accès des pods à IMDS si les conditions suivantes sont remplies :

    • Vous prévoyez d’attribuer des rôles IAM à tous vos comptes de service Kubernetes, afin que les pods ne disposent que des permissions strictement nécessaires.

    • Aucun pod du cluster n'a besoin d'accéder au service de métadonnées d' EC2 instance Amazon (IMDS) pour d'autres raisons, telles que la récupération de la région actuelle AWS .

    Pour plus d'informations, consultez Restreindre l'accès au profil d'instance affecté au composant master.