获取项目
git clone https://github.com/tencentmusic/cube-studio.git
cd cube-studio/install/kubernetes/rancher
下载需要的镜像
# 清理历史部署痕迹
sh reset_docker.sh
# 需要拉取镜像(这里以2.6.2版本为例)
wget https://github.com/rancher/rancher/releases/download/v2.6.2/rancher-images.txt
python3 all_image.py > pull_rancher_images.sh
sh pull_rancher_images.sh
export RANCHER_CONTAINER_TAG=v2.6.2
sudo docker run -d --privileged --restart=unless-stopped -p 443:443 --name=myrancher -e AUDIT_LEVEL=3 rancher/rancher:$RANCHER_CONTAINER_TAG
- 打开浏览器
https://IP:443
, 复制命令查看 rancher 自带密码
创建集群
- 选择 1.21 版本,并禁用 Nginx Ingress
# 新增配置项
kubelet:
extra_binds:
- '/data:/data'
# ...
- 下载k8s配置文件,将配置文件内容粘贴进 config 文件中
配置rancher服务高可用
- 单节点的配置高可用, 由于官方提供的几种高可用方案,要么需要ssh互联,要么需要跳板机账号密码,这些都无法在idc环境实现。 并且使用单容器模式部署的时候,如果docker service或者机器重启了,rancher server就会报异常。一般会报wait k3s start的错误。 因此下面提供一种方案,能使在单容器模式下,机器重启后,rancher server仍可用。
export RANCHER_CONTAINER_NAME=myrancher
export RANCHER_CONTAINER_TAG=v2.6.2
docker stop $RANCHER_CONTAINER_NAME
docker create --volumes-from $RANCHER_CONTAINER_NAME --name rancher-data rancher/rancher:$RANCHER_CONTAINER_TAG
# 先备份一遍
docker run --volumes-from rancher-data --privileged -v $PWD:/backup alpine tar zcvf /backup/rancher-data-backup.tar.gz /var/lib/rancher
docker run --name myrancher-new -d --privileged --volumes-from rancher-data --restart=unless-stopped -p 443:443 rancher/rancher:$RANCHER_CONTAINER_TAG
# 等到上面运行成功
docker rm $RANCHER_CONTAINER_NAME