快速入门指南
先决条件
两个节点不能有相同的主机名。
如果您的所有节点都有相同的主机名,请使用--with-node-id选项为每个节点添加一个随机后缀,或者为您添加到集群的每个节点设计一个独特的名称,用--node-name或$K3S_NODE_NAME传递。
操作系统
K3s 应该可以运行在几乎所有类型的 Linux 主机上。
K3s 在以下操作系统及其后续非主要版本中得到官方支持和测试:
Ubuntu 16.04 (amd64)
Ubuntu 18.04 (amd64)
Raspbian Buster*
- 如果您使用的是 Raspbian Buster, 请按照这些步骤切换到传统的 iptables。
如果您使用的是Alpine Linux,请按照这些步骤进行额外的设置。
硬件
硬件要求根据您部署的规模而变化。这里列出了最低建议。
内存: 最低 512MB(建议至少为 1GB)
CPU: 最低 1
安装脚本
本指南将帮助您使用默认选项快速启动集群。安装部分将详细介绍如何设置 K3s。
K3s 提供了一个安装脚本,可以方便的在 systemd 或 openrc 的系统上将其作为服务安装。这个脚本可以在 https://get.k3s.io 获得。要使用这种方法安装 K3s,只需运行:
curl -sfL https://get.k3s.io | sh -
国内用户,可以使用以下方法加速安装:
curl -sfL http://rancher-mirror.cnrancher.com/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -
运行此安装后:
K3s 服务将被配置为在节点重启后或进程崩溃或被杀死时自动重启。
将安装其他实用程序,包括kubectl, crictl, ctr, k3s-killall.sh 和 k3s-uninstall.sh
将kubeconfig文件写入到/etc/rancher/k3s/k3s.yaml,由 K3s 安装的 kubectl 将自动使用该文件
要在工作节点上安装并将它们添加到集群,请使用K3S_URL和K3S_TOKEN环境变量运行安装脚本。这是显示如何加入工作者节点的示例:
curl -sfL https://get.k3s.io | K3S_URL=https://myserver:6443 K3S_TOKEN=mynodetoken K3S_NODE_NAME=NAME sh -
提示
国内用户,可以使用以下方法加速安装:
curl -sfL http://rancher-mirror.cnrancher.com/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn K3S_URL=https://myserver:6443 K3S_TOKEN=mynodetoken K3S_NODE_NAME=NAME sh -
设置K3S_URL参数会使 K3s 以 worker 模式运行。K3s agent 将在所提供的 URL 上向监听的 K3s 服务器注册。K3S_TOKEN使用的值存储在你的服务器节点上的:
cat /var/lib/rancher/k3s/server/node-token
注意:每台计算机必须具有唯一的主机名。如果您的计算机没有唯一的主机名,请传递K3S_NODE_NAME环境变量,并为每个节点提供一个有效且唯一的主机名。
卸载K3s
如果您使用安装脚本安装了 K3s,那么在安装过程中会生成一个卸载 K3s 的脚本。
卸载 K3s 会删除集群数据和所有脚本。要使用不同的安装选项重新启动集群,请使用不同的标志重新运行安装脚本。
要从 server 节点卸载 K3s,请运行:
/usr/local/bin/k3s-uninstall.sh
要从 agent 节点卸载 K3s,请运行:
/usr/local/bin/k3s-agent-uninstall.sh
拓展阅读
经过读者阅读发现了一个小问题,总结如下:
# 查看控制平面的token
cat /var/lib/rancher/k3s/server/node-token
# 国外网络添加边缘节点
curl -sfL https://get.k3s.io | K3S_URL=https://myserver:6443 K3S_TOKEN=mynodetoken K3S_NODE_NAME=NAME sh -
# 国内网络添加边缘节点(经过反复测试发现国内网络存在问题,没办法深入源码分析吧!少年)
curl -sfL http://rancher-mirror.cnrancher.com/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn K3S_URL=https://myserver:6443 K3S_TOKEN=mynodetoken K3S_NODE_NAME=NAME sh -
image
网友评论