k3d 入门指南:在 Docker 中一键运行 CNCF k3s 集群
云原生容器编排【免费下载链接】k3dLittle helper to run CNCFs k3s in Docker项目地址https://gitcode.com/gh_mirrors/k3/k3d点击查看免费下载k3d 是围绕 Rancher Labs 的轻量级 Kubernetes 发行版 k3s 构建的 Docker 封装工具它把 k3s 集群的每一个节点都包装成 Docker 容器让你在本机用一条命令就能创建单节点甚至多节点的 Kubernetes 集群非常适合本地开发、CI 流水线与日常验证。读完本文你将掌握 k3d 的安装方式、k3d cluster create核心用法与常用参数、kubeconfig 对接 kubectl 的流程以及其底层容器化原理与配置默认值来源。k3d 是什么k3d 是一个轻量级包装器wrapper用于在 Docker 中运行 k3sRancher 团队维护的极简 Kubernetes 发行版。它让创建单节点与多节点 k3s 集群变得非常简单——例如在本地开发 Kubernetes 应用时你可以在数秒内得到一个可用的集群。从源码看k3d 的命令行根命令这样描述自己cmd/root.gok3d is a wrapper CLI that helps you to easily create k3s clusters inside docker. Nodes of a k3d cluster are docker containers running a k3s image. All Nodes of a k3d cluster are part of the same docker network.关键要点集群节点就是容器k3d 集群中的每个节点都是一个运行 k3s 镜像的 Docker 容器共享网络一个集群的所有节点都属于同一个 Docker 网络入口即负载均衡器默认情况下 k3d 会在 server 节点前创建一个 nginx 负载均衡器容器serverlb作为集群 API 的入口kubectl等客户端连接的就是它。在 pkg/types/types.go 中定义了节点的角色serverk3s 服务端、agentk3s 工作节点、loadbalancernginx 入口、registry内置镜像仓库。cluster create的帮助文本cmd/cluster/clusterCreate.go也明确说明每个集群由 1 个或多个 server 容器、可选 1 个负载均衡器容器、可选 1 个或多个 agent 容器组成。注意k3d 是一个社区驱动的开源项目并非 RancherSUSE的官方产品。环境要求组件说明Dockerk3d 完全依赖 Docker 运行必须预先安装。k3d v5.x.x 至少需要Docker v20.10.5runc v1.0.0-rc93才能正常工作kubectl用于与 Kubernetes 集群交互创建集群后通过它执行kubectl get nodes等操作安装 k3d官方提供多种安装途径按需选择即可。方式一安装脚本推荐install.sh位于仓库根目录 install.sh支持通过TAG环境变量指定版本# 安装最新 releasewget wget -q -O - https://raw.githubusercontent.com/k3d-io/k3d/main/install.sh | bash # 安装最新 releasecurl curl -s https://raw.githubusercontent.com/k3d-io/k3d/main/install.sh | bash # 安装指定版本例如 v5.0.0wget wget -q -O - https://raw.githubusercontent.com/k3d-io/k3d/main/install.sh | TAGv5.0.0 bash # 安装指定版本curl curl -s https://raw.githubusercontent.com/k3d-io/k3d/main/install.sh | TAGv5.0.0 bash从 install.sh 的源码可以看出该脚本的健壮性设计自动识别平台initArch/initOS将uname输出映射为linux-amd64、darwin-arm64等二进制命名支持 Windowsmingw环境强制 HTTPS 与 TLS 1.2scurl使用--proto https --tlsv1.2 --fail --show-error保证下载安全SHA256 校验verifyChecksum会比对checksums.txt中的期望值与实际哈希校验失败即中止安装默认安装路径/usr/local/bin可用--no-sudo参数免 sudo 安装也可通过环境变量K3D_INSTALL_DIR自定义目录。方式二系统包管理器平台命令macOS / LinuxHomebrewbrew install k3dArch LinuxAURyay -S rancher-k3d-binWindowsChocolateychoco install k3dWindowsScoopscoop install k3d通用arkadearkade get k3d通用asdfasdf plugin-add k3d asdf install k3d latest方式三Go 安装或源码构建# 通过 Go 安装注意得到的是未发布/最新的开发版本 go install github.com/k3d-io/k3d/v5latest如需从源码构建可git clone本仓库后在根目录执行make install-tools # 安装所需的 Go 依赖 make build # 为当前系统构建 make build-cross # 交叉构建所有平台快速开始30 秒创建一个单节点集群创建名为mycluster的集群默认只含一个 server 节点外加一个负载均衡器容器k3d cluster create mycluster创建完成后即可使用 kubectl 访问集群kubectl get nodes集群创建成功后k3d 会自动把新集群的连接信息合并进你的默认 kubeconfig通常是$HOME/.kube/config并直接切换到新 context。如果因某种原因没有切换可以手动合并并切换k3d kubeconfig merge mycluster --kubeconfig-switch-context之后就能正常执行kubectl cluster-info、kubectl get pods --all-namespaces等操作。完整生命周期示例一个典型的 k3d 工作流与 README.md 描述一致# 1. 创建单节点集群 k3d cluster create mycluster # 2.默认已随创建完成合并 kubeconfig 并切换 context k3d kubeconfig merge mycluster --kubeconfig-switch-context # 3. 与集群交互 kubectl get pods --all-namespaces # 4. 删除集群 k3d cluster delete mycluster创建集群时的常用参数源码级解读k3d cluster create是 k3d 最核心的命令其全部标志定义在 cmd/cluster/clusterCreate.go。以下参数默认值均以当前仓库源码为准。节点数量与镜像参数默认值说明--servers, -s1创建多少个 server 节点多 server 即 HA 集群--agents, -a0创建多少个 agent工作节点--image, -idocker.io/rancher/k3s:默认k3s版本指定节点使用的 k3s 镜像k3s 默认镜像仓库定义在 pkg/types/images.go为docker.io/rancher/k3s默认 k3s 版本在 version/version.go 中硬编码可用k3d version查看当前 k3d 版本与默认 k3s 版本。示例创建 3 server 2 agent 的多节点集群k3d cluster create mycluster --servers 3 --agents 2API 端口与端口映射参数说明--api-port [HOST:]HOSTPORT指定暴露在负载均衡器上的 Kubernetes API 端口例如k3d cluster create --servers 3 --api-port 0.0.0.0:6550。若留空源码会自动探测一个空闲端口见applyCLIOverrides中的GetFreePort逻辑--port, -p [HOST:][HOSTPORT:]CONTAINERPORT[/PROTOCOL][NODEFILTER]将节点容器端口通过 serverlb 映射到宿主机例如k3d cluster create --agents 2 -p 8080:80agent:0 -p 8081agent:1--no-lb禁用 server 节点前的负载均衡器默认 API 端口常量6443定义在 pkg/types/defaults.go。网络、存储与环境变量参数说明--network加入已存在的 Docker 网络--subnet实验性IPAM为新创建的容器网络指定子网例如172.28.0.0/16--volume, -v [SOURCE:]DEST[NODEFILTER...]向节点挂载卷例如-v /my/pathagent:0,1--env, -e KEY[VALUE][NODEFILTER...]向节点注入环境变量例如-e HTTP_PROXYmy.proxy.comserver:0--host-alias ip:host[,host...]向节点/etc/hosts添加 IP 与主机名映射k3s 行为定制参数说明--k3s-arg ARGNODEFILTER向 k3s 传递额外参数例如--k3s-arg --disabletraefikserver:0可禁用 Traefik--k3s-node-label KEY[VALUE][NODEFILTER]给 k3s 节点打 label--token指定集群 token默认自动生成--wait返回前等待 server 就绪默认true配合--timeout避免无限等待--timeout超时未创建成功则回滚所有变更--no-rollback失败时禁用自动回滚运行时与镜像仓库参数说明--gpus添加 GPU 设备all表示传递全部 GPU--servers-memory/--agents-memory对 server / agent 容器施加内存限制--host-pid-mode启用宿主机 PID 模式--registry-create NAME[:HOST][:HOSTPORT]创建 k3d 管理的本地镜像仓库并接入集群例如--registry-create mycluster-registry:0.0.0.0:5432--registry-use连接一个或多个本地运行的 k3d 管理仓库--registry-config指定额外的registries.yaml文件路径节点过滤器NODEFILTER上述许多标志都支持NODEFILTER语法用于把配置精确应用到特定节点例如server:0表示第一个 server 节点agent:0,1表示前两个 agent 节点多组过滤条件用分号分隔。这是 k3d 灵活性的核心设计之一同一批节点可以拥有不同的端口、卷、环境变量与 k3s 参数。底层原理创建集群时发生了什么从源码看一次k3d cluster create的完整链路是pkg/client/cluster.go 的ClusterRun函数配置装配CLI 标志经applyCLIOverrides处理后与配置文件合并成最终配置cmd/cluster/clusterCreate.go随后经过ProcessSimpleConfig、TransformSimpleToClusterConfig、ValidateClusterConfig等校验与转换阶段基础设施准备ClusterPrep创建专属 Docker 网络创建容器ClusterCreate依次创建 server、agent、负载均衡器容器同时异步EnsureToolsNode保证存在一个 k3d-tools 辅助容器用于后续镜像导入等操作启动与等待ClusterStart启动全部容器并等待 server 就绪--waitkubeconfig 写入若开启--kubeconfig-update-default默认开启调用KubeconfigGetWrite把新集群 context 合并进默认 kubeconfig 并切换当前 contextcmd/cluster/clusterCreate.go失败回滚任一步失败都会自动执行ClusterDelete回滚除非指定--no-rollback。几个值得记住的默认值pkg/types/defaults.go默认集群名k3s-default不指定 NAME 时对象前缀k3d因此容器名形如k3d-mycluster-server-0集群名最大长度32 字符保证拼接前缀和后缀后不超出 Docker 的 64 字符限制。集群日常管理创建之后你还可以用以下命令管理集群k3d cluster list # 列出所有集群 k3d cluster start mycluster # 启动已停止的集群 k3d cluster stop mycluster # 停止集群保留容器 k3d cluster delete mycluster # 删除集群含容器、网络等 k3d node list # 查看集群节点 k3d registry list # 查看 k3d 管理的镜像仓库这些命令的实现分别位于 cmd/cluster、cmd/node、cmd/registry 目录下。进阶阅读路径本仓库的文档站点还提供了丰富的进阶指南建议按需查阅集群配置文件详解用 YAML 配置文件声明集群拓扑、端口、卷、镜像仓库等实现可复现的集群定义多 server 集群HA深入理解 serverlb 与多 server 高可用架构镜像导入把本地镜像导入 k3d 集群依赖 k3d-tools 容器与镜像卷私有镜像仓库配置包括--registry-create与registries.yaml的完整用法kubeconfig 管理k3d kubeconfig子命令的详细说明k3s 相关配置如何通过--k3s-arg定制 k3s 行为。生态相关项目均在仓库外维护包括VSCode 扩展 vscode-k3d、Linux 图形前端 k3x、用于 GitHub Actions 的 AbsaOSS/k3d-action 与 nolar/setup-k3d-k3s以及支持 k3d provider 的 AutoK3s。小结k3d 的价值在于把在 Docker 里跑一个多节点 Kubernetes 集群从繁琐的手工操作压缩为一条命令。本文覆盖了其概念、安装、快速上手与常用参数并结合仓库源码说明了默认值与底层流程。接下来建议你立刻执行k3d cluster create体验一次完整生命周期再配合配置文件指南把集群定义固化为可复用的 YAML即可把 k3d 顺畅地纳入日常开发与 CI 流程。赞分享云原生容器编排【免费下载链接】k3dLittle helper to run CNCFs k3s in Docker项目地址https://gitcode.com/gh_mirrors/k3/k3d点击查看免费下载相关推荐Vuetify 文档搜索接入浏览器搜索引擎指南从地址栏一键直达官方文档Vuetify 文档搜索接入浏览器搜索引擎指南从地址栏一键直达官方文档 导读 本文以 Vuetify 官方文档仓库中的 packages/docs/src/p云原生容器编排k3d node delete 完全指南在 Docker 中精准删除 k3s 集群节点k3d node delete 完全指南在 Docker 中精准删除 k3s 集群节点 本篇技术指南围绕 k3d 的 k3d node delete 命令展开云原生容器编排GameDevMind 运营安全实战游戏服务器的 DDoS 防护、DNS 劫持应对、暴力破解加固与高防服务选型GameDevMind 运营安全实战游戏服务器的 DDoS 防护、DNS 劫持应对、暴力破解加固与高防服务选型 本文为 GameDevMind 游戏开发技术图云原生容器编排上一篇EasyPhoto云部署终极指南阿里云DSW、AutoDL、Docker全攻略下一篇Alda乐器大全128种MIDI音色完整指南与使用技巧创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

