Désinstaller GKE sur AWS

Cet article explique comment désinstaller GKE sur AWS.

Avant de commencer

Pour effectuer cette procédure, authentifiez-vous auprès de votre service de gestion GKE sur AWS.

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. 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
    

    Le résultat inclut l'URL du serveur d'API du service de gestion.

Supprimer des clusters d'utilisateur

Vous utilisez kubectl pour supprimer des clusters d'utilisateur. GKE sur AWS arrête correctement tous les nœuds. Les pods reçoivent un signal SIGTERM, puis, après un délai de grâce, un signal SIGKILL. Une fois les pods arrêtés, le service de gestion commence à supprimer les ressources AWS.

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 cluster d'utilisateur.

    cd anthos-aws
    env HTTPS_PROXY=http://localhost:8118 \
      anthos-gke aws clusters get-credentials CLUSTER_NAME
    Remplacez CLUSTER_NAME par le nom de votre cluster d'utilisateur.

  2. Supprimez les ressources Load balancers (équilibreurs de charge), Ingress (objet d'entrée Ingress) ou PersistentVolumeClaim (volumes persistants) que vous avez créées.

    1. Utilisez la commande kubectl suivante pour vérifier s'il reste des services d'équilibrage de charge sur votre cluster d'utilisateur :

      env HTTPS_PROXY=http://localhost:8118 \
        kubectl get services
      
    2. Utilisez la commande kubectl suivante pour vérifier s'il reste des objets PersistentVolumeClaims sur votre cluster d'utilisateur :

      env HTTPS_PROXY=http://localhost:8118 \
        kubectl get persistentvolumeclaim
      
    3. Utilisez la commande kubectl delete pour supprimer les services restants ou les PersistentVolumeClaims que vous avez créés. Par exemple, pour supprimer la ressource LoadBalancer my-lb-service, exécutez la commande suivante :

      env HTTPS_PROXY=http://localhost:8118 \
        kubectl delete service my-lb-service
      

      Par exemple, pour supprimer la ressource PersistentVolumeClaims my-pvc, exécutez la commande suivante :

      env HTTPS_PROXY=http://localhost:8118 \
      kubectl delete persistentvolumeclaim my-pvc
      
  3. À 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

  4. Supprimez toutes les ressources AWSNodePools avec kubectl.

    env HTTPS_PROXY=http://localhost:8118 \
      kubectl delete AWSNodePool --all
    
  5. Supprimez tous les AWSCluster avec kubectl.

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

Supprimer un service de gestion

Vous utilisez anthos-gke pour supprimer le service de gestion.

  1. Remplacez le répertoire par celui que vous avez créé lors de l'installation.

  2. Utilisez anthos-gke pour supprimer des ressources du service de gestion.

    env HTTP_PROXY=http://localhost:8118 \
      anthos-gke aws management delete
    

Supprimer le bucket AWS S3

Lorsque vous créez un service de gestion, anthos-gke crée un bucket S3 sur AWS avec des binaires pour la création de clusters. Le bucket est réutilisé lorsque vous créez des clusters d'utilisateur. Si vous n'utilisez plus GKE sur AWS, vous pouvez supprimer le bucket après avoir supprimé votre service de gestion.

Pour supprimer le bucket GKE sur AWS S3, procédez comme suit :

  1. Pour trouver le nom du bucket, recherchez la valeur de gcs_download_bucket dans terraform-workspace/terraform.tfvars.json avec la commande grep.

    grep agent_s3_bucket terraform.tfvars.json
    
  2. Supprimez ce bucket S3 et son contenu avec la commande aws, en remplaçant bucket-name par le nom de votre bucket obtenu avec la commande précédente.

    aws s3 rb s3://bucket-name --force