本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
vitess/k8s 是 Vitess 项目官方提供的 Docker 镜像,专为 Kubernetes (K8s) 环境设计,用于部署和运行 Vitess 集群组件。Vitess 是一个分布式 MySQL 集群管理系统,旨在解决大规模 MySQL 部署的高可用、水平扩展和运维复杂性问题。该镜像基于 Vitess 核心代码构建,集成了与 K8s 环境适配的配置与依赖,支持在 K8s 集群中快速部署 Vitess 组件(如 vtgate、vttablet、etcd 等)。
vtgate 组件提供单一数据库访问入口,透明路由请求至目标分片;etcd 存储集群元数据(如分片拓扑、路由规则),支持动态调整。orchestrator 或内置机制监测节点故障,自动提升从库为主库;mysql 命令行、JDBC 驱动)直接连接;vtctlclient、vtctld 等管理工具,支持集群配置与运维;通过 Docker Hub 拉取最新版本镜像:
docker pull vitess/k8s:latest
指定版本(如 v16.0.0):
docker pull vitess/k8s:v16.0.0
vitess/k8s 镜像通过环境变量配置核心参数,常用变量如下表:
| 环境变量名 | 类型 | 默认值 | 说明 |
|---|---|---|---|
VTROOT | 字符串 | /vt | Vitess 安装根目录 |
VT_PORT | 整数 | 15000 | Vitess 组件服务端口(如 vtgate 端口) |
ETCD_ENDPOINTS | 字符串 | [***] | etcd 集群访问地址(多个用逗号分隔) |
MYSQL_USER | 字符串 | vt_dba | 连接后端 MySQL 的用户名 |
MYSQL_PASSWORD | 字符串 | - | 连接后端 MySQL 的密码(必填) |
CLUSTER_NAME | 字符串 | vitess | Vitess 集群名称 |
CELL | 字符串 | zone1 | 集群单元(Cell)名称,用于多区域部署 |
VTLOG_LEVEL | 字符串 | info | 日志级别(debug/info/warn/error) |
以下示例通过 docker run 启动 vtgate 组件(需提前部署 etcd 和 MySQL):
docker run -d \ --name vtgate \ --network vitess-network \ # 确保与 etcd/MySQL 在同一网络 -p 15000:15000 \ # 暴露 vtgate 访问端口 -e ETCD_ENDPOINTS="[***]" \ -e MYSQL_USER="vt_dba" \ -e MYSQL_PASSWORD="your_password" \ -e CLUSTER_NAME="my-vitess-cluster" \ vitess/k8s:latest \ vtgate \ # 启动 vtgate 组件 --log_dir=/var/log/vitess \ # 日志目录 --port=15000 # 服务端口(需与环境变量 VT_PORT 一致)
通过 docker-compose.yml 编排 Vitess 核心组件(含 etcd 和 MySQL 测试环境):
version: '3' services: etcd: image: bitnami/etcd:3.5 environment: - ALLOW_NONE_AUTHENTICATION=yes ports: - "2379:2379" volumes: - etcd-data:/bitnami/etcd mysql: image: mysql:8.0 environment: - MYSQL_ROOT_PASSWORD=root_password - MYSQL_USER=vt_dba - MYSQL_PASSWORD=your_password - MYSQL_DATABASE=vt_test ports: - "3306:3306" volumes: - mysql-data:/var/lib/mysql vtgate: image: vitess/k8s:latest depends_on: - etcd - mysql ports: - "15000:15000" environment: - ETCD_ENDPOINTS="[***]" - MYSQL_USER="vt_dba" - MYSQL_PASSWORD="your_password" - CLUSTER_NAME="my-vitess-cluster" command: vtgate --log_dir=/var/log/vitess --port=15000 volumes: etcd-data: mysql-data:
vitess/k8s 镜像主要用于 K8s 环境,推荐通过官方 Helm Chart 或 Operator 部署。以下为 StatefulSet 部署 vttablet 组件的简化示例(完整配置需参考官方文档):
apiVersion: apps/v1 kind: StatefulSet metadata: name: vttablet spec: serviceName: vttablet replicas: 3 selector: matchLabels: app: vttablet template: metadata: labels: app: vttablet spec: containers: - name: vttablet image: vitess/k8s:latest ports: - containerPort: 15000 env: - name: ETCD_ENDPOINTS value: "[***]" - name: MYSQL_USER valueFrom: secretKeyRef: name: mysql-creds key: user - name: MYSQL_PASSWORD valueFrom: secretKeyRef: name: mysql-creds key: password command: ["vttablet", "--log_dir=/var/log/vitess", "--port=15000"] volumeMounts: - name: vttablet-data mountPath: /var/lib/vitess volumeClaimTemplates: - metadata: name: vttablet-data spec: accessModes: [ "ReadWriteOnce" ] resources: requests: storage: 10Gi
vttablet 等组件需持久化存储数据,生产环境需配置可靠的 PV/PVC;

免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429