我这里使用的系统是centos7.6
一、准备工作
关闭SELinux防火墙
# 临时关闭
setenforce 0
# 永久关闭
sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config
关闭swap
# 临时关闭swap分区,当前会话生效,重启失效
swapoff -a
# 永久关闭swap分区
sed -ri 's/.*swap.*/#&/' /etc/fstab
二、安装K3S集群
# 执行如下命令后,安装的该节点为K3S server节点
curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -
安装指定版本的K3S
curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn INSTALL_K3S_VERSION=v1.20.12 sh -
可以查看下节点状态以及 k3s 版本
kubectl get node
可以查看下所有 pod 信息
kubectl get pods -A
安装可能存在的问题
- The connection to the server localhost:8080 was refused - did you specify the right host or port?
遇到该问题应该是没安装好, 如果使用的外部数据库可以检查下是否外部数据库连接不上导致,或者尝试如下方式:
如果是安装失败如下方式并不能解决,需要找到对应问题或者尝试下重新安装
首先把服务运行起来
如果k3s服务没有起来则不会自动生成 /etc/rancher/k3s/k3s.yaml 文件
systemctl start k3s.service
运行起来执行如下命令增加新的环境变量
echo "export KUBECONFIG=/etc/rancher/k3s/k3s.yaml" >> /etc/profile
最后使其生效
source /etc/profile
三、添加K3S server节点
第一步:设置共享密钥
对应 secret123为自己设置的共享密钥,更改为自己的
在上面安装K3S集群的机器中添加执行如下代码,先设置一个共享密钥
K3S_TOKEN=secret123 SECRET k3s server --cluster-init
第二步: 安装K3S server节点
第三步: 添加K3S server节点
对应 secret123为上面设置的共享密钥
对应 https://myserver 为设置共享密钥server节点的服务器地址
K3S_TOKEN=secret123 k3s server --server https://myserver:6443
四、添加K3S agent节点
第一步: 查看K3S集群token令牌
在集群中的任意一个Server节点上都存在token令牌
进入上面安装的K3S集群中Server节点机器中执行如下命令查看token令牌
cat /var/lib/rancher/k3s/server/node-token
第二步:添加K3S agent节点
如下 mytoken 表示token令牌凭证,就是上面获取的token令牌
如下 https://myserver 表示 K3S集群中 server节点地址,可以填K3S集群中任意一个 server节点地址,为了提高高可用,可以将K3S集群多个 server节点负载均衡到一个域名上,这里可以填那个统一访问的域名,这样即使有一个server节点宕机了,该地址还会继续分发到另外正常的server节点上
在需要加入的新机器上执行如下命令,将该机器加入到集群Agent节点中
curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn K3S_URL=https://myserver:6443 K3S_TOKEN=mytoken sh -
补充
升级K3S集群