在国内优雅地使用Rancher部署k8s集群

Background

  • 作为一款开源的企业级Kubernetes管理平台,Rancher进入中国已经5年了,在国内使用会有从Github上下载资源慢、拉镜像十分耗时、无法使用library和system-library等问题。
  • 通过配置也是可以解决的,即使用阿里云镜像仓库搭建Rancher。
  • 记录整个流程。

1、前置条件

  • 虚拟机准备
    我这里准备了四台虚拟机来测试,具体部署配置信息如下表所示:
主机名 角色
k8s-rancher 管理k8s集群
k8s-master k8s集群master节点, etcd节点
k8s-node1 k8s集群work节点, etcd节点
k8s-node2 k8s集群work节点, etcd节点
tee << EOF >> /etc/sysctl.conf
# rancher
net.bridge.bridge-nf-call-iptables=1
EOF

sysctl -p
  • 配置docker镜像仓库
tee << EOF > /etc/docker/daemon.json
{
  "registry-mirrors": ["https://dockerproxy.com"]
}
EOF

systemctl daemon-reload
systemctl restart docker

2、启动Rancher

  • docker-compose
version: '3'
services:
  rancher:
    image: rancher/rancher:latest
    privileged: true
    restart: unless-stopped
    ports:
      - 80:80
      - 443:443
    volumes:
      - ./data:/var/lib/rancher
  • 启动
docker-compose up -d
  • 或者直接使用docker
docker run -d --restart=unless-stopped \
  -p 80:80 -p 443:443 \
  --privileged \
  rancher/rancher:latest \
  -v ./data:/var/lib/rancher

3、配置Rancher

  • 首次访问(https://yourip/),设置admin密码
    在这里插入图片描述

在这里插入图片描述

  • 设置Rancher默认镜像仓库
  • 把系统设置里面的 system-default-registry value设置为 registry.cn-hangzhou.aliyuncs.com

在这里插入图片描述

在这里插入图片描述

  • 使用码云代替Github
  • Rancher默认使用Github上的repo作为应用商店的URL,如果出现timeout情况,可以将Catalog URL替换成码云的地址。
应用商店地址 RANCHER REPO地址 GITEE地址
https://git.rancher.io/helm3-charts https://github.com/rancher/helm3-charts https://gitee.com/rancher/helm3-charts
https://git.rancher.io/charts https://github.com/rancher/charts https://gitee.com/rancher/charts
https://git.rancher.io/system-charts https://github.com/rancher/system-charts https://gitee.com/rancher/system-charts
  • 那么如何修改Catalog URL呢?
  • 导航到全局或项目级别的Apps -> Manage Catalogs
  • 点击列表右侧的省略号 -> Edit
  • 将Catalog URL替换成码云中的地址即可,点击Save
  • 此时,对应的Catalog的状态变为Refreshed,等待其变为Active之后即可正常使用

4、添加一个k8s集群

  • 在首页或者集群管理界面创建集群
    在首页或者集群管理界面创建集群

  • 选择自定义
    在这里插入图片描述

在这里插入图片描述

  • 选Etcd和Worker在k8s-node1和k8s-node2节点上执行下面的命令
    在这里插入图片描述

  • 然后全选这三个,在k8s-master节点上执行下面的命令
    在这里插入图片描述

  • 点击完成就行了,后面还可以查看这命令
    在这里插入图片描述

  • 刚开始如下图所示,中间要持续很长时间(我这里半个小时左右,具体与网络有关)
    在这里插入图片描述

  • 最终成功后如下图所示
    在这里插入图片描述
    在这里插入图片描述

  • 我这里的版本是 2.7.1
    在这里插入图片描述

5、如果重复安装,需要清除所有记录

docker stop $(docker ps -aq)
docker system prune -f
docker volume rm $(docker volume ls -q)
docker image rm $(docker image ls -q)
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

不清楚就会遇到各种各样的问题,例如:Rancher安装报错 Failed to bring up Etcd Plane: etcd cluster is unhealthy

6、使用Rancher快速安装插件-基于Prometheus+Grafana的高逼格监控平台

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 点击安装如下显示安装进度
    在这里插入图片描述

7、使用Rancher快速安装插件-基于Fluentd的日志采集和分发系统

  • Banzai Cloud Logging Operator 工作原理
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_42761569/article/details/128930151