k0s 节点本地负载均衡(NLLB)完全指南:为无外部负载均衡的高可用控制平面构建内部韧性

k0s 节点本地负载均衡(NLLB)完全指南:为无外部负载均衡的高可用控制平面构建内部韧性

云原生容器编排边缘计算 【免费下载链接】k0s k0s - The Zero Friction Kubernetes 项目地址: https://gitcode.com/gh_mirrors/k0/k0s 点击查看 免费下载 k0s 的 Node-local load balancing(节点本地负载均衡,下文简称 NLLB)为没…

2026/10/9 9:54:30 阅读更多 →
docker-selenium 4.32.0 发布档案解读:Firefox 133.0.3 镜像的多标签生成与使用全流程

docker-selenium 4.32.0 发布档案解读:Firefox 133.0.3 镜像的多标签生成与使用全流程

测试后端云原生容器编排可观测性 【免费下载链接】docker-selenium Provides a simple way to run Selenium Grid with Chrome, Firefox, and Edge using Container Platform, making it easier to perform browser automation at scale 项目地址: https://gitcode.…

2026/10/9 9:54:57 阅读更多 →
Text-to-CAD实测:用自然语言驱动B-rep建模的工程实践指南

Text-to-CAD实测:用自然语言驱动B-rep建模的工程实践指南

