我这里使用的系统是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

安装可能存在的问题

  1. 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

k8s nfsv4版本问题_Server

第二步:添加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集群