概述

虽然 Kubernetes 很强大,同时也很好用,但是,对于尚未入手的同学来说,安装 Kubernetes 确实不是一件容易的事情,尤其是在开发环境上,有很多概念需要理解。但是,自从 Rancher 发布了 K3S 之后,事情开始变得有点简单了,虽然 Rancher 发布 K3S 的初衷并不是为了让大家入手 K8S,但是,事实上它可以帮助我们快速得尝试一些 K8S 的功能,而减少安装部署 Kubernetes 的琐碎步骤。

这里,我就以我的开发环境 CentOS 为例,展示一下如何在 CentOS 中快速安装一个 K3S 的体验环境。

快速安装 K3S

当你想认识一个软件的时候,官方网站大多数情况都是你的第一选择,K3S 也不例外,当你打开 K3S 的官网网站:k3s.io 时,你就会看到这么一段代码:

  1. [root@liqiang.io]# curl -sfL https://get.k3s.io | sh -
  2. [root@liqiang.io]# echo "Check for Ready node, "
  3. [root@liqiang.io]# echo "takes maybe 30 seconds"
  4. [root@liqiang.io]# k3s kubectl get node
  5. NAME STATUS ROLES AGE VERSION
  6. china Ready master 2m4s v1.15.4-k3s.1

是的,安装 K3S 就是如此迅猛,快到我都不能说点什么了。

手动安装 K3S

  1. [root@liqiang.io]# wget https://github.com/k3s-io/k3s/releases/download/v1.27.2%2Bk3s1/k3s
  2. [root@liqiang.io]# chmod +x ./k3s && sudo cp ./k3s /usr/local/bin
  3. [root@liqiang.io]# sudo wget https://raw.githubusercontent.com/k3s-io/k3s/master/k3s.service -O /usr/lib/systemd/system/k3s.service
  4. [root@liqiang.io]# sudo systemctl daemon-reload && sudo systemctl start k3s
  5. [root@liqiang.io]# sudo k3s kubectl get node
  6. NAME STATUS ROLES AGE VERSION
  7. china Ready control-plane,master 7m21s v1.27.2+k3s1

添加节点

先获取 master 的 token:

  1. [root@liqiang.io]# cat /var/lib/rancher/k3s/server/node-token
  2. <token-here>

在新节点添加:

  1. [root@liqiang.io]# wget https://github.com/k3s-io/k3s/releases/download/v1.27.2%2Bk3s1/k3s
  2. [root@liqiang.io]# chmod +x ./k3s && sudo cp ./k3s /usr/local/bin
  3. [root@liqiang.io]# sudo wget https://raw.githubusercontent.com/k3s-io/k3s/master/k3s.service -O /usr/lib/systemd/system/k3s.service
  4. [root@liqiang.io]# sudo ./k3s agent --server https://myserver:6443 --token ${NODE_TOKEN} # replace in /usr/lib/systemd/system/k3s.service
  5. [root@liqiang.io]# sudo systemctl daemon-reload && sudo systemctl start k3s

启动关闭 K3S

如果你想自己控制 K3S 的启动和停止的话,直接用 systemctl 就可以了:

  1. [root@liqiang.io]# systemctl status k3s # 查看一下 K3S 的状态
  2. [root@liqiang.io]# systemctl start k3s # 启动 K3S
  3. [root@liqiang.io]# systemctl stop k3s # 停止 K3S

Ref