Sélectionner vos préférences de cookies

Nous utilisons des cookies essentiels et des outils similaires qui sont nécessaires au fonctionnement de notre site et à la fourniture de nos services. Nous utilisons des cookies de performance pour collecter des statistiques anonymes afin de comprendre comment les clients utilisent notre site et d’apporter des améliorations. Les cookies essentiels ne peuvent pas être désactivés, mais vous pouvez cliquer sur « Personnaliser » ou « Refuser » pour refuser les cookies de performance.

Si vous êtes d’accord, AWS et les tiers approuvés utiliseront également des cookies pour fournir des fonctionnalités utiles au site, mémoriser vos préférences et afficher du contenu pertinent, y compris des publicités pertinentes. Pour accepter ou refuser tous les cookies non essentiels, cliquez sur « Accepter » ou « Refuser ». Pour effectuer des choix plus détaillés, cliquez sur « Personnaliser ».

Déployer un exemple de charge de travail dynamique en mode automatique EKS

Mode de mise au point
Déployer un exemple de charge de travail dynamique en mode automatique EKS - 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.

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.

Ce didacticiel vous guidera dans le déploiement d'un exemple d'application dynamique sur votre cluster EKS Auto Mode. L'application écrit des horodatages sur un volume persistant, démontrant ainsi les fonctionnalités de provisionnement automatique et de persistance des volumes EBS d'EKS Auto Mode.

Prérequis

  • Un cluster en mode automatique EKS

  • La AWS CLI configurée avec les autorisations appropriées

  • kubectlinstallé et configuré

Étape 1 : Configuration de votre environnement

  1. Définissez vos variables d'environnement :

    export CLUSTER_NAME=my-auto-cluster export AWS_REGION="us-west-2"
  2. Mettez à jour votre kubeconfig :

    aws eks update-kubeconfig --name "${CLUSTER_NAME}"

Étape 2 : Création de la classe de stockage

StorageClassdéfinit la manière dont le mode automatique EKS approvisionnera les volumes EBS.

Le mode automatique EKS ne crée StorageClass pas de Vous devez créer un StorageClass référencement ebs.csi.eks.amazonaws.com pour utiliser la capacité de stockage du mode automatique EKS.

  1. Créez un fichier nommé storage-class.yaml:

    apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: auto-ebs-sc annotations: storageclass.kubernetes.io/is-default-class: "true" provisioner: ebs.csi.eks.amazonaws.com volumeBindingMode: WaitForFirstConsumer parameters: type: gp3 encrypted: "true"
  2. Appliquez le StorageClass :

    kubectl apply -f storage-class.yaml

Composants clés :

  • provisioner: ebs---csi---eks.amazonaws.com.rproxy.goskope.com- Utilise le mode automatique EKS

  • volumeBindingMode: WaitForFirstConsumer- Retarde la création du volume jusqu'à ce qu'un pod en ait besoin

  • type: gp3- Spécifie le type de volume EBS

  • encrypted: "true"- EBS utilisera la aws/ebs clé par défaut pour chiffrer les volumes créés avec cette classe. Cette action est facultative, mais recommandée.

  • storageclass.kubernetes.io/is-default-class: "true"- Kubernetes utilisera cette classe de stockage par défaut, sauf si vous spécifiez une classe de volume différente dans le cadre d'une réclamation de volume persistant. Soyez prudent lorsque vous définissez cette valeur si vous effectuez une migration depuis un autre contrôleur de stockage. (facultatif)

Étape 3 : Création de la réclamation de volume persistante

Le PVC demande le stockage auStorageClass.

  1. Créez un fichier nommé pvc.yaml:

    apiVersion: v1 kind: PersistentVolumeClaim metadata: name: auto-ebs-claim spec: accessModes: - ReadWriteOnce storageClassName: auto-ebs-sc resources: requests: storage: 8Gi
  2. Appliquez le PVC :

    kubectl apply -f pvc.yaml

