在 K3s 中,设置主节点(控制平面)和从节点(worker 节点)相对简单。K3s 是一种轻量级的 Kubernetes 发行版,特别适合资源有限的环境。以下是详细的步骤来设置主节点和从节点。
步骤 1:设置主节点(控制平面)
-
在主节点上安装 K3s
首先,在你想用作主节点的服务器上运行以下命令来安装 K3s:
bashcurl -sfL https://get.k3s.io | sh -
这将自动安装 K3s,并将其作为控制平面运行。安装完成后,K3s 控制平面将自动启动并运行。
-
获取
node-token
安装完成后,你可以通过以下命令获取用于加入从节点的
node-token
:bashsudo cat /var/lib/rancher/k3s/server/node-token
你将在后续步骤中使用这个
node-token
来让从节点加入集群。 -
查看集群状态
你可以通过
kubectl
来检查集群状态:bashsudo kubectl get nodes
此时,主节点应该会出现在列表中。
步骤 2:设置从节点(worker 节点)
接下来,在每个你想作为从节点的服务器上进行以下操作。
-
安装 K3s 并指定主节点
在从节点上,运行以下命令以加入主节点。假设你的主节点 IP 是
192.168.2.100
,并使用你在步骤 1.2 中获取的node-token
:bashcurl -sfL https://get.k3s.io | K3S_URL=https://192.168.2.100:6443 K3S_TOKEN=<node-token> sh -
在这条命令中:
K3S_URL
是主节点的地址和 API 端口(默认是6443
)。K3S_TOKEN
是从主节点获取的node-token
。
安装完成后,该节点将作为工作节点加入集群。
-
验证节点加入
在主节点上,运行以下命令查看是否成功加入新的从节点:
bashsudo kubectl get nodes
你应该能够看到主节点和所有从节点的列表。输出可能类似于:
bashNAME STATUS ROLES AGE VERSION master-node Ready control-plane,master 10m v1.21.0 worker-node1 Ready <none> 5m v1.21.0 worker-node2 Ready <none> 5m v1.21.0
步骤 3:配置高可用性(可选)
如果你想要配置多主节点的高可用集群,可以在额外的主节点上运行相同的安装命令,并使用相同的 K3S_URL
和 K3S_TOKEN
。K3s 将自动处理负载均衡和故障切换。
步骤 4:安装网络插件(如 Flannel)
如果你没有特定的要求,K3s 默认已经使用了 Flannel
网络插件来管理 Pod 网络,所以你不需要额外操作。如果你想使用其他网络插件,可以参考相关文档来进行安装和配置。
总结
- 主节点 :运行
curl -sfL https://get.k3s.io | sh -
安装 K3s,自动将该节点设置为主节点(控制平面)。 - 从节点 :使用
curl -sfL https://get.k3s.io | K3S_URL=https://<master-ip>:6443 K3S_TOKEN=<node-token> sh -
命令将从节点加入集群。 - 高可用性:通过为多个控制平面节点运行相同的命令来实现。
- 验证集群 :使用
kubectl get nodes
命令来查看集群中所有节点的状态。