轩辕镜像 官方专业版
轩辕镜像
专业版
轩辕镜像 官方专业版
轩辕镜像
专业版
首页个人中心搜索镜像
交易
充值流量¥7起我的订单
文档
工具
提交工单页面收录
kubeadm-dind-cluster

mirantis/kubeadm-dind-cluster

mirantis

基于kubeadm和DIND(Docker in Docker)的Kubernetes多节点集群,专为Kubernetes开发者及扩展项目设计,支持本地和远程工作流,可快速启动测试集群并运行e2e测试,适合CI环境(如Travis)且无需嵌套虚拟化。

5 次收藏下载次数: 0状态:社区镜像维护者:mirantis仓库类型:镜像最近更新:6 年前
让 AI 帮你使用轩辕镜像? · 展开查看说明 · 点击收起说明

如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。

中文简介
下载命令
镜像标签列表与下载命令
轩辕镜像,不浪费每一次拉取。
点击查看

kubeadm-dind-cluster

镜像概述和主要用途

kubeadm-dind-cluster是一个基于kubeadm和DIND(Docker in Docker)的Kubernetes多节点集群解决方案,主要面向Kubernetes开发者及扩展Kubernetes的项目。它支持本地开发工作流和利用远程高性能机器/云实例构建Kubernetes、启动测试集群及运行e2e测试。与Minikube相比,它更适合Kubernetes本身的开发,尤其在CI环境(如Travis)中可避免嵌套虚拟化问题。

核心功能和特性

  • 多节点支持:可创建包含主节点和多个工作节点的Kubernetes集群
  • 标准部署流程:基于kubeadm实现,更接近生产环境集群配置
  • 版本兼容性:支持Kubernetes 1.8.x、1.9.x和1.10.x版本
  • 快速启动与重启:相比虚拟机方案,集群启动和重启速度更快
  • 源码集成:支持从Kubernetes源码构建并部署集群
  • e2e测试支持:可运行Kubernetes conformance测试及自定义测试
  • IPv6模式:提供实验性IPv6-only集群支持
  • 集群状态转储:支持将集群状态导出为文本或base64压缩格式,便于问题诊断
  • 远程Docker支持:可在远程Docker环境(如GCE实例)上构建和运行集群
  • 灵活配置:支持自定义CNI插件(bridge、flannel、calico、weave等)

使用场景和适用范围

  • Kubernetes核心组件开发与测试
  • 扩展Kubernetes的项目(如Virtlet)开发
  • 需要多节点环境的Kubernetes功能测试
  • CI/CD流水线中的自动化测试(如Travis、Circle CI)
  • 在资源受限环境中运行Kubernetes多节点集群
  • 远程高性能机器上的Kubernetes构建与测试

系统要求

  • Docker 1.12+(推荐)
  • kubectl版本需与使用的Kubernetes版本匹配(如使用hyperkube 1.9.x时,建议使用kubectl 1.9.x)
  • 不支持btrfs存储驱动(可通过设置RUN_ON_BTRFS_ANYWAY环境变量强制运行,但不推荐)
  • 默认使用Docker化构建,无需本地安装Go环境(可通过设置KUBEADM_DIND_LOCAL变量启用本地构建)

Mac OS X特殊要求

  • 需安装md5sha1sum(可通过brew install md5sha1sum获取)
  • 从源码构建Kubernetes时,需确保可本地构建kubectl(make WHAT=cmd/kubectl可正常运行)

使用方法和配置说明

使用预配置脚本

针对Kubernetes 1.8、1.9和1.10版本提供预配置脚本,适合快速启动特定版本集群:

shell
# 下载对应版本脚本(以1.8为例,可替换为1.9或1.10)
$ wget https://cdn.rawgit.com/Mirantis/kubeadm-dind-cluster/master/fixed/dind-cluster-v1.8.sh
$ chmod +x dind-cluster-v1.8.sh

# 启动集群
$ ./dind-cluster-v1.8.sh up

# 将kubectl添加到PATH
$ export PATH="$HOME/.kubeadm-dind-cluster:$PATH"

# 验证集群状态
$ kubectl get nodes
NAME          STATUS    AGE       VERSION
kube-master   Ready     6m        v1.8.6
kube-node-1   Ready     5m        v1.8.6
kube-node-2   Ready     5m        v1.8.6

# Kubernetes Dashboard地址:http://localhost:8080/api/v1/namespaces/kube-system/services/kubernetes-dashboard:/proxy

