k3s 安装使用

作为容器编排的事实标准,Kubernetes 不管是生产环境还是测试环境都很适合,然而个人用的话,资源占用是一个很大的问题,2c4g *3 的机器配置刚好够跑个 Master 节点。

准备

HA 安装方式,我们需要准备一个外部数据库,这里我们以一个 Mysql 数据库为例。

作为 master/work node 的机器若干。

PS: 倘若阁下亦使用 Debian 10 以及准备使用 Docker 作为运行时,请执行以下命令并选择 /usr/sbin/iptables-legacy 确保能正常使用 Docker.

sudo update-alternatives --config iptables

安装 Server

在至少 2 台的机器上执行安装 k3s server 的命令:

curl -sfL https://get.k3s.io | sh -s - server \
 --datastore-endpoint="mysql://username:password@tcp(hostname:3306)/database-name" --docker

PS: k3s 默认直接使用 containerd,这里的命令中我使用了 docker 作为运行时,如果不需要可以去掉 –docker .

查看其中一台 Server 上查看是否安装成功:

k3s kubectl get nodes

如果顺利的话,能看到若干的 server node 状态为 Ready:

➜ ~ k3s kubectl get nodes
NAME STATUS ROLES AGE VERSION
server-0 Ready master 1m v1.18.9+k3s1
server-1 Ready master 1m v1.18.9+k3s1

加入更多 Work Node (Agent)

在 work node 上安装 k3s agent 之前,我们需要获取 node token, 在 server node 上执行:

cat /var/lib/rancher/k3s/server/node-token

获取到 node token 后,替换安装 agent 命令中的 {NODE_TOKEN} 以及 {SERVER_NODE}

curl -sfL https://get.k3s.io | K3S_URL=https://{SERVER_HOST}:6443 K3S_TOKEN={NODE_TOKEN} sh -

如果在 Work Node 上需要使用 Docker 作为运行时,修改文件 /etc/systemd/system/k3s.service 为 k3s-agent 加入启动参数: --docker ,并重启 k3s-agent.


comments powered by Disqus