一、安装 docker
1. 创建 build.sh 文件,到 Linux下执行
#!/bin/bash# 检查Docker是否已经安装
if which docker > /dev/null; thenecho "Docker已经安装,开始卸载..."# 卸载Docker及其相关组件docker stop $(docker ps -aq)docker rm $(docker ps -aq)docker system prune -fdocker volume rm $(docker volume ls -q)docker image rm $(docker image ls -q)yum remove -y docker-*yum remove -y containerd# 删除Docker的相关目录rm -rvf /var/lib/dockerrm -rvf /etc/dockerrm -rf /etc/ceph \/etc/cni \/etc/kubernetes \/opt/cni \/opt/rke \/run/secrets/kubernetes.io \/run/calico \/run/flannel \/var/lib/calico \/var/lib/etcd \/var/lib/cni \/var/lib/kubelet \/var/lib/rancher/rke/log \/var/log/containers \/var/log/pods \/var/run/calico
elseecho "Docker未安装"echo "正在安装Docker..."
ficat > /etc/motd <<EOF############################## Welcome to Docker ##############################
EOF### 获取网卡名称
ens=$(ip a | grep -o 'ens[[:alnum:]]*' | head -n 1)sed -i 's/ONBOOT=no/ONBOOT=yes/g' /etc/sysconfig/network-scripts/ifcfg-$ens
cat >> /etc/sysconfig/network-scripts/ifcfg-$ens << EOF
#DNS1=114.114.114.114
#DNS2=8.8.8.8
EOFsystemctl restart network
echo "###################"
echo "# 网卡配置 #"
echo "###################"echo "##############################"
echo "# 更新 yum 相关配置 #"
echo "##############################"
yum install -y yum-utilsrm -rf /etc/yum.repos.d/*
curl -o /etc/yum.repos.d/centos.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum clean all;yum repolistyum install -y yum-utils device-mapper-persistent-data lvm2 bash-com*
echo "##############################"
echo "# docker依赖安装完成 #"
echo "##############################"yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
echo "##################################"
echo "# docker安装仓库配置完成 #"
echo "##################################"yum install docker-ce docker-ce-cli containerd.io
#yum install -y docker-ce-20.10.14 docker-ce-cli-20.10.14 containerd.io-1.5.11
rm -rf /etc/yum.repos.d/*
echo "##############################"
echo "# 安装指定版本docker #"
echo "##############################"systemctl enable docker --now
echo "####################################"
echo "# docker开机自启动设置成功 #"
echo "####################################"mkdir -p /etc/docker
cat > /etc/docker/daemon.json << EOF
{"registry-mirrors": ["https://chqac97z.mirror.aliyuncs.com"],"exec-opts": ["native.cgroupdriver=systemd"],"log-driver": "json-file","log-opts": {"max-size": "100m"},"data-root": "/data/docker","storage-driver": "overlay2"
}
EOFsystemctl daemon-reload
systemctl restart docker
echo "##################################"
echo "# docker镜像加速配置完成 #"
echo "##################################"docker version
echo "##########################"
echo "# docker安装完成 #"
echo "##########################"curl -o /usr/local/bin/docker-compose https://mirrors.aliyun.com/docker-toolbox/linux/compose/1.21.2/docker-compose-Linux-x86_64?spm=a2c6h.25603864.0.0.7f2560faaaCcYj
chmod +x /usr/local/bin/docker-compose
docker-compose version
echo "###################################"
echo "# docker-compoes 安装完成 #"
echo "###################################"docker pull mysql:latest
echo "###################################"
echo "# mysql 安装完成 #"
echo "###################################"docker pull redis:6.2
echo "###################################"
echo "# redis 安装完成 #"
echo "###################################"docker pull quay.io/minio/minio
echo "###################################"
echo "# minio 安装完成 #"
echo "###################################"docker pull nacos/nacos-server:v1.4.3
echo "###################################"
echo "# nacos 安装完成 #"
echo "###################################"docker pull apache/rocketmq:4.5.0
echo "###################################"
echo "# rocketmq 安装完成 #"
echo "###################################"docker run --privileged -d --restart=unless-stopped -p 8080:80 -p 8443:443 rancher/rancher:v2.6.7
echo "###################################"
echo "# rancher 安装完成 #"
echo "###################################"
注:在Linux下面,找个文件位置 创建 “build.sh” 文件,输入指令 ./build
执行文件。部署 docker镜像与 docker compose 依赖,同时在文件中,还有拉取 mysql, redis, nacos, minio, rocketmq
相关镜像依赖。
二、安装 Rancher 容器
2.1 使用指令,查看 rancher 运行容器
注:rancher 在 build中也有拉取镜像,现在只需要看 rancher 运行容器状况
使用指令:
# 【获取初始密码1】获取到容器id
docker ps |grep rancher# 查看 rancher 运行日志
docker logs -f <rancher容器id>
正常运行状态( successfully )
2.2 在 浏览器上面,输入 https://:<端口号>
2.3 输入 指令,查看rancher 初始密码
docker logs container-id 2>&1 | grep "Bootstrap Password:"
2.4 输入密码,修改密码,自己进行密码设置
三、创建 rancher 集群
3.1 创建集群
注: 进入首页, 点击创建, 进入创建集团页面, 选择自定义创建集群
3.2 输入 集群名称, 配置相关权限, 创建集群
3.3 rancher 配置相关服务器的权限
执行 rancher 拉取镜的指令
sudo docker run -d --privileged --restart=unless-stopped --net=host -v /etc/kubernetes:/etc/kubernetes -v /var/run:/var/run rancher/rancher-agent:v2.6.7 --server https://192.168.159.142:8443 --token g277mhb57rtfpt6mhpqn57zvqs9vmbclvfc7kqk8lxzzfkvq7j7g6c --ca-checksum 39408bf30c724b1af1457207f881434cbf60f5dad91aad0e99e81756753e4639 --etcd --controlplane --worker
3.4 部署完成界面
注:rancher 部署完成所有镜像在 1.5 G左右,必须保存证好网络的畅通,网络不稳定,容易影响下载的进程,将下载的通道关闭。
部署成功之后,在页面刷新,会显示成页面。
四、创建命名空间,部署相关中间件
3.1 进入 deploy页面,创建命名空间
创建 mid 空间,用于分配相关中间件容器,对应在 springboot文件中,可以直接用此 中间件文件加mid 进行部署。减少相关的配置。
3.2 创建 mysql 中间件
-
创建mysql中间件
-
配置相关数据
- 在 Pod,下面的 Storage 下面设置服务的 my.cnf 文件路径与 容器中的 映射 的 my.cnf 文件路径
- 在 Containers 中,设置 mysql内置的端口号与外部的端口号;同时设置 mysql 的密码。