Background

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

1、前置条件

  • 虚拟机准备 我这里准备了四台虚拟机来测试,具体部署配置信息如下表所示:
主机名角色
k8s-rancher管理k8s集群
k8s-masterk8s集群master节点, etcd节点
k8s-node1k8s集群work节点, etcd节点
k8s-node2k8s集群work节点, etcd节点
  • 安装好docker 所有节点。 安装配置请参考:centos7通过yum在线安装Docker CE
  • 安装好docker-compose 所有节点。 安装配置请参考:Centos7安装docker-compose
  • 配置 sysctl net.bridge.bridge-nf-call-iptables=1
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-chartshttps://github.com/rancher/helm3-chartshttps://gitee.com/rancher/helm3-charts
https://git.rancher.io/chartshttps://github.com/rancher/chartshttps://gitee.com/rancher/charts
https://git.rancher.io/system-chartshttps://github.com/rancher/system-chartshttps://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 工作原理
Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