我大概从去年年底开始密集接触text-to-cad这个方向,一开始看Zoo放出来的演示,输入一句英文描述就能得到可编辑的STEP模型,第一反应是这玩意儿八成是个高级玩具。但连续跑了几十轮,把生成结果拉进SolidWorks和FreeCAD里反复改了又改…

2026/10/8 7:47:36 阅读更多 →

最新新闻

智能客服系统落地指南:从FAQ到RAG的工程实践与避坑

智能客服系统落地指南:从FAQ到RAG的工程实践与避坑

简介:面向政府、企业及金融机构客服系统规划者、产品经理和技术人员的智能客服系统解决方案PDF文档,重点解决移动互联网时代全渠道服务响应慢、知识库构建周期长、人工客服成本高等难题。内容基于中科汇联三千余家行业客户的交付运维经验,系统…

2026/10/9 9:55:18 阅读更多 →
2024五一数学建模C题:基于LSTM与XGBoost的用户行为预测建模实战

2024五一数学建模C题:基于LSTM与XGBoost的用户行为预测建模实战

简介:这是一份2025年五一数学建模竞赛C题的完整参赛作品,内容聚焦社交媒体平台用户行为预测与内容推荐优化。作者基于2024年7月中旬的用户与博主互动数据,系统求解四个子问题:用LSTM模型预测博主新增关注数;用LSTM结合…

