专属域名
文档搜索
轩辕助手
Run助手
邀请有礼
返回顶部
快速返回页面顶部
收起
收起工具栏

hashicorp/consul-k8s Docker 镜像 - 轩辕镜像

consul-k8s
hashicorp/consul-k8s
自动构建
Consul与Kubernetes之间的顶级集成,支持服务发现与服务网格功能在K8s环境中的应用。
11 收藏0 次下载activehashicorp镜像
🚀专业版镜像服务,面向生产环境设计
中文简介版本下载
🚀专业版镜像服务,面向生产环境设计

Consul + Kubernetes (consul-k8s) 镜像文档

1. 镜像概述和主要用途

consul-k8s 是 HashiCorp 提供的官方镜像,用于实现 Consul 与 Kubernetes(K8s)的原生集成。该镜像包含控制平面组件,负责协调 Consul 与 K8s 集群的交互,提供服务注册、配置管理、服务网格等核心功能。新镜像已迁移至 Docker Hub 仓库:hashicorp/consul-k8s-control-plane。

主要用途:作为 Consul 与 K8s 集群的集成桥梁,简化在 K8s 环境中部署、管理和使用 Consul 的流程,实现微服务架构下的服务发现、配置同步和流量管理。

2. 核心功能和特性

2.1 服务注册与发现
  • 自动注册:监听 K8s 资源(如 Deployment、StatefulSet)事件,自动将 Pod 服务注册至 Consul 集群。
  • 服务健康检查:集成 K8s liveness/readiness probe,同步服务健康状态至 Consul。
  • DNS 解析:通过 Consul DNS 或 K8s CoreDNS 插件,实现跨服务域名解析。
2.2 配置管理
  • 配置同步:将 Consul KV 或 Config Entries(如服务默认配置、意图策略)同步至 K8s ConfigMap/Secret。
  • 动态更新:支持配置变更的热更新,无需重启 K8s 服务。
2.3 服务网格集成(Consul Connect)
  • Sidecar 自动注入:通过 K8s MutatingWebhook,为 Pod 自动注入 Consul Connect Sidecar 代理。
  • 流量管理:支持基于 Consul Intentions 的服务间访问控制,以及 TCP/HTTP 流量路由。
  • TLS 加密:自动生成和轮换服务间通信的 TLS 证书,确保传输安全。
2.4 安全特性
  • RBAC 集成:基于 K8s ServiceAccount 实现细粒度权限控制。
  • 审计日志:记录控制平面操作日志,支持与 K8s 审计系统集成。
2.5 K8s 原生集成
  • 资源适配:支持 K8s 原生资源(如 Namespace、Label)与 Consul 服务元数据的映射。
  • Helm 一键部署:提供官方 Helm Chart,简化集群级部署和配置。

3. 使用场景和适用范围

3.1 适用场景
  • K8s 微服务部署:需实现服务发现、配置管理的微服务架构。
  • 服务网格需求:需通过 Consul Connect 实现服务间流量加密、访问控制的场景。
  • 跨集群服务注册:多 K8s 集群或混合云环境下的跨集群服务发现。
  • 配置中心:需集中管理多环境(开发、测试、生产)服务配置的场景。
3.2 适用范围
  • 用户:K8s 集群管理员、微服务开发团队、DevOps 工程师。
  • 环境:单节点 K8s(测试)、生产级 K8s 集群(如 EKS、GKE、AKS 或自建集群)。
  • 版本兼容性:支持 K8s 1.21+ 及 Consul 1.11+ 版本。

4. 详细使用方法和配置说明

4.1 镜像拉取

从 Docker Hub 拉取最新版本镜像:

bash
docker pull hashicorp/consul-k8s-control-plane:latest

指定版本(推荐生产环境使用固定版本):

bash
docker pull hashicorp/consul-k8s-control-plane:1.2.3  # 替换为实际版本号
4.2 Helm Chart 安装(推荐)

通过官方 Helm Chart 部署 consul-k8s 控制平面及 Consul 集群:

4.2.1 添加 Helm 仓库
bash
helm repo add hashicorp [***]
helm repo update
4.2.2 安装 Consul 集群及控制平面
bash
helm 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 注入
4.3 环境变量配置

控制平面容器支持通过环境变量调整行为,常用变量如下:

环境变量名描述默认值
CONSUL_HTTP_ADDRConsul 服务器地址(如 consul-server:8500)http://localhost:8500
KUBERNETES_SERVICE_HOSTK8s API Server 地址自动从 K8s 环境变量获取
NAMESPACE控制平面部署的 K8s Namespacedefault
LOG_LEVEL日志级别(trace/debug/info/warn/error)info
SYNC_INTERVAL服务状态同步间隔(如 30s)10s
4.4 常用配置参数(Helm Values)

