UOS部署Rancher

第一章 方案概述
本套方案采用了Rancher+Harbor+GlusterFS的超融合架构方案,通过Rancher部署可使用web管控界面的基于Kubernets的容器编排调度环境。通过Harbor搭建一个可通过web管控界面管理的私有docker镜像仓库。运用GlusterFS分布式存储系统,在无特定存储设备的环境下整合每台服务器的存储资源,为Kubernets与Docker镜像提供存储。
第二章 方案规划

2.1.硬件信息

主机名 CPU 内存 ip 磁盘 角色
Rancher1-uos-pc 2 4G 10.10.254.245 sda 50G Sdb 50G (GlusteFS) Etcd,ControlWorker
Rancher2-uos-pc 2 4G 10.10.254.221 sda 50G Sdb 50G (GlusteFS) Worker
Rancher3-uos-pc 2 4G 10.10.254.230 Sda 50G Sdb 50G(GlusteFS) Worker
harbor-uos-pc 1 2 4G 10.10.254.49 sda 50G Sdb 50G(GlusteFS) harbor

2.2.软件信息

软件名称 版本号 备注
Docker 18.09.1
Ranche v2.4.4
Harbor v1.10.3
GlusterFS v5.5

2.3.准备环境
1.更新apt源 (所有节点)
apt update
2.配置本地host文件 (所有节点)
cat /etc/hosts
127.0.0.1 localhost
127.0.1.1 uos-PC
The following lines are desirable for IPv6 capable hosts
10.10.254.245 Rancher1-uos-pc
10.10.254.221 Rancher2-uos-pc
10.10.254.230 Rancher3-uos-pc
10.10.254.49 harbor-uos-pc
3.所有节点安装docker
apt install docker.io
2.3.1.Rancher软件安装
1.主节点执行命令,拉取Rancher镜像,docker运行


root@Rancher1-uos-pc:~#docker run -d -p 9080:80 -p9443:443 --restart unless-stopped Rancher/Rancher:v2.4.4

UOS部署Rancher_第1张图片

2.docker运行起来测试访问 https://10.10.254.245:9443,设置密码并接受许可协议
UOS部署Rancher_第2张图片

3.设置登录的链接默认就可以
UOS部署Rancher_第3张图片

4.登录进来可以先改一下默认语言改成简体中文
UOS部署Rancher_第4张图片

5.改完了之后大概是这个样子,点击右上角可以添加集群
UOS部署Rancher_第5张图片

6.Rancher支持导入现有的kubernets集群,也可与一些云服务供应商对接,目前我们先不涉及这些功能,新建一个集群选择自定义
UOS部署Rancher_第6张图片

7.此时根据我们之前规划好的角色选择(主节点:全选,其他节点:只需勾选Worker),分别点击右侧复制命令,在各节点上粘贴执行。
UOS部署Rancher_第7张图片

8.点击红色剪头所指
UOS部署Rancher_第8张图片

9.默认然后点击下一步
UOS部署Rancher_第9张图片

10.选择上括号所框代表本机所代表的角色,点击箭头所指的 Etcd Control Worker加入master集群的命令,两个worker节点只需要勾选Worker一个 之后所产生的命令再对应的节点输入(前提别的设备上已安装docker,可以正常联网,之后大概要等到半个小时左右的时间)
UOS部署Rancher_第10张图片

UOS部署Rancher_第11张图片

11.Rancher集群已经创建完成,具体操作的文档可参考Rancher官方文档

2.3.2.Harbor软件 安装
1.首先需要从harbor官方下载安装包,官方发布地址:https://github.com/goharbor/harbor/releases 安装包分为别对应offline(离线),online(在线)版本,根据网络情况下载即可。
UOS部署Rancher_第12张图片

2.具体命令
root@harbor-uos-pc:~#wget https://github.com/goharbor/harbor/releases/download/v1.10.3/harbor-online-installer-v1.10.3.tgz
●安装docker-compose
root@harbor-uos-pc:~# apt-get install curl && curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose- ( u n a m e − s ) − (uname -s)- (unames)(uname -m) -o /usr/local/bin/docker-compose
(链接github的时候可能会超时建议多次尝试)
root@harbor-uos-pc:~# vim harbor/harbor.yml
●按照下图进行修改里面的配置
UOS部署Rancher_第13张图片

