如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
consul-k8s 是 HashiCorp 提供的官方镜像,用于实现 Consul 与 Kubernetes(K8s)的原生集成。该镜像包含控制平面组件,负责协调 Consul 与 K8s 集群的交互,提供服务注册、配置管理、服务网格等核心功能。新镜像已迁移至 Docker Hub 仓库:https://hub.docker.com/repository/docker/hashicorp/consul-k8s-control-plane%E3%80%82
主要用途:作为 Consul 与 K8s 集群的集成桥梁,简化在 K8s 环境中部署、管理和使用 Consul 的流程,实现微服务架构下的服务发现、配置同步和流量管理。
从 Docker Hub 拉取最新版本镜像:
bashdocker pull hashicorp/consul-k8s-control-plane:latest
指定版本(推荐生产环境使用固定版本):
bashdocker pull hashicorp/consul-k8s-control-plane:1.2.3 # 替换为实际版本号
通过官方 Helm Chart 部署 consul-k8s 控制平面及 Consul 集群:
4.2.1 添加 Helm 仓库
bashhelm repo add hashicorp https://helm.releases.hashicorp.com helm repo update
4.2.2 安装 Consul 集群及控制平面
bashhelm install consul hashicorp/consul \ --namespace consul --create-namespace \ --set global.name=consul \ --set server.replicas=3 \ # 生产环境推荐 3+ 副本 --set client.enabled=true \ --set connectInject.enabled=true # 启用 Connect Sidecar 注入
控制平面容器支持通过环境变量调整行为,常用变量如下:
| 环境变量名 | 描述 | 默认值 |
|---|---|---|
CONSUL_HTTP_ADDR | Consul 服务器地址(如 consul-server:8500) | http://localhost:8500 |
KUBERNETES_SERVICE_HOST | K8s API Server 地址 | 自动从 K8s 环境变量获取 |
NAMESPACE | 控制平面部署的 K8s Namespace | default |
LOG_LEVEL | 日志级别(trace/debug/info/warn/error) | info |
SYNC_INTERVAL | 服务状态同步间隔(如 30s) | 10s |
通过 values.yaml 自定义部署配置,核心参数示例:
yaml# 控制平面配置 controller: enabled: true # 启用控制平面控制器 replicas: 2 # 控制平面副本数(生产环境推荐 2+) # Consul 服务器配置 server: enabled: true replicas: 3 storageClass: "standard" # 持久化存储类 resources: requests: cpu: "500m" memory: "1Gi" # Connect 注入配置 connectInject: enabled: true default: true # 对所有 Pod 自动注入 Sidecar(可通过注解禁用) transparentProxy: enabled: true # 启用透明代理 # 服务网格配置 meshGateway: enabled: true # 启用网格网关(跨数据中心通信)
bash# 创建自定义 values.yaml cat > values.yaml << EOF global: name: consul datacenter: dc1 controller: enabled: true logLevel: debug connectInject: enabled: true default: false # 需手动注解 Pod 才注入 Sidecar server: replicas: 3 EOF # 安装或升级 Helm Release helm install consul hashicorp/consul \ --namespace consul --create-namespace \ -f values.yaml
通过注解手动启用服务注册和 Sidecar 注入:
yamlapiVersion: apps/v1 kind: Deployment metadata: name: example-service namespace: default spec: replicas: 2 selector: matchLabels: app: example-service template: metadata: labels: app: example-service annotations: consul.hashicorp.com/connect-inject: "true" # 启用 Sidecar 注入 consul.hashicorp.com/service-name: "example-service" # 注册到 Consul 的服务名 consul.hashicorp.com/health-check-path: "/health" # 健康检查路径 spec: containers: - name: service image: nginx:alpine ports: - containerPort: 80
consul-k8s-control-plane 版本与 Consul 服务器版本匹配(参考 官方兼容性矩阵)。200m CPU 和 256Mi 内存,避免因资源不足导致同步延迟。global.tls.enabled: true)和 RBAC 权限控制。您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务