https://github.com/rancher/k3d
https://github.com/rancher/k3d/releases
https://github.com/k3s-io/k3s/releases
k3d 是 k3s 社区创建的一个小工具,可以在一个 docker 进程中运行整个 k3s 集群,相比直接使用 k3s 运行在本地,更好管理和部署
k3d的主要应用场景是在Kubernetes上进行本地开发,因为k3d轻量、简单的特性,在这一场景下几乎不会遇到麻烦和资源使用问题。开发k3d的初衷是为开发人员提供一个简单的工具,使他们能够在开发环境的机器上运行轻量级的Kubernetes集群,从而在类似于生产的环境中获得快速的迭代时间(相对于在本地运行docker-compose与生产中的Kubernetes要快得多)。
随着时间的推移,k3d还发展成为一种运维工具,用于在隔离的环境中测试某些Kubernetes(或特别是K3s)功能。例如,使用k3d,您可以轻松地创建多节点集群,在其上部署一些应用程序,轻松停止一个节点并查看Kubernetes的反应,还能够将您的应用重新调度到其他节点上。
此外,您可以在持续集成系统中使用k3d来快速启动集群,在其上部署测试堆栈并运行集成测试。完成操作后,您就可以轻松地停用整个集群。无需担心适当的清理和可能的残留。
你可以在很多场景下使用k3d,例如:
- 与k3d托管的容器仓库一起创建集群
- 使用集群通过热代码重载进行快速开发
- 将k3d与其他开发工具(例如Tilt或Skaffold)结合使用
- 两者都可以通过k3d image import利用镜像导入的功能
- 两者都可以利用k3d托管的仓库来加快开发周期
- 在您的CI系统中使用k3d(为此我们提供了PoC:https://github.com/iwilltry42/k3d-demo/blob/main/.drone.yml)
- 使用社区维护的vscode扩展程序(https://github.com/inercia/vscode-k3d)将其集成到您的vscode工作流程中
- 用它来设置K3s的高可用性
https://mp.weixin.qq.com/s/1iLxMlTszfP9gFMZn2jPbA
k3d在线创建k3s 集群
k3d create -n k3s-local