在国内优雅地使用Rancher部署k8s集群
导航到全局或项目级别的Apps -> Manage Catalogs点击列表右侧的省略号 -> Edit将Catalog URL替换成码云中的地址即可,点击Save此时,对应的Catalog的状态变为Refreshed,等待其变为Active之后即可正常使用。Rancher默认使用Github上的repo作为应用商店的URL,如果出现timeout情况,可以将Catalog URL替换成码云的地址
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
6、使用Rancher快速安装插件-基于Prometheus+Grafana的高逼格监控平台
- 点击安装如下显示安装进度
7、使用Rancher快速安装插件-基于Fluentd的日志采集和分发系统
- Banzai Cloud Logging Operator 工作原理
更多推荐
所有评论(0)