root@harbor-uos-pc:~# bash harbor/install.sh
稍等大约5-10分钟左右(取决于网络速率)
●安装完成后访问,http://10.10.254.49
用户名:admin
密码:Harbor12345
UOS部署Rancher_第14张图片

2.3.3.GlusterF软件安装
1.在所有Rancher节点上对sdb进行分区、格式化创建GlusterFS目录、并写入fstab、挂载
parted /dev/sdb mklabel msdos
parted /dev/sdb mkpart p 4096 100%
mkfs.ext4 /dev/sdb1
mkdir /GlusterFS
echo “/dev/sdb1 /GlusterFS ext4 defaults 0 0” >> /etc/fstab
mount -a
2.在所有Rancher节点上分别安装glusterfs-server、并启动
apt-get install glusterfs-server -y
systemctl enable glusterd.service
systemctl start glusterd.service
3.在Rancher1上操作,将另外两台gluster节点加入到集群中
root@Rancher1-uos-pc:~# gluster peer probe Rancher2-uos-pc
root@Rancher1-uos-pc:~# gluster peer probe Rancher3-uos-pc
4.创建gluster分布式卷其中一台作为冗余,并启动
root@Rancher1-uos-pc:~# gluster volume create Rancher transport tcp disperse 3 redundancy 1 Rancher{1,2,3}-uos-pc:/GlusterFS force
root@Rancher1-uos-pc:~# gluster volume start Rancher
5.尝试在本机进行挂载
root@Rancher1-uos-pc:~# mount -t glusterfs Rancher1-uos-pc:/Rancher /mnt
2.4.方案验证
1.我们用现有的所有架构部署一个nextcloud应用作为示范,首先把镜像从dockerhub上pull下来
docker pull nextcloud

2.然后登录镜像仓库,由于没有采用https部署,所以需要在配置中信任一下,在所有节点上配置:
vim /etc/default/docker
UOS部署Rancher_第15张图片

3.把下载的镜像修改下tag,改成我们之前部署好的harbor镜像仓库的地址
root@Rancher1-uos-pc:~# docker tag nextcloud:latest 10.10.254.49/library/nextcloud:latest
4.然后重启下docker
systemctl restart docker
5.命令行登录Harbor
docker login 10.10.254.49
UOS部署Rancher_第16张图片

6.出现Succeeded字段表明登陆成功,就可以push之前的镜像到我们的私有仓库了
root@Rancher1-uos-pc:~#docker push 10.10.254.49/library/nextcloud:latest
7.测试访问看是否pull成功
UOS部署Rancher_第17张图片

8.由于需要在glusterfs中存储应用中的数据,需要为glusterfs添加一个集群内部的DNS,指向glusterfs的IP地址,进入到Debault项目空间:
UOS部署Rancher_第18张图片

9.接下来可参照下图配置,名称相当于解析的名字:
UOS部署Rancher_第19张图片

10.首先设置打开Rancher储存策略的隐藏选项
UOS部署Rancher_第20张图片
UOS部署Rancher_第21张图片

11.把储存驱动程序开启,配置好后切换到集群界面,选择存储,持久卷。
UOS部署Rancher_第22张图片
UOS部署Rancher_第23张图片

12.选择添加PV,参照下图配置:
UOS部署Rancher_第24张图片

13.此时集群中的glusterfs已配置完成,接下来部署服务:
切换到debault项目空间:
UOS部署Rancher_第25张图片
14.切换到工作负载选项卡,选择部署服务
UOS部署Rancher_第26张图片

15.参照下图配置:
UOS部署Rancher_第27张图片
UOS部署Rancher_第28张图片
UOS部署Rancher_第29张图片
UOS部署Rancher_第30张图片

16.配置完成后点击启动。
Rancher会为随机配置一个Nodeport映射到容器的80端口,在工作负载中能够显示,点击端口即可访问服务:

16.在其中一个节点手动挂载GlusterFS,查看nextcloud的中文件是否保存在GlusterFS中:
root@Rancher1-uos-pc:/mnt# mount -t glusterfs Rancher1-uos-pc:/Rancher /mnt/
UOS部署Rancher_第31张图片
17.可以看到咱们的nextcloud也同步过来了

你可能感兴趣的:(docker,运维,jenkins)