Une nouvelle version de GKE sur AWS a été publiée le 2 novembre. Consultez les notes de version pour plus d'informations.

Créer un cluster d'utilisateur

Un cluster d'utilisateur GKE sur AWS héberge vos charges de travail Kubernetes. Cet article vous explique comment créer un cluster d'utilisateur de base. Si vous souhaitez affiner la configuration d'un cluster d'utilisateur, consultez la page Créer un cluster d'utilisateur personnalisé.

Vous provisionnez un cluster d'utilisateur GKE sur AWS avec les ressources personnalisées AWSCluster et AWSNodePool.

Avant de commencer

Pour créer un cluster d'utilisateur, vous devez d'abord installer un service de gestion.

Pour vous connecter à vos ressources GKE sur AWS, suivez les instructions ci-après. Indiquez si vous disposez d'un VPC AWS (ou d'une connexion directe à votre VPC) ou si vous avez créé un VPC dédié lors de la création de votre service de gestion.

VPC existant

Si vous disposez d'une connexion directe ou VPN à un VPC existant, omettez la ligne env HTTP_PROXY=http://localhost:8118 des commandes de cette rubrique.

VPC dédié

Lorsque vous créez un service de gestion dans un VPC dédié, GKE sur AWS inclut un hôte bastion placé dans un sous-réseau public.

Pour vous connecter à votre service de gestion, procédez comme suit :

  1. Accédez au répertoire contenant votre configuration GKE sur AWS. Vous avez créé ce répertoire lors de l'installation du service de gestion.

    cd anthos-aws

  2. Exécutez le script bastion-tunnel.sh pour ouvrir le tunnel. Le tunnel est transféré vers localhost:8118.

    Pour ouvrir un tunnel vers l'hôte bastion, exécutez la commande suivante :

    ./bastion-tunnel.sh -N
    

    Les messages en provenance du tunnel SSH s'affichent dans cette fenêtre. Lorsque vous êtes prêt à fermer la connexion, arrêtez le processus à l'aide du raccourci Ctrl+C ou en fermant la fenêtre.

  3. Ouvrez un nouveau terminal et accédez au répertoire anthos-aws.

    cd anthos-aws
  4. Vérifiez que vous êtes en mesure de vous connecter au cluster à l'aide de kubectl.

    env HTTP_PROXY=http://localhost:8118 \
    kubectl cluster-info
    

    La sortie inclut l'URL du serveur d'API du service de gestion.

Sélectionner une taille d'instance de plan de contrôle

GKE sur AWS n'est pas compatible avec le redimensionnement des instances de plan de contrôle. Avant de créer votre cluster d'utilisateur, sélectionnez la taille d'instance de vos plans de contrôle. La taille du plan de contrôle dépend du nombre de nœuds du cluster. Le tableau suivant contient les tailles d'instance de plan de contrôle recommandées pour différentes tailles de cluster.

Taille du cluster (nœuds) Type d'instance de plan de contrôle
1 – 10 m5.large
11 – 100 m5.xlarge
101 – 200 m5.2xlarge

Créer un cluster d'utilisateur

Dans cet exemple, vous utilisez terraform pour générer une configuration afin de créer un cluster de base. Ensuite, appliquez la configuration avec kubectl apply.

  1. Ouvrez votre terminal et connectez-vous à l'hôte bastion.

  2. Remplacez le répertoire par celui que vous avez créé lors de l'installation du service de gestion.

  3. Utilisez Terraform pour générer un fichier manifeste configurant un exemple de cluster et enregistrez-le dans un fichier YAML.

    terraform output cluster_example > cluster-0.yaml
    

    Pour en savoir plus sur le contenu de ce fichier, consultez les documentations AWSCluster et AWSNodePool.

  4. Ouvrez le fichier dans un éditeur de texte. Par défaut, GKE sur AWS crée des pools de nœuds dans chaque zone de disponibilité spécifiée dans anthos-gke.yaml. Vous pouvez modifier la taille et le nombre de pools de nœuds en fonction du cluster souhaité. Vous pouvez également apporter des modifications supplémentaires à votre configuration. Par exemple, vous pouvez modifier les types d'instances de vos nœuds GKE sur AWS.

  5. Appliquez le fichier à votre service de gestion.

    env HTTP_PROXY=http://localhost:8118 \
      kubectl apply -f cluster-0.yaml
    

Créer un fichier kubeconfig

Pendant le démarrage de votre cluster d'utilisateur, vous pouvez créer un contexte kubeconfig pour votre nouveau cluster d'utilisateur. Vous utilisez ce contexte pour vous authentifier auprès d'un utilisateur ou d'un cluster de gestion.

  1. Utilisez anthos-gke aws clusters get-credentials pour générer un objet kubeconfig pour votre cluster d'utilisateur dans ~/.kube/config.

    env HTTP_PROXY=http://localhost:8118 \
      anthos-gke aws clusters get-credentials CLUSTER_NAME
    

    Remplacez CLUSTER_NAME par le nom de votre cluster. Exemple : cluster-0.

  2. Utilisez kubectl pour vous authentifier auprès de votre nouveau cluster d'utilisateur.

    env HTTP_PROXY=http://localhost:8118 \
      kubectl cluster-info
    

    Si votre cluster est prêt, le résultat inclut les URL des composants Kubernetes qu'il contient.

Afficher l'état de votre cluster

Le service de gestion provisionne les ressources AWS lorsque vous appliquez un élément AWSCluster ou AWSNodePool.

  1. À partir de votre répertoire anthos-aws, utilisez anthos-gke pour basculer vers le contexte de votre service de gestion.

    cd anthos-aws
    anthos-gke aws management get-credentials

  2. Pour répertorier vos clusters, utilisez kubectl get AWSClusters.

    env HTTP_PROXY=http://localhost:8118 \
      kubectl get AWSClusters
    

Le résultat inclut le nom, l'état, l'âge, la version et le point de terminaison de chaque cluster.

Par exemple, le résultat suivant n'inclut qu'un seul AWSCluster nommé cluster-0 :

NAME        STATE          AGE     VERSION         ENDPOINT
cluster-0   Provisioning   2m41s   1.17.9-gke.2800   gke-xyz.elb.us-east-1.amazonaws.com

Afficher les événements de votre cluster

Pour afficher les événements Kubernetes récents de votre cluster d'utilisateur, utilisez kubectl get events.

  1. À partir de votre répertoire anthos-aws, utilisez anthos-gke pour basculer vers le contexte de votre service de gestion.

    cd anthos-aws
    anthos-gke aws management get-credentials

  2. Exécutez kubectl get events.

    env HTTP_PROXY=http://localhost:8118 \
      kubectl get events
    

Le résultat inclut des informations, des avertissements et des erreurs liés à votre service de gestion.

Nettoyer

Pour supprimer un cluster d'utilisateur, procédez comme suit :

  1. À partir de votre répertoire anthos-aws, utilisez anthos-gke pour basculer vers le contexte de votre service de gestion.

    cd anthos-aws
    anthos-gke aws management get-credentials

  2. Utilisez kubectl delete pour supprimer vos AWSNodePools et AWSClusters de votre service de gestion.

    env HTTP_PROXY=http://localhost:8118 \
      kubectl delete AWSNodePool --all
    env HTTP_PROXY=http://localhost:8118 \
      kubectl delete AWSCluster --all
    

Pour en savoir plus, consultez la section Désinstaller GKE sur AWS.

Étapes suivantes