Créer un cluster d'utilisateur

Un cluster d'utilisateur Anthos clusters on 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 Anthos clusters on 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 Anthos clusters on AWS, procédez comme suit : 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é, Anthos clusters on 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 Anthos clusters on AWS. Vous avez créé ce répertoire lors de l'installation du service de gestion.

    cd anthos-aws

  2. Pour ouvrir le tunnel, exécutez le script bastion-tunnel.sh. 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 HTTPS_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

Anthos clusters on AWS n'accepte pas 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 si nécessaire.

  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. Choisissez votre version de Terraform, puis exécutez les commandes suivantes :

    Terraform 0.12, 0.13

    terraform output cluster_example > cluster-0.yaml
    

    Terraform 0.14.3 et ultérieur

    terraform output -raw 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 et modifiez-le si nécessaire. Par défaut, Anthos clusters on 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 Anthos clusters on AWS. Vous pouvez également activer la journalisation et la surveillance sur vos nœuds de plan de contrôle.

  5. Appliquez le fichier à votre service de gestion.

    env HTTPS_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 afin de générer un objet kubeconfig pour votre cluster d'utilisateur dans ~/.kube/config.

    env HTTPS_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 HTTPS_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 HTTPS_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.25.5-gke.2100   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 HTTPS_PROXY=http://localhost:8118 \
      kubectl get events
    

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

Supprimer un cluster d'utilisateur

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. Exécutez la commande kubectl delete pour supprimer le fichier manifeste contenant vos clusters utilisateur.

    env HTTPS_PROXY=http://localhost:8118 \
      kubectl delete -f CLUSTER_FILE
    

    Remplacez CLUSTER_FILE par le nom du fichier manifeste contenant vos objets AWScluster et AWSNodePool. Par exemple, cluster-0.yaml.

Supprimer tous les clusters utilisateur

Pour supprimer tous vos clusters 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 HTTPS_PROXY=http://localhost:8118 \
      kubectl delete AWSNodePool --all
    env HTTPS_PROXY=http://localhost:8118 \
      kubectl delete AWSCluster --all
    

Pour en savoir plus, consultez la page Désinstaller Anthos clusters on AWS.

Étapes suivantes