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.

来源信息

仓库
NVIDIA/k8s-launch-kit
最近来源活动
2026年9月28日 10:32
检测到的 SKILL.md 语言
英语
星标
16
分支
11

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

文件资源管理器
2 个文件

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
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.
在 GitHub 查看