博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
centos7.6中使用docker19.03.13单节点离线安装rancher2.5.2,并设置harbor为rancher的私有仓库
阅读量:2063 次
发布时间:2019-04-29

本文共 3070 字,大约阅读时间需要 10 分钟。

目录

 

 


一、部署思路

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

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

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

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

二、前提条件

1.熟悉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三个软件,可参考,本文不涉及具体安装。注意我修改了默认的端口,多台机器部署不用修改。

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.下载文件地址:,注意不要下载带有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角色。复制命令框里的命令到终端执行,等待集群创建完成。

总结:

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

 

 

转载地址:http://quwmf.baihongyu.com/

你可能感兴趣的文章
读书摘要系列之《kubernetes权威指南·第四版》第一章:kubernetes入门
查看>>
Leetcode C++《热题 Hot 100-46》739.每日温度
查看>>
Leetcode C++《热题 Hot 100-47》236.二叉树的最近公共祖先
查看>>
Leetcode C++《热题 Hot 100-48》406.根据身高重建队列
查看>>
《kubernetes权威指南·第四版》第二章:kubernetes安装配置指南
查看>>
Leetcode C++《热题 Hot 100-49》399.除法求值
查看>>
Leetcode C++《热题 Hot 100-51》152. 乘积最大子序列
查看>>
[Kick Start 2020] Round A 1.Allocation
查看>>
[Kick Start 2020] Round A 2.Plates
查看>>
Leetcode C++ 《第181场周赛-1》 5364. 按既定顺序创建目标数组
查看>>
Leetcode C++ 《第181场周赛-2》 1390. 四因数
查看>>
阿里云《云原生》公开课笔记 第一章 云原生启蒙
查看>>
阿里云《云原生》公开课笔记 第二章 容器基本概念
查看>>
阿里云《云原生》公开课笔记 第三章 kubernetes核心概念
查看>>
阿里云《云原生》公开课笔记 第四章 理解Pod和容器设计模式
查看>>
阿里云《云原生》公开课笔记 第五章 应用编排与管理
查看>>
阿里云《云原生》公开课笔记 第六章 应用编排与管理:Deployment
查看>>
阿里云《云原生》公开课笔记 第七章 应用编排与管理:Job和DaemonSet
查看>>
阿里云《云原生》公开课笔记 第八章 应用配置管理
查看>>
阿里云《云原生》公开课笔记 第九章 应用存储和持久化数据卷:核心知识
查看>>