k3s是k8简化版,轻量好用
机器 ip 配置 说明
k3s 172.21.0.100 2CPU/4G 入口节点,包括mysql/nginx/ui
k3s-master-1 172.21.0.101 1CPU/2G 主节点
k3s-master-2 172.21.0.102 1CPU/2G 主节点
k3s-agent-1 172.21.0.201 1CPU/2G 从节点
k3s-agent-2 172.21.0.202 1CPU/2G 从节点
#配置hosts
vi /etc/hosts
172.21.0.100 k3s
172.21.0.101 k3s-master-1
172.21.0.102 k3s-master-2
172.21.0.201 k3s-agent-1
172.21.0.202 k3s-agent-2
172.21.0.100 安装mysql,并创建数据库,名称随意这里叫 k3s
首先安装docker,可参考:https://blog.youkuaiyun.com/kang5789/article/details/72473882
# 安装两台主节点
export INSTALL_K3S_VERSION=v1.18.9+k3s1
export INSTALL_K3S_EXEC="--datastore-endpoint=mysql://root:123456@tcp(172.21.0.100:3306)/k3s --docker --no-deploy traefik --node-external-ip 172.21.0.111 --tls-san 172.21.0.111 --kube-apiserver-arg service-node-port-range=1-65000 --write-kubeconfig ~/.kube/config --write-kubeconfig-mode 666"
curl -sfL http://rancher-mirror.cnrancher.com/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -
安装完成执行, cat /var/lib/rancher/k3s/server/node-token 两台主节点的token一致表示成功
curl -O http://nginx.org/download/nginx-1.20.1.tar.gz
./configure --with-http_ssl_module --with-stream --prefix=/usr/local/nginx
make & make install
# 配置nginx四层代理,代理两个主节点6443端口
vi /etc/nginx/nginx.conf
stream {
upstream k3sList {
server 172.21.0.101:6443;
server 172.21.0.102:6443;
}
server {
listen 6443;
proxy_connect_timeout 1s;
proxy_timeout 3s;
proxy_pass k3sList;
}
}
#安装两台从节点
export INSTALL_K3S_VERSION=v1.18.9+k3s1
export K3S_TOKEN=K10fdf51c8fbc2b5165c65f73fcb9995fed487a2b838c8fa65dbd0116e453d3217e::server:2eec8ee6aaad2ab13ee500337f2449ee
export K3S_URL=https://172.21.0.100:6443
export INSTALL_K3S_EXEC="--docker --kube-apiserver-arg service-node-port-range=1-65000 --no-deploy traefik --node-external-ip 172.21.0.113 --tls-san 172.21.0.113 --write-kubeconfig ~/.kube/config --write-kubeconfig-mode 666"
curl -sfL http://rancher-mirror.cnrancher.com/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -
#测试
kubectl get nodes
发现如下信息证明安装成功
NAME STATUS ROLES AGE VERSION
k3s-master-1 Ready master 145m v1.18.9+k3s1
k3s-agent-1 Ready <none> 3m42s v1.18.9+k3s1
k3s-agent-2 Ready <none> 3m41s v1.18.9+k3s1
k3s-master-2 Ready master 141m v1.18.9+k3s1
在172.21.0.100安装UI
docker run --privileged -d -v /opt/rancher:/var/lib/rancher:rw --restart=unless-stopped -p 9443:443 rancher/rancher:stable
ok,大功告成!
卸载
# 要从 server 节点卸载 K3s,请运行:
/usr/local/bin/k3s-uninstall.sh
# 要从 agent 节点卸载 K3s,请运行:
/usr/local/bin/k3s-agent-uninstall.sh