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节点 |
- 安装好
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-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文章来源:https://uudwc.com/A/DNLmR
6、使用Rancher快速安装插件-基于Prometheus+Grafana的高逼格监控平台
文章来源地址https://uudwc.com/A/DNLmR
- 点击安装如下显示安装进度
7、使用Rancher快速安装插件-基于Fluentd的日志采集和分发系统
- Banzai Cloud Logging Operator 工作原理