Skip to main content

debug-csi

Build, deploy, and debug the alibaba-cloud-csi-driver on a test cluster. Use this skill when the user wants to build images, deploy via helm, check logs, restart components, or troubleshoot the CSI plugin/provisioner. Also trigger for "deploy csi", "check csi logs", "restart csi", "debug csi", "build and push", or any question about how to iterate on this driver in a dev cluster.

Datos de origen

Repositorio
kubernetes-sigs/alibaba-cloud-csi-driver
Última actividad en el origen
19 de octubre de 2026 a las 11:37
Idioma detectado de SKILL.md
inglés
Estrellas
586
Forks
258

Opciones de instalación

De forma predeterminada está seleccionado el prompt que primero revisa el origen. Puedes cambiar a un comando directo o descargar una copia local.

Revisa los archivos de origen

Lee SKILL.md y los archivos complementarios que muestra SkillsMP antes de decidir si quieres instalarlo.

Explorador de archivos
7 archivos

Mostrando SKILL.md

SKILL.md
Instrucciones de origen · Vista previa de solo lectura
name
debug-csi
description
Build, deploy, and debug the alibaba-cloud-csi-driver on a test cluster. Use this skill when the user wants to build images, deploy via helm, check logs, restart components, or troubleshoot the CSI plugin/provisioner. Also trigger for "deploy csi", "check csi logs", "restart csi", "debug csi", "build and push", or any question about how to iterate on this driver in a dev cluster.
# Debug CSI Driver This skill covers the build-deploy-debug loop for the CSI driver on an ACK test cluster. Prerequisite: `.local/test-values.yaml` must exist. If it doesn't (or the cluster it refers to is unreachable), run `/init-dev-env` first. ## Build and deploy ### Uninstall component-center version (if present) Before deploying via helm, check whether the CSI driver was installed via the ACK component center: ```bash helm list -n kube-system ``` If there's a `csi` release, it's already a debug version — skip uninstall. Otherwise run: ```bash ../../init-dev-env/scripts/uninstall-csi-addon.sh ``` ### Build and push images When building from a non-VPC environment (e.g. local machine), apply the yum mirror patch first so that container builds can access the alinux3 repos: ```bash git apply .agents/skills/debug-csi/yum-mirror.diff ``` This is a local-only patch — do not commit it. Just revert it if it gets into your way, and apply it again when building again. ```bash PLATFORM=linux/amd64 IMAGE_REPO=<registry>/<namespace> IMAGE_TAG=latest ./build/build-all-multi.sh ``` Refer to `.local/test-values.yaml` for the registry and namespace. `IMAGE_TAG` defaults to `latest`; set it to a custom tag (e.g. `v1.35.3-dev`) if needed. The script builds and pushes all images: `csi-plugin`, `csi-plugin:init`, `csi-plugin:controller`, `csi-agent`, `csi-ossfs`, `csi-ossfs2`, `csi-alinas`, `mount-proxy`. To build only specific images, set `IMAGES` (space-separated names without tags): ```bash IMAGES="mount-proxy csi-agent" PLATFORM=linux/amd64 IMAGE_REPO=<registry>/<namespace> ./build/build-all-multi.sh ``` ### Deploy via helm ```bash helm upgrade -f .local/test-values.yaml -n kube-system ack-csi-plugin ./deploy/charts/alibaba-cloud-csi-driver # One-time: set imagePullPolicy to Always scripts/set-image-pull-policy.sh ``` If only images changed (no chart changes), rolling-restart instead of helm upgrade: ```bash kubectl -n kube-system rollout restart deploy/csi-provisioner kubectl -n kube-system rollout restart daemonset/csi-plugin ``` ## Debugging and logs **csi-plugin** (daemonset, runs on each node, handles NodePublish/NodeUnpublish): ```bash kubectl -n kube-system logs -l app=csi-plugin -c csi-plugin --tail=100 ``` **csi-provisioner** (deployment, handles ControllerPublish/ControllerUnpublish): ```bash kubectl -n kube-system logs -l app=csi-provisioner -c csi-provisioner --tail=100 ``` ## Restarting components Patching the pod template (env, imagePullPolicy, etc.) automatically triggers a rolling update. `rollout restart` is only needed when the patch reports "no change" (e.g. image tag is the same). ## Test pod images Use `mirrors-ssl.aliyuncs.com/busybox` or `mirrors-ssl.aliyuncs.com/debian` as test pod images. Also use these for ephemeral containers and `kubectl debug` commands. Docker Hub and other registries outside China are unreliable due to network issues. `mirrors-ssl.aliyuncs.com` mirrors all popular official Docker Hub images. ## OSS / OSSFS For OSSFS-related debugging (fuse pod image config, fuse pod logs, fuse pod lifecycle), read `references/oss.md`. ## NAS / cnfs-nas-daemon For NAS mount proxy debugging (enabling the proxy, testing cnfs-nas-daemon images, EFC mount flow), read `references/nas.md`.
Ver en GitHub