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.

Source facts

Repository
kubernetes-sigs/alibaba-cloud-csi-driver
Last source activity
October 15, 2026 at 08:21
Detected SKILL.md language
English
Stars
585
Forks
258

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

File Explorer
7 files

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
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`.
View on GitHub