2026/10/9 9:55:18 阅读更多 →
用友T6凭证批量导入全流程:解决辅助核算导入失败问题

用友T6凭证批量导入全流程:解决辅助核算导入失败问题

简介:本资源是一份面向企业财务信息化人员、用友T6系统实施顾问及ERP二次开发工程师的实操型技术指南,聚焦解决多源电子凭证批量导入难题,尤其适用于需处理带供应商往来等辅助核算的复杂凭证场景。文档以完整流程为主线,覆盖基础数…

2026/10/9 9:55:18 阅读更多 →
k-means-LSTM组合预测:多输入多输出时序建模实战

k-means-LSTM组合预测:多输入多输出时序建模实战

简介:本资源是一份面向具备Python编程与机器学习基础的研发人员、数据科学家及进阶学习者的时间序列预测实战项目,聚焦k均值聚类与LSTM深度结合的多输入多输出组合建模方法,有效提升能源管理、气象预测、金融分析等场景下的预测精度与鲁棒性。…

2026/10/9 9:55:18 阅读更多 →
符号回归实战:用遗传编程从噪声数据中发现可解释数学公式

符号回归实战:用遗传编程从噪声数据中发现可解释数学公式

简介:本资源是一份面向计算机科学研究人员、机器学习爱好者及进化计算初学者的符号回归实践指南,聚焦遗传编程(GP)在非线性数学表达式发现与建模中的系统实现与优化。内容涵盖GP基础框架搭建、精英主义策略、自定义遗传算子等增强…