# 重启集群(比首次启动快)
$ ./dind-cluster-v1.8.sh up

# 停止集群
$ ./dind-cluster-v1.8.sh down

# 清理DIND容器和卷(切换Kubernetes版本时必须执行)
$ ./dind-cluster-v1.8.sh clean

与Kubernetes源码一起使用

适用于需要从源码构建并测试Kubernetes的场景:

shell
# 克隆kubeadm-dind-cluster仓库
$ git clone git@github.com:Mirantis/kubeadm-dind-cluster.git ~/dind

# 进入Kubernetes源码目录
$ cd ~/work/kubernetes/src/k8s.io/kubernetes

# 设置环境变量以构建kubeadm和hyperkube
$ export BUILD_KUBEADM=y
$ export BUILD_HYPERKUBE=y

# 构建二进制文件、镜像并启动集群
$ ~/dind/dind-cluster.sh up

# 验证集群状态
$ kubectl get nodes
NAME          STATUS         AGE
kube-master   Ready,master   1m
kube-node-1   Ready          34s
kube-node-2   Ready          34s

# Kubernetes Dashboard地址:http://localhost:8080/ui

# 运行conformance测试
$ ~/dind/dind-cluster.sh e2e

# 重建并重启集群
$ ~/dind/dind-cluster.sh up

# 运行特定e2e测试(基于子字符串匹配)
$ ~/dind/dind-cluster.sh e2e "existing RC"

# 关闭集群
$ ~/dind/dind-cluster.sh down

首次启动因需构建基础镜像和Kubernetes二进制文件可能较慢,后续启动速度显著提升。

IPv6模式(实验性)

通过设置IP_MODE环境变量启用IPv6-only模式,可自定义DNS64前缀、DIND子网和服务CIDR等参数:

shell
export IP_MODE=ipv6
export EMBBEDDED_CONFIG=y
export DNS64_PREFIX=fd00:77:64:ff9b::
export DIND_SUBNET=fd00:77::
export SERVICE_CIDR=fd00:77:30::/110

注意:如需完整IPv6支持,可能需要 cherry-pick 两个Kubernetes PR:

  • PR #56245:更新Kubenet CNI模板至v0.3.1
  • PR #52748:在e2e测试IP:port端点中为IPv6地址添加括号

配置自定义

可通过编辑config.sh文件覆盖默认设置,关键配置项包括:

  • CNI_PLUGIN:指定CNI插件(可选值:bridge、flannel、calico、weave)
  • 节点数量、网络参数、镜像仓库等(详见config.sh文件注释)

远程Docker / GCE使用

支持在远程Docker环境(如GCE实例)上构建和运行集群,需配合ssh端口转发:

shell
# 加载GCE环境配置(保留docker-machine shell环境)
. gce-setup.sh

需转发KUBE_RSYNC_PORT和APISERVER_PORT端口,具体配置参考Kubernetes源码中build/README.md的"Really remote Docker engine"部分。

集群状态转储

支持将集群状态导出为文本或压缩格式,便于CI环境中的问题诊断:

  • ./dind-cluster.sh dump:导出集群状态为带标记的文本块
  • ./dind-cluster.sh dump64:导出集群状态为base64压缩文本块
  • ./dind-cluster.sh split-dump:将文本块分割为文件(输出至cluster-dump/目录)
  • ./dind-cluster.sh split-dump64:将base64压缩文本块分割为文件

示例:从Travis CI日志中提取并解析集群状态:

shell
travis logs NNN.N | ./dind-cluster.sh split-dump64

转储内容包括:节点系统服务状态与日志、进程/容器/网络信息、Pod容器日志、kubectl资源信息等。

附加说明

  • 非串行[Conformance] e2e测试可正常通过
  • 串行[Serial]...[Conformance]测试存在部分问题,可尝试运行:
    shell
    $ dind/dind-cluster.sh e2e-serial
    

相关工作

  • kubernetes-dind-cluster:kubeadm-dind-cluster的前身,启动速度更快但采用非标准部署方式
  • kubeadm-ci-dind/kubeadm-ci-packager/kubeadm-ci-tester:专注于CI环境,包含打包步骤,速度较慢
  • nkube:在Kubernetes内部启动Kubernetes集群(Kubernetes-in-Kubernetes)

镜像拉取方式

您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

轩辕镜像加速拉取命令点我查看更多 kubeadm-dind-cluster 镜像标签

