k3s集群安装部署实例
2022-12-19 10:06:58

简介

K3s 是一个轻量级的、完全兼容的 Kubernetes 发行版本。非常适合初学者。

准备工作

需要在每台机器上执行如下命令:

  • 关闭防火墙
    1
    systemctl disable firewalld --now
  • 设置selinux(需要联网)
    1
    2
    yum install -y container-selinux selinux-policy-base
    yum install -y https://rpm.rancher.io/k3s/latest/common/centos/7/noarch/k3s-selinux-0.2-1.el7_8.noarch.rpm

下载安装包

下载安装脚本install.sh::https://get.k3s.io/
下载k3s二进制文件:k3s
下载必要的image离线安装需要的image文件
这些文件都可以在github仓库中获取:https://github.com/k3s-io/k3s

执行安装脚本

1.将k3s二进制文件移动到/usr/local/bin目录,并添加执行权限

1
2
3
4

mv k3s /usr/local/bin

chmod +x /usr/local/bin/k3s

2.将镜像移动到/var/lib/rancher/k3s/agent/images/目录(无需解压)

1
2
3
mkdir -p /var/lib/rancher/k3s/agent/images/

cp ./k3s-airgap-images-amd64.tar.gz /var/lib/rancher/k3s/agent/images/
  • 在k8s-master节点执行:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#修改权限

chmod +x install.sh

#离线安装

INSTALL_K3S_SKIP_DOWNLOAD=true ./install.sh

#安装完成后,查看节点状态

kubectl get node

#查看token

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

#K10c4b79481685b50e4bca2513078f4e83b62d1d0b5f133a8a668b65c8f9249c53e::server:bf7b63be7f3471838cbafa12c1a1964d
  • 在k8s-worker1和k8s-worker2节点执行
1
2
3
4
5
6
7
INSTALL_K3S_SKIP_DOWNLOAD=true \

K3S_URL=https://192.168.56.109:6443 \ #master节点IP地址

K3S_TOKEN=K1012bdc3ffe7a5d89ecb125e56c38f9fe84a9f9aed6db605f7698fa744f2f2f12f::server:fdf33f4921dd607cadf2ae3c8eaf6ad9 \

./install.sh

查看部署结果

在master节点上执行kubectl get nodes

1
2
3
4
5
NAME                    STATUS     ROLES                  AGE   VERSION
localhost.localdomain NotReady control-plane,master 14h v1.25.5-rc3+k3s1
k8s-master Ready control-plane,master 13h v1.25.5-rc3+k3s1
k8s-worker2 Ready <none> 12h v1.25.5-rc3+k3s1
k8s-worker1 Ready <none> 12h v1.25.5-rc3+k3s1

如果报错Unable to read /etc/rancher/k3s/k3s.yaml 提示权限不足。需要给/etc/rancher/k3s/k3s.yaml添加可读权限

1
sudo chmod a+r /etc/rancher/k3s/k3s.yaml

参考文档:

https://k3s.io/

https://rancher.com/docs/k3s/latest/en/

https://rancher.com/docs/k3s/latest/en/quick-start/

https://rancher.com/docs/k3s/latest/en/installation/airgap/