rancher安装教程
一、安装 docker
1. 创建 build.sh 文件,到 Linux下执行
#!/bin/bash
# 检查Docker是否已经安装
if which docker > /dev/null; then
echo "Docker已经安装,开始卸载..."
# 卸载Docker及其相关组件
docker stop $(docker ps -aq)
docker rm $(docker ps -aq)
docker system prune -f
docker 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/docker
rm -rvf /etc/docker
rm -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
else
echo "Docker未安装"
echo "正在安装Docker..."
fi
cat > /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
EOF
systemctl restart network
echo "###################"
echo "# 网卡配置 #"
echo "###################"
echo "##############################"
echo "# 更新 yum 相关配置 #"
echo "##############################"
yum install -y yum-utils
rm -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 repolist
yum 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"
}
EOF
systemctl 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 的密码。