对于大部分自学者而言,其实除了minikube,还可以使用k3s,因为Minikube只适用于本地开发,Minikube 和 K3s 都是轻量级的 Kubernetes 发行版,但它们的目标和适用场景有所不同。以下是它们的对比:
| 对比项 | Minikube | K3s |
|---|---|---|
| 定位 | 本地 Kubernetes 开发环境 | 轻量级 Kubernetes 发行版,适用于生产环境 |
| 安装方式 | 运行在本地 VM 或 Docker 容器中 | 直接运行在裸机或云服务器上 |
| 组件 | 完整的 Kubernetes 组件 | 移除了部分不必要组件(如 Kube-proxy 可选),内置 SQLite 代替 etcd |
| 资源占用 | 较高,需要完整 Kubernetes 组件 | 低,适合边缘计算、IoT、轻量级服务器 |
| 适用场景 | 开发、测试 Kubernetes 应用 | 轻量级生产环境、嵌入式设备、边缘计算 |
| 网络 | 支持多种 CNI(默认 bridge 模式) | 内置 Flannel CNI,支持自定义 |
| 存储 | 需要手动配置存储插件 | 直接支持 local-path storage |
| 支持的操作系统 | 主要在本地运行,支持 macOS、Linux、Windows | 适用于 Linux 服务器,也可以在 macOS 和 Windows 上运行 |
| 集群管理 | 单节点为主,可配置多节点但较复杂 | 支持多节点集群,且管理简单 |
| 兼容性 | 100% Kubernetes 兼容 | 兼容 Kubernetes API,但做了裁剪 |
| 适合的用户 | 开发者,本地调试 Kubernetes | 生产环境、小规模集群、边缘计算 |
| 是否开源 | 是 | 是,由 Rancher Labs 维护 |
适用场景总结:
- 如果你是开发者,想在本地运行 Kubernetes 进行调试,Minikube 更合适。
- 如果你需要在资源受限的设备上运行 Kubernetes(如边缘计算、IoT、轻量级服务器) ,K3s 更合适。
- 如果你想搭建一个小型生产集群,避免 K8s 复杂的组件管理,K3s 是更好的选择。
你目前在用 K3s,如果考虑集群轻量化或者部署在资源有限的环境中,K3s 是更优的选择。而 Minikube 主要是给开发者本地调试使用,适用于本机模拟 Kubernetes 运行环境。
但是如果你想深入学习k8s,不做个项目怎么可能深入学习,我建议直接上手一个项目,所以先安装k3s,注意最好是在Linux中安装,如果只有一台windows,请就使用wsl2(注意需要至少24GB运行内存,因为你需要跑SpringBoot、docker,还有使用一些开发工具),本项目需要一些门槛,接下来我将介绍如何组建你的k3s集群: 在Linux上安装K3s(轻量级Kubernetes发行版)非常简单,适用于单节点或集群部署。下面是详细的步骤:
1. 系统要求
确保你的Linux服务器符合以下要求:
- 至少1GB内存和1个CPU核心(建议更多资源以支持更多工作负载)
- 支持x86_64、ARMv7或ARM64架构
- Docker或其他容器运行时未被占用(K3s内置了一个轻量级的容器运行时)
2. 环境准备
首先,更新系统并确保系统包是最新的:
sudo apt-get update && sudo apt-get upgrade -y
安装常见的依赖包:
sudo apt-get install -y curl
如果你的Linux发行版是CentOS,使用以下命令:
sudo yum update -y
sudo yum install -y curl
3. 安装K3s
K3s提供了一个自动安装脚本,可以轻松在Linux系统上安装。
运行以下命令下载并安装K3s:
curl -sfL https://get.k3s.io | sh -
这个命令会自动下载并安装最新版本的K3s,安装完毕后,K3s会作为系统服务运行。
如果你想安装特定版本的K3s:
curl -sfL https://get.k3s.io | INSTALL_K3S_VERSION="v1.21.3+k3s1" sh -
4. 验证安装
安装完成后,K3s会自动启动,并且Kubeconfig文件会默认放在/etc/rancher/k3s/k3s.yaml路径下。
验证K3s是否运行成功:
sudo k3s kubectl get nodes
此命令会列出集群中的所有节点,并显示它们的状态。如果你能看到节点处于Ready状态,说明K3s已成功安装并运行。
5. 配置kubectl
为了更方便使用kubectl,可以将配置文件复制到用户的默认配置路径:
mkdir -p $HOME/.kube
sudo cp /etc/rancher/k3s/k3s.yaml $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
现在你可以通过kubectl命令来管理K3s集群了:
kubectl get nodes
6. 多节点集群配置(可选)
如果你想将K3s安装为多节点集群,可以按照以下步骤配置主节点(Master)和工作节点(Worker)。如果你有两台服务器,或者自己电脑运行内存比较大(24GB),可以在Ubuntu或者自己的服务器组建的集群,下面是简单的集群搭建,更详细的搭建流程请参考文章:k3s主从节点搭建流程
6.1 安装主节点
在主节点上运行安装脚本时,加入--cluster-init参数:
curl -sfL https://get.k3s.io | sh -s - server --cluster-init
6.2 安装工作节点
在工作节点上,将其连接到主节点。首先,获取主节点的token:
sudo cat /var/lib/rancher/k3s/server/node-token
然后,在工作节点上运行以下命令,将<MASTER_IP>替换为主节点的IP地址,并使用刚才获取的token:
curl -sfL https://get.k3s.io | K3S_TOKEN=<TOKEN> sh -s - server --server https://<MASTER_IP>:6443
7. 管理K3s
- 启动K3s服务:
sudo systemctl start k3s - 停止K3s服务:
sudo systemctl stop k3s - 查看K3s状态:
sudo systemctl status k3s
8. 卸载K3s
如果你需要卸载K3s,可以运行以下命令:
sudo /usr/local/bin/k3s-uninstall.sh
对于工作节点,使用以下命令:
sudo /usr/local/bin/k3s-agent-uninstall.sh
总结
K3s的安装过程非常简便,只需要运行一个脚本即可。你可以选择单节点安装,也可以通过额外配置实现多节点集群。