Destroy HC AWS

Par openshift · hypershift

Détruire un HyperShift HostedCluster et toute l'infrastructure AWS associée (VPC, IAM, Route53, etc.).

npx skills add https://github.com/openshift/hypershift --skill Destroy HC AWS

Destroyer HostedCluster

Cette compétence détruit un HostedCluster HyperShift et toute l'infrastructure AWS associée.

Quand utiliser cette compétence

Utilisez cette compétence quand :

  • Vous devez nettoyer un HostedCluster de test
  • Vous voulez détruire un HostedCluster et ses ressources AWS (VPC, subnets, passerelles NAT, rôles IAM, etc.)
  • Vous devez supprimer des HostedClusters orphelins provenant de précédentes exécutions de test

Prérequis

Sourcez le fichier d'environnement avant d'utiliser cette compétence :

source dev/claude-env.sh

Exigences supplémentaires :

  • Credentials AWS chargés (source $AWS_CREDS_SOURCE)
  • KUBECONFIG pointant vers le cluster de gestion ($MGMT_KUBECONFIG)
  • Binaire hypershift compilé (./bin/hypershift)

Configuration de l'environnement

Variables d'environnement depuis dev/claude-env.sh :

Variable Description
AWS_CREDENTIALS Chemin vers le fichier de credentials AWS
AWS_CREDS_SOURCE Script pour sourcer les variables d'env AWS
AWS_REGION Région AWS
MGMT_KUBECONFIG Chemin vers le kubeconfig du cluster de gestion

Commande

source $AWS_CREDS_SOURCE && \
KUBECONFIG=$MGMT_KUBECONFIG \
./bin/hypershift destroy cluster aws \
  --name <CLUSTER_NAME> \
  --namespace <NAMESPACE> \
  --aws-creds $AWS_CREDENTIALS \
  --region $AWS_REGION

Paramètres

Paramètre Description Par défaut
--name Nom du HostedCluster à détruire Requis
--namespace Namespace où le HostedCluster existe clusters
--aws-creds Chemin vers le fichier de credentials AWS $AWS_CREDENTIALS
--region Région AWS $AWS_REGION

Ce qui est détruit

La commande détruit :

  • Ressources HostedCluster et NodePool
  • Namespace HostedControlPlane et toutes les ressources
  • VPC et subnets AWS
  • Passerelles NAT et passerelles Internet
  • Tables de routage
  • Groupes de sécurité
  • Options DHCP
  • Zones hébergées privées (Route53)
  • Fournisseur OIDC
  • Rôles IAM et profils d'instance
  • Points de terminaison VPC
  • IPs élastiques

Nettoyage rapide pour les HCs orphelins

Si un HostedCluster est bloqué lors de sa suppression, vous pouvez le forcer à être supprimé :

# Supprimez l'annotation de nettoyage pour ignorer le nettoyage des ressources cloud
KUBECONFIG=$MGMT_KUBECONFIG kubectl annotate hostedcluster <NAME> -n <NAMESPACE> \
  hypershift.openshift.io/cleanup-cloud-resources-

Exemple d'utilisation

# Lister les HostedClusters existants
KUBECONFIG=$MGMT_KUBECONFIG kubectl get hostedclusters -A

# Détruire un HostedCluster spécifique
source $AWS_CREDS_SOURCE && \
KUBECONFIG=$MGMT_KUBECONFIG \
./bin/hypershift destroy cluster aws \
  --name my-test-cluster \
  --namespace clusters \
  --aws-creds $AWS_CREDENTIALS \
  --region $AWS_REGION

Dépannage

Passerelle NAT toujours en suppression

Les passerelles NAT prennent du temps à être supprimées. La commande réessayera automatiquement.

VPC a des dépendances

La commande réessayera jusqu'à ce que toutes les dépendances (subnets, passerelles, etc.) soient supprimées.

HostedCluster bloqué en suppression

  1. Vérifiez s'il y a des finaliseurs bloqués
  2. Supprimez l'annotation cleanup-cloud-resources si vous voulez ignorer le nettoyage AWS
  3. Supprimez manuellement les ressources AWS si nécessaire

Skills similaires