skills/kubeblocks-manage-addons/SKILL.md
Install, uninstall, upgrade, and manage KubeBlocks database engine addons (MySQL, PostgreSQL, Redis, MongoDB, Kafka, Elasticsearch, Milvus, Qdrant, etc.). Use when the user wants to enable or disable a database engine, list available addons, or upgrade an addon version. NOT for creating database clusters (see kubeblocks-create-cluster or kubeblocks-addon-* skills) or installing the KubeBlocks operator itself (see kubeblocks-install).
npx skillsauth add apecloud/kubeblocks-skills kubeblocks-manage-addonsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Since KubeBlocks v0.8.0, database engine support is decoupled from the core operator and delivered as independent addons. Each addon provides ComponentDefinitions, configuration templates, and scripts for a specific database engine. You can install only the engines you need, keeping the cluster lightweight.
Official docs: https://kubeblocks.io/docs/preview/user_docs/references/install-addons Supported addons list: https://kubeblocks.io/docs/preview/user_docs/overview/supported-addons
kubectl has access to the target cluster.- [ ] Step 1: Check currently installed addons
- [ ] Step 2: Add the KubeBlocks Helm repo
- [ ] Step 3: Install / Uninstall / Upgrade addons
- [ ] Step 4: Verify
When KubeBlocks is installed with default settings, these addons are auto-installed:
| Addon | Engine |
|---|---|
| apecloud-mysql | ApeCloud MySQL (HA MySQL with Raft consensus) |
| mysql | Community MySQL |
| postgresql | PostgreSQL |
| redis | Redis |
| mongodb | MongoDB |
| kafka | Apache Kafka |
| etcd | etcd |
| qdrant | Qdrant vector database |
| rabbitmq | RabbitMQ |
To skip auto-installation during KubeBlocks install, set --set autoInstalledAddons="{}".
helm list -n kb-system | grep kb-addon
Example output:
kb-addon-mysql kb-system 1 2024-12-01 10:00:00 deployed mysql-1.0.2
kb-addon-postgresql kb-system 1 2024-12-01 10:00:00 deployed postgresql-1.0.2
kb-addon-redis kb-system 1 2024-12-01 10:00:00 deployed redis-1.0.2
You can also check the ComponentDefinitions registered by addons:
kubectl get componentdefinitions.apps.kubeblocks.io
helm repo add kubeblocks https://apecloud.github.io/helm-charts
helm repo update
China mainland users — if GitHub Pages is slow or blocked, use the JiHuLab mirror:
helm repo add kubeblocks-addons https://jihulab.com/api/v4/projects/150246/packages/helm/stable
helm repo update
Then replace kubeblocks/<addon-name> with kubeblocks-addons/<addon-name> in all commands below.
helm search repo kubeblocks/<addon-name> --versions
Example:
helm search repo kubeblocks/elasticsearch --versions
helm install kb-addon-<name> kubeblocks/<name> \
--namespace kb-system \
--version <VERSION>
Example — install Elasticsearch addon v1.0.2:
helm install kb-addon-elasticsearch kubeblocks/elasticsearch \
--namespace kb-system \
--version 1.0.2
Important: Delete all clusters using the addon before uninstalling.
# Check if any clusters use this addon
kubectl get cluster -A -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.spec.componentSpecs[*].componentDef}{"\n"}{end}' | grep <addon-name>
# Uninstall
helm uninstall kb-addon-<name> --namespace kb-system
helm upgrade kb-addon-<name> kubeblocks/<name> \
--namespace kb-system \
--version <NEW_VERSION>
Addon major version must match KubeBlocks major version. Mismatched versions may cause unexpected errors.
| KubeBlocks Version | Required Addon Version |
|---|---|
| v1.0.x | v1.0.x (or 1.0.x without v prefix in Helm) |
| v0.9.x | v0.9.x |
| v0.8.x | v0.8.x |
Check your KubeBlocks version:
helm list -n kb-system | grep -w kubeblocks
If your cluster cannot pull from Docker Hub, specify a custom registry:
helm install kb-addon-<name> kubeblocks/<name> \
--namespace kb-system \
--version <VERSION> \
--set image.registry=<your-registry>
China mainland mirror:
--set image.registry=apecloud-registry.cn-zhangjiakou.cr.aliyuncs.com
# Confirm the addon Helm release is deployed
helm list -n kb-system | grep kb-addon
# Check that ComponentDefinitions are registered
kubectl get componentdefinitions.apps.kubeblocks.io | grep <addon-name>
# Verify no errors in KubeBlocks operator logs
kubectl -n kb-system logs -l app.kubernetes.io/name=kubeblocks --tail=50
helm search repo kubeblocks/ | grep -v "^NAME"
for addon in elasticsearch starrocks-ce milvus; do
helm install kb-addon-${addon} kubeblocks/${addon} \
--namespace kb-system \
--version 1.0.2
done
helm list -n kb-system | grep kb-addon | awk '{print $1}' | xargs -I {} helm -n kb-system uninstall {}
Addon install fails with "not found" error:
helm repo update to refresh the index.helm search repo kubeblocks/ | grep <name>Addon install succeeds but ComponentDefinition not found:
kubectl -n kb-system logs -l app.kubernetes.io/name=kubeblocks --tail=100addonController.enabled is true (default).Image pull errors in addon pods:
--set image.registry=<registry>--set image.registry=apecloud-registry.cn-zhangjiakou.cr.aliyuncs.comVersion mismatch warnings:
helm list -n kb-system | grep kubeblocks for the operator version.For a complete list of supported addons and their feature matrix, see reference.md.
devops
Expand persistent volume storage for KubeBlocks database clusters via OpsRequest. Requires the StorageClass to support volume expansion (allowVolumeExpansion=true). Use when the user needs more disk space, wants to increase storage, expand volumes, or resize PVCs. NOT for changing CPU/memory (see vertical-scaling) or adding more replicas (see horizontal-scaling). Note that volume shrinking is not supported by Kubernetes.
data-ai
Scale CPU and memory resources for KubeBlocks database clusters via OpsRequest (vertical scaling). Supports in-place updates when the feature gate is enabled. Use when the user wants to change, increase, decrease, resize, or adjust CPU or memory resources of a database cluster. NOT for adding/removing replicas or shards (see horizontal-scaling) or expanding disk storage (see volume-expansion).
data-ai
Upgrade the KubeBlocks operator itself via Helm. Covers update operator, upgrade to v1.0, update kubeblocks version, and CRD updates. Use when the user wants to upgrade KubeBlocks, update the operator, or upgrade to a new KubeBlocks release. NOT for upgrading database engine versions (see minor-version-upgrade).
development
Diagnostic guide for KubeBlocks-managed database clusters. Use when the user reports troubleshoot, debug, diagnose, not working, error, failed, stuck, CrashLoopBackOff, cluster exception, or similar problems with their database cluster. This skill guides the agent through diagnostic steps — it does NOT perform actions.