通过 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  # 启用网格网关(跨数据中心通信)

5. 部署示例

5.1 Helm 自定义配置部署
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
5.2 服务注册示例(K8s Deployment)

通过注解手动启用服务注册和 Sidecar 注入:

yaml
apiVersion: 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

6. 注意事项

  • 版本兼容性:确保 consul-k8s-control-plane 版本与 Consul 服务器版本匹配(参考 官方兼容性矩阵)。
  • 资源需求:控制平面建议分配至少 200m CPU 和 256Mi 内存,避免因资源不足导致同步延迟。
  • 安全配置:生产环境需启用 TLS 加密(通过 global.tls.enabled: true)和 RBAC 权限控制。
  • 升级策略:通过 Helm 滚动升级,避免控制平面中断导致服务注册异常。
查看更多 consul-k8s 相关镜像 →
hashicorp/consul-template logo
hashicorp/consul-template
by HashiCorp, an IBM Company
认证
Consul Template 是 HashiCorp Consul 和 Vault 的模板渲染器、通知器及监控器。
32100M+ pulls
上次更新:2 个月前
hashicorp/terraform logo
hashicorp/terraform
by HashiCorp, an IBM Company
认证
Terraform的自动构建。有关更多使用方法和信息,请参见README。
504100M+ pulls
上次更新:25 天前
hashicorp/vault logo
hashicorp/vault
by HashiCorp, an IBM Company
认证
HashiCorp Vault官方Docker镜像,用于在容器环境中安全存储、访问和管理机密信息,提供官方认证的部署方案。
205100M+ pulls
上次更新:1 个月前
hashicorp/tfc-agent logo
hashicorp/tfc-agent
by HashiCorp, an IBM Company
认证
Terraform Cloud Agent是连接用户私有环境与Terraform Cloud的代理服务,用于在自有基础设施中安全执行Terraform计划、应用等IaC操作,保障数据本地化与合规性。
14100M+ pulls
上次更新:1 个月前
hashicorp/consul logo
hashicorp/consul
by HashiCorp, an IBM Company
认证
基于当前版本自动构建的Consul镜像。有关使用详情,请参见README。
8950M+ pulls
上次更新:25 天前
hashicorp/vault-k8s logo
hashicorp/vault-k8s
by HashiCorp, an IBM Company
认证
提供Vault与Kubernetes之间的一流集成,支持两者高效安全协作的工具。
2050M+ pulls
上次更新:23 天前

轩辕镜像配置手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

登录仓库拉取

通过 Docker 登录认证访问私有仓库

Linux

在 Linux 系统配置镜像服务

Windows/Mac

在 Docker Desktop 配置镜像

Docker Compose

Docker Compose 项目配置

K8s Containerd

Kubernetes 集群配置 Containerd

K3s

K3s 轻量级 Kubernetes 镜像加速

宝塔面板

在宝塔面板一键配置镜像

群晖

Synology 群晖 NAS 配置

飞牛

飞牛 fnOS 系统配置镜像

极空间

极空间 NAS 系统配置服务

爱快路由

爱快 iKuai 路由系统配置

绿联

绿联 NAS 系统配置镜像

威联通

QNAP 威联通 NAS 配置

Podman

Podman 容器引擎配置

Singularity/Apptainer

HPC 科学计算容器配置

其他仓库配置

ghcr、Quay、nvcr 等镜像仓库

专属域名拉取

无需登录使用专属域名

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

轩辕镜像免费版与专业版有什么区别?

免费版仅支持 Docker Hub 访问,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。

轩辕镜像支持哪些镜像仓库?

专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等;免费版仅支持 docker.io。

流量耗尽错误提示

当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

410 错误问题

通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。

manifest unknown 错误

先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。

镜像拉取成功后,如何去掉轩辕镜像域名前缀?

使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

oldzhang的头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
hashicorp/consul-k8s
官方博客Docker 镜像使用技巧与技术博客
热门镜像查看热门 Docker 镜像推荐
一键安装一键安装 Docker 并配置镜像源
提交工单
免费获取在线技术支持请 提交工单,官方QQ群:13763429 。
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
免费获取在线技术支持请提交工单,官方QQ群: 。
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
官方邮箱:点击复制邮箱
©2024-2026 源码跳动
官方邮箱:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.
轩辕镜像 官方专业版 Logo
轩辕镜像轩辕镜像官方专业版
首页个人中心搜索镜像
交易
充值流量我的订单
工具
提交工单镜像收录一键安装
Npm 源Pip 源Homebrew 源
帮助
常见问题
其他
关于我们网站地图

官方QQ群: 13763429