centos7.6中使用docker19.03.13单节点离线安装rancher2.5.2,并设置harbor为rancher的私有仓库

目录

 

一、部署思路

二、前提条件

三、环境准备

四、创建、推送镜像仓库及运行rancher

 


一、部署思路

1.本地一个VMware虚拟机部署,以测试离线安装为主。使用一个机器可以使资源利用最大化,毕竟宿主机是笔记本,资源有限。

2.如果你也是一个机器,配置建议至少8vCPUs16G内存,150G储存。多个机器适当调低配置,本次测试使用一个4vCPUs16G内存的机器,发现rancher运行还算比较稳定。

3.在一个机器上安装所有软件docker,docker-compose,harbor,rancher/server,rancher/agent。

4.所有涉及软件采用最新稳定版且离线安装,保证相对长时间内不用进行版本升级。 本次部署默认网络是纯内网不能连接外网。外网下载内网部署,可以使用NTFS格式的U盘转移

扫描二维码关注公众号,回复: 12341853 查看本文章

二、前提条件

1.熟悉rancher2.5.2或其他稳定版本在线安装基本步骤和思路,可参考我之前写的rancher2.5.2在线安装

2.符合要求的硬件及软件环境,根据自己需要加装基本工具服务,如:net-tools,lrzsz等。

3.必要的rancher环境调整,包括关闭防火墙、关闭selinux、配置hosts域名绑定等,也可以不关闭但设置相应规则。

4.离线安装符合版本要求的docker(管理rancher的相关容器)及docker-compose(管理harbor),docker要配置国内镜像加速器,建议配置阿里云的。

5.离线安装较新稳定版harbor镜像仓库,供docker启动容器时离线拉取所需镜像,仓库空间不低于50G。

6.配置barbor的https访问,此步骤实际上是配置harbor内置的nginx开启https。并对所有docker机器(本次测试只有一台)授权,rancher通过docker从barbor仓库拉取镜像时默认走https协议。

三、环境准备

一台新装虚拟机器(4核8线程16G内存,CentOS7.6最小化安装)。离线先安装好docker,docker-compose,harbor三个软件,可参考https://blog.csdn.net/ct_666/article/details/110916695,本文不涉及具体安装。注意我修改了默认的端口,多台机器部署不用修改。

IP 软件 版本 端口
192.168.44.100 docker-ce 19.03.13  
docker-compose 1.27.4  
harbor 2.0.4

80==>9080,443==>9443

rancher/server 2.5.2 80==>8080,443==>8443
rancher/agent 2.5.2 80,443

四、创建、推送镜像仓库及运行rancher

注意:1.所需文件应位于同一目录,我是放在/home目录下:rancher-images.txt ,rancher-save-images.sh ,rancher-load-images.sh ,rancher-images.tar.gz

           2.其中rancher-images.txt ,rancher-save-images.sh ,rancher-load-images.sh 这三个文件是在官网根据自己选择的版本需求下载对应的,rancher-images.tar.gz是在本文第3步生成的。

           3.下载文件地址:https://github.com/rancher/rancher/releases,注意不要下载带有rc或Pre-release的版本,因为它们在生产环境下是不稳定的。如下是当前最新稳定版2.5.3的资产列表,

本文使用2.5.2。

          4.1-3步在外网操作,4-7步在内网操作,本文是第4步断掉网络模拟内网。

cd /home/

1.对镜像列表进行排序和唯一化,以去除重复的镜像源。

sort -u rancher-images.txt -o rancher-images.txt

2.添加 rancher-save-images.sh文件的可执行权限。

chmod +x rancher-save-images.sh

3.执行脚本rancher-save-images.sh并以--image-list ./rancher-images.txt 作为参数,创建所需镜像的压缩包(时间较长)。

./rancher-save-images.sh --image-list ./rancher-images.txt

4.将上一步骤生成的文件 rancher-images.tar.gz 使用U盘转移到自己的harbor镜像库所在内网服务器(由于我是一台机器,不存在转移,只是断掉互联网模拟内网),在内网登录docker准备上传镜像到harbor离线仓库。

docker login 192.168.44.100:9443

5.添加 rancher-load-images.sh文件的可执行权限。

chmod +x rancher-load-images.sh

6.使用脚本 rancher-load-images.sh提取rancher-images.tar.gz文件中的镜像。执行命令后,首先是解压rancher-images.tar.gz文件,大概10分钟并且没有提示的像卡住了一样,解压完成才开始上传。根据文件rancher-images.txt中的镜像列表对提取的镜像文件重新打 tag 并推送到自己的harbor离线镜像仓库中。再此之前,你的harbor仓库需要先建立一个rancher项目。

 确认创建好了rancher项目之后,再执行推送命令,脚本会把所有镜像推送至rancher项目下

./rancher-load-images.sh --image-list ./rancher-images.txt --registry 192.168.44.100:9443

7.建立好离线镜像仓库后,测试用docker在内网机运行一个rancher/server,从指定的harbor离线镜像仓库拉取所需的全部镜像。

docker run -d --restart=unless-stopped --name rancher --privileged \
           -p 8080:80 -p 8443:443 \
           -e CATTLE_SYSTEM_DEFAULT_REGISTRY=192.168.44.100:9443 \
           -e CATTLE_SYSTEM_CATALOG=bundled \
           -v /var/lib/rancher:/var/lib/rancher \
           -v /var/log/auditlog:/var/log/auditlog \
           192.168.44.100:9443/rancher/rancher:v2.5.2

 8.登录https://192.168.44.100:8443,创建一个新的“自定义”的集群,填写集群名字,设置rancher的私有镜像仓库地址,登录名,密码。使rancher建立集群时始终从指定的镜像仓库拉取所需镜像,其余默认设置,点击下一步。

9.由于只有一台机器,勾选Etcd 角色、 Control 角色、Worker角色。复制命令框里的命令到终端执行,等待集群创建完成。

总结:

       离线安装和在线安装没有太大区别,主要是镜像获取方式不一样。在线安装使用官方的镜像源,而离线安装使用自己搭建的私有镜像仓库。并且私有镜像仓库里面的镜像需要自己维护,缺少的镜像需要自己外网下载,再使用工具转移到内网,推送到私有仓库,才能使用,整个过程比较麻烦。

 

猜你喜欢

转载自blog.csdn.net/ct_666/article/details/110818135
今日推荐