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
- Vérifiez s'il y a des finaliseurs bloqués
- Supprimez l'annotation cleanup-cloud-resources si vous voulez ignorer le nettoyage AWS
- Supprimez manuellement les ressources AWS si nécessaire