使用kind和mirrord在macOS搭建k8s多节点测试环境

背景 在 macOS 上使用 Docker Desktop、OrbStack 或 minikube 运行 Kubernetes 集群时,通常会遇到以下局限性: 多节点支持不足:这些工具对多节点集群的支持较差,甚至根本不支持 网络隔离问题:受限于 Docker 在 macOS 上的虚拟机实现,宿主机网络无法直接连通容器,导致本地开发环境难以访问集群内的服务 为了解决这些问题,我们可以使用 kind 和 mirrord 的组合方案,在 macOS 上搭建一个支持多节点且与宿主机网络互通的 Kubernetes 开发环境。 工具介绍 kind kind(Kubernetes in Docker)是一个使用 Docker 容器作为"节点"来运行本地 Kubernetes 集群的工具。它主要用于测试、开发和学习目的。 主要优点: 快速创建和销毁集群 支持多节点集群配置 轻量级且易于使用 支持 Kubernetes 的大部分功能 官方网站:https://kind.sigs.k8s.io/ mirrord mirrord 是一个强大的开发工具,它允许你在本地运行应用程序时,直接连接到 Kubernetes 集群中的网络和资源。 主要特点: 无需修改代码即可访问集群资源 支持本地调试远程应用 可以拦截和重定向网络流量 支持多种编程语言 官方网站:https://mirrord.dev/ 通过 mirrord,我们可以让本地进程无缝访问 Kubernetes 集群网络,这个方案对现有代码和配置没有任何侵入性。 环境安装步骤 1. 安装 Docker Desktop 或 OrbStack Docker Desktop: 从 Docker 官网 下载 Docker Desktop for Mac 安装并启动 Docker Desktop OrbStack(推荐替代方案): ...

March 7, 2025