使用 rancher 部署 k8s 并安装 cube-studio

发布时间 2023-10-17 15:16:23作者: 哈皮霍根

获取项目

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 自带密码

image-20231016172620708

  • 输入并重置密码

image-20231016172839426

创建集群

  • 点击创建新的集群

image-20231016173239774

  • 选择 自定义集群

image-20231016173332856

  • 选择 1.21 版本,并禁用 Nginx Ingress
    image-20231016173558965

image-20231016173659898

  • 编辑 yaml 配置

image-20231016174044279

# 新增配置项
    kubelet:
      extra_binds:
        - '/data:/data'
# ...
  • 复制加入节点启动命令

image-20231016174216388

image-20231016175058357

  • 稍等片刻,集群启动完成

image-20231016175259141

  • 下载k8s配置文件,将配置文件内容粘贴进 config 文件中

image-20231016175401988

image-20231016175528955

配置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