在裸机云中使用 K3S 启动 Kubernetes 集群
在裸机实例上运行容器相比在虚拟机上运行有许多优势,例如通过移除虚拟机层减少软件堆栈,简化网络配置,无需虚拟机桥接或转换。
Kubernetes 是一个开源容器编排平台,而 K3S 则旨在成为轻量级的 Kubernetes,具有更小的占用空间,能够在 Intel x86 和 ARM CPU 上运行。
K3S 是什么?
K3S 具有以下特点:
轻量级 Kubernetes
单个二进制文件(约 50MB)
低内存/CPU 占用
CNCF 认证发行版
适用于生产环境
支持 ARM
非常适合边缘计算
Kubernetes 集群包括一个主节点和一个或多个工作节点。它们的功能如下:
主节点 – 控制集群、处理 API 调用等。
工作节点 – 部署 pod 并运行应用程序。可以根据需求添加或移除工作节点。
要设置一个 K3S 集群,我们需要至少两台主机,一个主节点和一个工作节点。在本示例中,我们将使用来自 Zenlayer 裸机云(BMC)产品的两台主机。
Zenlayer BMC 提供多种服务器类型选择,通常包括 S/M/L 类型及其变体。在本示例中,我们选择了 S 类型,因为 K3S 在 16G 内存配置下也能表现出色。
实例配置
在 zenConsole 上 创建一个裸机实例,
选择在实例中安装 Ubuntu 20.04,并启用 SSH 密钥访问。
实例将在几分钟内准备好,我们可以使用无密钥 SSH 访问它。
K3S 安装
访问 K3S.io 并从 这里 下载二进制文件。使用 'chmod +x k3s
' 命令使其可执行。
在主节点上,运行以下命令:
sudo k3s server &
# Kubeconfig 写入 /etc/rancher/k3s/k3s.yaml。
# 通过运行以下命令检查主节点:
sudo k3s kubectl get node
我们应该能看到类似以下的输出:

从主节点中,在 /var/lib/rancher/k3s/server/node-token
找到 NODE_TOKEN
。
在工作节点上,运行以下命令:
sudo k3s agent --server https://${Ipaddress_of_master_node}:6443 --token ${NODE_TOKEN}
我们将看到来自两个实例的大量日志信息。不久后,我们运行 '.k3s kubectl get node
' 命令,应该能看到两个节点都已准备好。从此处我们可以运行其他 Kubernetes 命令。

最后更新于