角色 | ip | 配置 |
---|---|---|
mysql/nginx/ui | 172.31.151.233 | 2c4g |
k3s-server01 | 172.31.151.232 | 1c2g |
k3s-server02 | 172.31.151.234 | 1c2g |
k3s-agent01 | 172.31.151.235 | 1c2g |
k3s-agent02 | 172.31.151.236 | 1c2g |
安装mysql
docker run --name mysql5.7 --net host --restart=always -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7 --lower_case_table_names=1 #创建数据库
找一台有mysql客户端的机子连接测试
yum -y install mysql
mysql -uroot -proot -h172.31.151.233
# 创建数据库k3s
create database k3s;
安装nginx
cat > /etc/yum.repos.d/nginx.repo <<EOF
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/\$releasever/\$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/\$releasever/\$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
EOF
# 生效repo
yum install yum-utils -y
yum-config-manager --enable nginx-mainline
# 安装nginx
yum -y install nginx
# 增加配置文件
cat >>/etc/nginx/nginx.conf <<EOF
stream {
upstream k3sList {
# k3s master ip
server 172.31.151.232:6443;
server 172.31.151.234:6443;
}
server {
listen 6443;
proxy_pass k3sList;
}
}
EOF
/usr/sbin/nginx -t
service nginx start
安装K3S-Server
# 先装完docker
export INSTALL_K3S_VERSION=v1.20.2+k3s1
export INSTALL_K3S_EXEC="--datastore-endpoint=mysql://root:root@tcp(172.31.151.233:3306)/k3s --docker --kube-apiserver-arg service-node-port-range=1-65000 --no-deploy traefik --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
此时mysql中会有一个表,并且数据一直在增加,表示2个master在同步数据
安装k3s-agent
# 任意master上查看token K103d7d49d8e77b9c76a973683567859cd814a6d36cb4ff07c40576690f6c7dc277::server:ba1e5fece2f79e585b9749612857aa76
cat /var/lib/rancher/k3s/server/node-token
export INSTALL_K3S_VERSION=v1.20.2+k3s1
# nginx 6443
export K3S_TOKEN=K103d7d49d8e77b9c76a973683567859cd814a6d36cb4ff07c40576690f6c7dc277::server:ba1e5fece2f79e585b9749612857aa76
export K3S_URL=https://172.31.151.233:6443
export INSTALL_K3S_EXEC="--docker --kube-apiserver-arg service-node-port-range=1-65000 --no-deploy traefik --write-kubeconfig ~/.kube/config --write-kubeconfig-mode 666"
curl -sfL http://rancher-mirror.cnrancher.com/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -
安装rancher ui查看一下
docker run -d -v /data/docker/rancher-server/var/lib/rancher/:/var/lib/rancher/ --restart=unless-stopped --name rancher-server -p 9443:443 rancher/rancher:v2.3.10
点击添加集群 > 导入
选择最下面这个在master1上执行
curl --insecure -sfL https://47.102.201.183:9443/v3/import/ln46vrfns68h5hpss6n76ctxfh8sdkmxsxm5k49wz9t2nzdmqrkkp5.yaml | kubectl apply -f -
部署redis测试