Composants clés :

  • accessModes: ReadWriteOnce- Le volume peut être monté par un nœud à la fois

  • storage: 8Gi- Demande un volume de 8 GiB

  • storageClassName: auto-ebs-sc- Références que StorageClass nous avons créées

Étape 4 : Déploiement de l'application

Le déploiement exécute un conteneur qui écrit des horodatages sur le volume persistant.

  1. Créez un fichier nommé deployment.yaml:

    apiVersion: apps/v1 kind: Deployment metadata: name: inflate-stateful spec: replicas: 1 selector: matchLabels: app: inflate-stateful template: metadata: labels: app: inflate-stateful spec: terminationGracePeriodSeconds: 0 nodeSelector: eks.amazonaws.com/compute-type: auto containers: - name: bash image: public.ecr.aws/docker/library/bash:4.4 command: ["/usr/local/bin/bash"] args: ["-c", "while true; do echo $(date -u) >> /data/out.txt; sleep 60; done"] resources: requests: cpu: "1" volumeMounts: - name: persistent-storage mountPath: /data volumes: - name: persistent-storage persistentVolumeClaim: claimName: auto-ebs-claim
  2. Appliquez le déploiement :

    kubectl apply -f deployment.yaml

Composants clés :

  • Conteneur bash simple qui écrit des horodatages dans un fichier

  • Fixe le PVC sur /data

  • Demande 1 cœur de processeur

  • Utilise le sélecteur de nœuds pour les nœuds gérés par EKS

Étape 5 : vérifier la configuration

  1. Vérifiez que le pod fonctionne :

    kubectl get pods -l app=inflate-stateful
  2. Vérifiez que le PVC est lié :

    kubectl get pvc auto-ebs-claim
  3. Vérifiez le volume EBS :

    # Get the PV name PV_NAME=$(kubectl get pvc auto-ebs-claim -o jsonpath='{.spec.volumeName}') # Describe the EBS volume aws ec2 describe-volumes \ --filters Name=tag:CSIVolumeName,Values=${PV_NAME}
  4. Vérifiez que les données sont en cours d'écriture :

    kubectl exec "$(kubectl get pods -l app=inflate-stateful \ -o=jsonpath='{.items[0].metadata.name}')" -- \ cat /data/out.txt

Étape 6 : nettoyage

Exécutez la commande suivante pour supprimer toutes les ressources créées dans ce didacticiel :

# Delete all resources in one command kubectl delete deployment/inflate-stateful pvc/auto-ebs-claim storageclass/auto-ebs-sc

Ce qui se passe dans les coulisses

  1. Le PVC demande à être entreposé auprès du StorageClass

  2. Lorsque le Pod est programmé :

    1. Le mode automatique EKS approvisionne un volume EBS

    2. Crée un PersistentVolume

    3. Attache le volume au nœud

  3. Le Pod monte le volume et commence à écrire des horodatages

Contrôleur Snapshot

Le mode automatique EKS est compatible avec le Kubernetes CSI Snapshotter, également connu sous le nom de Snapshot Controller. Cependant, le mode automatique EKS n'inclut pas le contrôleur de capture instantanée. Vous êtes responsable de l'installation et de la configuration du contrôleur de capture instantanée. Pour de plus amples informations, veuillez consulter Activer la fonctionnalité de capture instantanée pour les volumes CSI.

Consultez VolumeSnapshotClass ce qui suit qui fait référence à la capacité de stockage du mode automatique EKS.

apiVersion: snapshot.storage.k8s.io/v1 kind: VolumeSnapshotClass metadata: name: auto-ebs-vsclass driver: ebs.csi.eks.amazonaws.com deletionPolicy: Delete

En savoir plus sur le Kubernetes CSI Snapshotter.

Rubrique suivante :

Configuration
ConfidentialitéConditions d'utilisation du sitePréférences de cookies
© 2025, Amazon Web Services, Inc. ou ses affiliés. Tous droits réservés.