
rancher/k3d-proxyk3d-proxy 是一个辅助容器镜像,专为 k3d(轻量级 Kubernetes 集群管理工具)设计,用于支持集群代理功能。该镜像基于 NGINX 构建,并通过 confd 实现动态配置管理,核心用途是将外部请求代理到 k3d 集群内部的服务,简化集群访问流程。
通过以下命令启动 k3d-proxy 容器,将外部请求代理到指定 k3d 集群:
bashdocker run -d \ --name k3d-proxy \ -p 8080:80 \ # 映射主机端口8080到容器内NGINX端口80 -e K3D_CLUSTER_NAME=my-k3d-cluster \ # 指定k3d集群名称 -e PROXY_TARGET_PORT=80 \ # 集群内部服务目标端口 rancher/k3d-proxy:latest
使用 docker-compose 管理容器,配置更结构化:
yamlversion: '3' services: k3d-proxy: image: rancher/k3d-proxy:latest container_name: k3d-proxy ports: - "8080:80" # 代理端口映射(主机:容器) environment: - K3D_CLUSTER_NAME=my-k3d-cluster # k3d集群名称(必填) - PROXY_TARGET_PORT=80 # 集群内部服务端口 - CONFD_INTERVAL=60 # confd配置检查间隔(秒) restart: unless-stopped
k3d-proxy 的配置通过环境变量和 confd 配置文件实现,核心参数如下:
K3D_CLUSTER_NAME:k3d 集群名称(必填),用于识别目标集群(如 my-k3d-cluster)。K3D_CLUSTER_API_URL:k3d 集群 API 服务器地址(可选,默认通过集群名称自动发现)。PROXY_PORT:容器内 NGINX 监听端口(默认 80)。PROXY_TARGET_PORT:k3d 集群内部服务的目标端口(默认 80)。PROXY_TIMEOUT:NGINX 代理超时时间(默认 60s,格式:60s)。CONFD_BACKEND:confd 配置后端类型(默认 etcd,k3d 集群通常使用 etcd 存储配置)。CONFD_INTERVAL:confd 检查配置更新的间隔时间(默认 30s,单位:秒)。CONFD_NODE:confd 后端节点地址(可选,默认通过 k3d 集群自动获取)。| 环境变量名 | 描述 | 默认值 | 是否必填 |
|---|---|---|---|
K3D_CLUSTER_NAME | k3d 集群名称 | - | 是 |
PROXY_PORT | 容器内 NGINX 监听端口 | 80 | 否 |
PROXY_TARGET_PORT | 集群内部服务目标端口 | 80 | 否 |
K3D_CLUSTER_API_URL | k3d 集群 API 地址(自动发现时可不填) | 自动发现 | 否 |
CONFD_BACKEND | confd 配置后端类型(etcd/kubernetes) | etcd | 否 |
CONFD_INTERVAL | confd 配置检查间隔(秒) | 30 | 否 |
PROXY_TIMEOUT | 代理超时时间(如 60s) | 60s | 否 |
k3d-proxy 源码托管于 GitHub:[***]


manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务