公网ip+rancher+k3s

公网ip+rancher+k3s

实验服务器

42.193.171.117 k8s-node1
42.194.195.2XX k8s-node2
175.178.2.2XX k8s-node3

使用的docker版本

如果没安装docker请自行安装,百度一下就好了

Docker version 20.10.5, build 55c4c88

写host(所有节点)

cat >> /etc/hosts << EOF
42.193.171.117  k8s-node1
42.194.195.27  k8s-node2
175.178.2.222  k8s-node3
EOF

分别修改hostname(下面分别执行到对应的node)

hostnamectl set-hostname k8s-node1
hostnamectl set-hostname k8s-node2
hostnamectl set-hostname k8s-node3

关闭防火墙(所有节点)

systemctl stop firewalld
systemctl disable firewalld

关闭selinux(所有节点)

sudo setenforce 0
sudo sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config

所有机器提前打开需要的端口

k3s: 6443
rancher: 8080,9443
node: 30000-42767

选择k8s-node1为master

在master安装k3s-server(k8s-node1)

export INSTALL_K3S_EXEC="--docker --kube-apiserver-arg service-node-port-range=30000-42767 --no-deploy traefik --advertise-address=42.193.171.117 --write-kubeconfig ~/.kube/config --write-kubeconfig-mode 644"
curl -sfL http://rancher-mirror.cnrancher.com/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -
cat /var/lib/rancher/k3s/server/node-token

上面的–advertise-address=42.193.171.117很重要,对于公网来说需要指定,不然默认是内网ip

在其他node节点安装k3s-Agent(k8s-node2,k8s-node3)

export K3S_TOKEN=上一步取到master的token填这里
export K3S_URL=https://你的master的ip:6443
export INSTALL_K3S_EXEC="--docker --kube-apiserver-arg service-node-port-range=30000-42767 --no-deploy traefik --write-kubeconfig ~/.kube/config --write-kubeconfig-mode 644"
curl -sfL http://rancher-mirror.cnrancher.com/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -

主要上面的K3S_TOKEN和K3S_URL需要替换成你自己的master信息

执行完这些,查看node节点状态(master)

kubectl get nodes

公网ip+rancher+k3s_第1张图片
3个位ready就成功了,如果出现不成功或者缺少的情况,执行下面操作

节点异常处理

查看master

执行

vim /etc/systemd/system/k3s.service

看看是否为下图
公网ip+rancher+k3s_第2张图片
如果没有,更改为红框显示
–advertise-address=42.193.171.117(你的公网ip)

systemctl daemon-reload
systemctl restart k3s

查看node节点

vim /var/lib/rancher/k3s/agent/etc/k3s-agent-load-balancer.json

公网ip+rancher+k3s_第3张图片
查看是否都是master的公网ip
不是就改成你的公网ip

如果执行不通,说明不存在这个文件,agent没有运行成功

查看agent状态

 systemctl status k3s-agent

卸载agent

/usr/local/bin/k3s-agent-uninstall.sh

重新执行上述的k3s-agent的安装

export K3S_TOKEN=上一步取到master的token填这里
export K3S_URL=https://你的master的ip:6443
export INSTALL_K3S_EXEC="--docker --kube-apiserver-arg service-node-port-range=30000-42767 --no-deploy traefik --write-kubeconfig ~/.kube/config --write-kubeconfig-mode 644"
curl -sfL http://rancher-mirror.cnrancher.com/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -

直到正常

在master上执行查看node节点

kubectl get nodes

公网ip+rancher+k3s_第4张图片

安装rancher

docker run -d --restart=unless-stopped --privileged \
-p 8080:80 -p 9443:443 \
rancher/rancher

访问rancher

安装完成,访问 https://42.193.171.117:9443/,这里是我的master的ip

设置你的密码完成进入rancher

导入集群

公网ip+rancher+k3s_第5张图片
公网ip+rancher+k3s_第6张图片
公网ip+rancher+k3s_第7张图片
公网ip+rancher+k3s_第8张图片
公网ip+rancher+k3s_第9张图片
公网ip+rancher+k3s_第10张图片
rancher安装完成

你可能感兴趣的:(k3s,tcp/ip,docker,容器)