2026/10/9 9:55:18 阅读更多 →
php正则表达式学习笔记

php正则表达式学习笔记

前言 先说一件容易混淆的事:PHP 里的「正则表达式」其实分两套历史,一套是已经消失的 POSIX 扩展,一套是现在唯一在用的 PCRE。POSIX 那套函数(ereg()、eregi()、ereg_replace()、eregi_replace()、split()、spliti()、sql_regcas…

2026/10/9 9:54:17 阅读更多 →

日新闻

Java时间API实战:LocalDate、Date与ZonedDateTime的转换与避坑指南

Java时间API实战:LocalDate、Date与ZonedDateTime的转换与避坑指南

Java时间API这个话题,隔三差五就会在群里被翻出来讨论一次。上周还有个同事线上处理一个订单超时问题,排查到最后发现是ZonedDateTime序列化后时区丢了,用户在下单当天晚上看到的时间整整差了8个小时。这类问题几乎每个做Java开发的人都遇到过…

2026/10/9 0:00:49 阅读更多 →
EasyTier实践:从NAT穿透到子网代理的异地组网部署与排错

EasyTier实践:从NAT穿透到子网代理的异地组网部署与排错

前几个月我手头有好几台机器需要互相访问:办公室台式机、家里 NAS、还有一台云主机。如果只是偶尔传个文件倒还好,问题是工作场景经常要在几处环境之间来回切换,每次都先登录跳板机再层层代理,实在折腾。我先后试过端口映射、自建…

2026/10/9 0:00:49 阅读更多 →
AI Agent工程实战:从七要素到七个决策点的系统设计指南

AI Agent工程实战:从七要素到七个决策点的系统设计指南

AI Agent 这个词在过去一年里被反复提及,但真正动手搭过一套能跑起来的 Agent 系统的人都知道,从"知道它是什么"到"让它稳定干活"之间隔着一整套工程决策。我前后参与过几个 Agent 项目的落地,从最初用现成框架拼装&…

2026/10/9 0:01:50 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:32 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:40 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 10:10:36 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 21:13:17 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:17 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 6:17:20 阅读更多 →