docker pull docker.xuanyuan.run/mirantis/kubeadm-dind-cluster:<标签>

使用方法:

  • 登录认证方式
  • 免认证方式

DockerHub 原生拉取命令

docker pull mirantis/kubeadm-dind-cluster:<标签>

更多 kubeadm-dind-cluster 镜像推荐

voicebox/kubeadm-dind-cluster logo

voicebox/kubeadm-dind-cluster

voicebox
暂无描述
779 次下载
6 年前更新
diverdane/kubeadm-dind-cluster logo

diverdane/kubeadm-dind-cluster

diverdane
Various images built from branches of https://github/leblancd/kubeadm-dind-cluster
748 次下载
7 年前更新
sebassch/kubeadm-dind-cluster logo

sebassch/kubeadm-dind-cluster

sebassch
暂无描述
549 次下载
7 年前更新
rpothier/kubeadm-dind-cluster logo

rpothier/kubeadm-dind-cluster

rpothier
DinD images
545 次下载
8 年前更新

查看更多 kubeadm-dind-cluster 相关镜像

轩辕镜像配置手册

按平台快速找到配置文档

一键安装

一键安装 Docker

Linux Docker 一键安装

AI

用 AI 使用轩辕镜像

agents.md · AI 对话 · 提示词

Docker

登录仓库拉取

登录认证 · 私有仓库

专属域名拉取

免登录 · 高速拉取

Linux

Docker 镜像配置

Windows / Mac

Docker Desktop 配置

MacOS OrbStack

OrbStack 容器

Apple Container

macOS 原生容器

Docker Compose

Compose 项目配置

NAS

群晖

Synology 配置

飞牛

fnOS 镜像配置

绿联

绿联 NAS

威联通

QNAP 配置

极空间

极空间 NAS

Unraid

Unraid NAS

企业仓库

其他仓库

ghcr · Quay · nvcr

Harbor 镜像源

Proxy Repository 对接

Portainer 镜像源

Registries 配置

Nexus 镜像源

Docker Proxy 缓存

开发工具

Dev Containers

VS Code 开发容器

Podman

Podman 配置指南

Singularity / Apptainer

HPC 科学计算容器

Kubernetes

K8s Containerd

Kubernetes · Containerd

K3s

轻量级集群

面板 / 网络

爱快路由

iKuai 镜像加速

宝塔面板

一键配置镜像源

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

镜像拉取常见问题

功能

版本功能对比

功能对比 · 版本选择

支持的镜像仓库

Docker Hub · GCR · GHCR

新手拉取配置

登录 · 专属域名 · 配置

docker search 限制

专属域名 · Hub 搜索

不支持 push

仅支持 pull · 不支持

拉取速度原因

带宽 · 缓存 · 冷热镜像

错误码

402 与流量用尽

402 · 流量包 · 充值

401 认证失败

401 · docker login

manifest unknown

标签错误 · 镜像不存在

410 Gone 排查

410 · Docker 升级

429 限流

免费版 · 专业版 · 企业版 · 请求频率

其他报错

DNS 超时

DNS 解析 · 网络超时

TLS 证书失败

no matching manifest(架构)

账号

失败是否计费

manifest · blob · 计费

申请开发票(企业 / 个人)

企业 · 个人 · 工单

修改登录密码

网站 · 仓库 · 重置

注销账户

工单 · 数据 · 注销

原理

mirrors 不生效

daemon.json · 重启

去掉域名前缀

docker tag · 重命名

指定架构拉取

ARM64 · AMD64 · 多架构

latest 与「最新」

digest · 版本号 · 标签

查看全部问题→

用户好评

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

用户头像

oldzhang

运维工程师

Linux服务器

5

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

轩辕镜像
镜像详情
...
mirantis/kubeadm-dind-cluster
定价查看流量套餐与价格
博客Docker 镜像公告与技术博客
专业版 · 高速稳定拉取镜像
高速镜像下载·在线技术支持·99.95% SLA 保障·付费会员免广告
50GB 仅 ¥7/年
专业版 · 高速稳定拉取镜像
50GB 仅 ¥7/年
高速镜像下载·在线技术支持·99.95% SLA 保障·付费会员免广告
用户协议·隐私政策·增值电信业务经营许可证:浙B2-20261007·©2024-2026 源码跳动©2024-2026 杭州源码跳动科技有限公司·商务合作:点击复制邮箱