Skip to main content

k8s-launch-kit-clean

Remove an NVIDIA Network Operator deployment from a Kubernetes cluster with l8k clean. Use when the user explicitly asks to uninstall, tear down, remove, reset, or clean a Network Operator installation, delete its custom resources, or keep the Helm chart while clearing Network Operator CRs.

Informations de source

Dépôt
NVIDIA/k8s-launch-kit
Dernière activité de la source
28 septembre 2026 à 10:32
Langue détectée de SKILL.md
anglais
Étoiles
16
Forks
11

Options d'installation

Le prompt qui vérifie d'abord la source est sélectionné par défaut. Vous pouvez passer à une commande directe ou télécharger une copie locale.

Vérifiez les fichiers source

Lisez SKILL.md et les fichiers associés affichés par SkillsMP avant de décider de l'installer.

Explorateur de fichiers
2 fichiers

Affichage de SKILL.md

SKILL.md
Instructions source · Aperçu en lecture seule
name
k8s-launch-kit-clean
description
Remove an NVIDIA Network Operator deployment from a Kubernetes cluster with l8k clean. Use when the user explicitly asks to uninstall, tear down, remove, reset, or clean a Network Operator installation, delete its custom resources, or keep the Helm chart while clearing Network Operator CRs.
# Clean a Network Operator Deployment Read `k8s-launch-kit-shared` first for binary discovery, JSON output, and error handling. ## Safety Boundary Treat cleanup as an irreversible live-cluster mutation. Require explicit user authority to remove the deployment. Do not infer cleanup authority from a request to inspect, validate, troubleshoot, or explain the command. Before running it: 1. Resolve the intended kubeconfig and show its current context. 2. Determine the intended Network Operator namespace. 3. Explain that all namespaced custom resources in that namespace and every known cluster-scoped Network Operator CR will be deleted. 4. Confirm whether the Helm release should be uninstalled or retained. Use read-only checks when the target is not already explicit: ```bash kubectl --kubeconfig <PATH> config current-context helm --kubeconfig <PATH> list --all-namespaces --filter '^network-operator$' ``` Stop and ask for direction if the kubeconfig, cluster, namespace, or Helm retention choice remains ambiguous. ## Run Cleanup An AI agent uses JSON mode after the user authorizes the exact target: ```bash l8k clean \ --kubeconfig <PATH> \ --network-operator-namespace <NAMESPACE> \ --output json >cleanup.json 2>cleanup.log && jq . cleanup.json ``` Omit `--network-operator-namespace` only when the user expects l8k to resolve it from `--user-config`, `./cluster-config.yaml`, an explicit `--config-dir`, or the `nvidia-network-operator` default. l8k does not trust in-cluster objects to select a destructive cleanup target. The same trusted local config supplies `networkOperator.skipHelmChart`; when true, l8k treats the Helm release as externally owned and retains it. To retain the installed release and its chart-managed resources: ```bash l8k clean \ --kubeconfig <PATH> \ --network-operator-namespace <NAMESPACE> \ --keep-helm-chart \ --output json >cleanup.json 2>cleanup.log && jq . cleanup.json ``` JSON mode auto-confirms. Do not invoke it until the read-only target checks and authorization are complete. `l8k clean` has no dry-run mode. Check the command status before parsing and retain `cleanup.log` on failure; see the capture recipe in `docs/integrator/automation.md`. ## Deletion Semantics The command: - Deletes every namespaced custom-resource instance in the resolved operator namespace. - Deletes all `HostDeviceNetwork`, `IPoIBNetwork`, `MacvlanNetwork`, `NicNodePolicy`, and `NicClusterPolicy` instances cluster-wide. - Sends deletion requests to the complete namespaced and cluster-scoped set before monitoring any CR for finalizer completion, then uses the same delete-all-then-wait ordering for re-sweeps. - Keeps controllers installed until CR deletion and finalizers complete. - Uninstalls the `network-operator` Helm release last unless `networkOperator.skipHelmChart` or `--keep-helm-chart` retains it. - Preserves the namespace, CRDs, Secrets not owned by Helm, local files, and namespaced custom resources elsewhere. Helm metadata and chart-managed resources are removed with the release. - Treats already-missing resources and Helm releases as successful no-ops. Do not manually strip finalizers as part of the normal workflow. If cleanup waits indefinitely, inspect the affected CR, operator pods, and events; request separate authority before forcing finalizer removal. ## Verify the Result Require `.success == true`, then report: - `.cleanup.namespace` - `.cleanup.customResourcesDeleted` - `.cleanup.helmReleaseRemoved` - `.cleanup.keepHelmChart` `cleanup.keepHelmChart` is the effective policy from config plus the explicit flag, not merely whether `--keep-helm-chart` appeared on the command line. If the Helm release was meant to be removed, verify it is absent with the same read-only `helm list` command. If it was kept, verify it remains deployed. ## OpenShift `l8k clean --flavor ocp` is rejected. The broad Kubernetes cleanup does not cover separately installed OpenShift operators; remove only exact intended resources manually.
Voir sur GitHub