Skip to content

docs(architecture): accuracy corrections for all addon architecture pages #232

@weicao

Description

@weicao

Summary

Cross-checked every addon architecture page against the actual ComponentDefinition YAML in kubeblocks-addons and kubeblocks core. A number of inaccuracies were found and corrected.

Changes

Container / init-container alignment

  • MongoDB: removed non-existent dbctl (kbagent) container from diagrams and prose; roleProbe is exec /tools/syncerctl getrole in the mongodb container; init-syncer init container documented
  • Redis Cluster: removed kbagent :5001; roleProbe is exec /tools/dbctl redis getrole in redis-cluster; init-dbctl init container documented
  • PostgreSQL: dbctl is an addon-declared sidecar, not kbagent; label corrected in prose and diagram; kbprobe account description clarified (health checks only, not role detection)
  • Qdrant: added qdrant-tools init container (copies jq + curl)
  • etcd: added inject-bash init container
  • Redis Sentinel + Cluster: added init-dbctl init container note
  • MongoDB Sharding / Mongos: added init-kubectl init container note
  • MySQL Semisync: enumerated all four init containers (init-syncer, init-data, init-xtrabackup, init-jemalloc); MGR: three init containers (no xtrabackup)
  • Milvus Distributed: added setup init container
  • Elasticsearch: added three init containers (prepare-plugins, install-plugins, install-es-agent)

ClickHouse

  • Coordinator is ClickHouse Keeper (ch-keeper), not ZooKeeper — corrected throughout prose and diagram
  • Shard component names use a random 3-char suffix (e.g. clickhouse-x7k), not deterministic -0/-1; shardTemplates[].shardIDs documented for predictable names
  • Two topologies: standalone (sharding only) and cluster (ch-keeper + sharding)
  • Removed non-existent dbctl + ch-exporter containers; single clickhouse container with correct ports

RocketMQ

  • Default mode is ASYNC_MASTER/SLAVE, not DLedger; DLedger moved to a note as opt-in
  • Removed non-existent broker ClusterIP service; added per-shard headless service
  • Added exporter and dashboard components to topology table
  • Broker pods: jmx-exporter :5556 + agent :8999

MinIO

  • Metrics at /minio/v2/metrics/cluster on port 9000; no HTTP liveness/readiness probes — addon uses exec roleProbe (mc admin info) → readwrite/notready
  • System accounts: only root (initAccount)
  • Production: minimum 4 replicas, must be multiple of 2

Redis Cluster

  • Shard names shard-0/1/2 are simplified examples; added note that KubeBlocks assigns a random 3-char suffix; referenced shardTemplates[].shardIDs

Elasticsearch

  • Removed version-specific claim "8.x (the version used by this addon)"; addon ships ComponentDefinitions for 6.x, 7.x, and 8.x
  • Replaced "gossip-based discovery mechanism" with "quorum-based master election"
  • Replaced "cluster state gossip" with "cluster state synchronization"

ZooKeeper

  • Observer role: clarified it is not part of the default addon deployment; requires explicit zoo.cfg configuration

All changes applied to both docs/en/preview/ and docs/en/release-1_0_2/.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions