Rancher + Harbor + Docker + k8s环境管理

一、目标

192.168.239.155 Docker|Rancher
192.168.239.156 Docker|Docker-compose|Harbor

注:Harbor的所有服务组件都是在Docker中部署的,官方安装使用Docker-compose快速部署,所以我们需要安装Docker、Docker-compose。由于Harbor是基于Docker Registry V2版本,
要求Docker版本不小于1.10.0,Docker-compose版本不小于1.6.0。

二、安装Docker(155 & 156服务器)

2.1.配置yum源

## 修改yum源为阿里云
 
cd /etc/yum.repos.d
 
mv CentOS-Base.repo CentOS-Base.repo.bak
wget https://mirrors.aliyun.com/repo/Centos-7.repo
mv Centos-7.repo CentOS-Base.repo
yum clean all
yum makecache
yum update

2.2.安装依赖包

yum install -y yum-utils device-mapper-persistent-data lvm2

## yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的

2.3.添加docker yum源

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

2.4.查看Docker版本并安装

## 查看所有仓库中所有docker版本,并选择特定版本安装
yum list docker-ce --showduplicates | sort -r

docker-ce.x86_64            3:20.10.7-3.el7                    docker-ce-stable 
docker-ce.x86_64            3:20.10.6-3.el7                    docker-ce-stable 
docker-ce.x86_64            3:20.10.6-3.el7                    @docker-ce-stable
docker-ce.x86_64            3:20.10.5-3.el7                    docker-ce-stable 
docker-ce.x86_64            3:20.10.4-3.el7                    docker-ce-stable 
docker-ce.x86_64            3:20.10.3-3.el7                    docker-ce-stable 
docker-ce.x86_64            3:20.10.2-3.el7                    docker-ce-stable 
docker-ce.x86_64            3:20.10.1-3.el7                    docker-ce-stable 
docker-ce.x86_64            3:20.10.0-3.el7                    docker-ce-stable 
docker-ce.x86_64            3:19.03.9-3.el7                    docker-ce-stable 
docker-ce.x86_64            3:19.03.8-3.el7                    docker-ce-stable 
docker-ce.x86_64            3:19.03.7-3.el7                    docker-ce-stable 
docker-ce.x86_64            3:19.03.6-3.el7                    docker-ce-stable 
docker-ce.x86_64            3:19.03.5-3.el7                    docker-ce-stable 
docker-ce.x86_64            3:19.03.4-3.el7                    docker-ce-stable 
docker-ce.x86_64            3:19.03.3-3.el7                    docker-ce-stable 
docker-ce.x86_64            3:19.03.2-3.el7                    docker-ce-stable 
docker-ce.x86_64            3:19.03.15-3.el7                   docker-ce-stable 
docker-ce.x86_64            3:19.03.14-3.el7                   docker-ce-stable 
docker-ce.x86_64            3:19.03.1-3.el7                    docker-ce-stable 
docker-ce.x86_64            3:19.03.13-3.el7                   docker-ce-stable 
docker-ce.x86_64            3:19.03.12-3.el7                   docker-ce-stable 
docker-ce.x86_64            3:19.03.11-3.el7                   docker-ce-stable 
docker-ce.x86_64            3:19.03.10-3.el7                   docker-ce-stable 
docker-ce.x86_64            3:19.03.0-3.el7                    docker-ce-stable 
docker-ce.x86_64            3:18.09.9-3.el7                    docker-ce-stable 
docker-ce.x86_64            3:18.09.8-3.el7                    docker-ce-stable 
docker-ce.x86_64            3:18.09.7-3.el7                    docker-ce-stable 
docker-ce.x86_64            3:18.09.6-3.el7                    docker-ce-stable 
docker-ce.x86_64            3:18.09.5-3.el7                    docker-ce-stable 
docker-ce.x86_64            3:18.09.4-3.el7                    docker-ce-stable 
docker-ce.x86_64            3:18.09.3-3.el7                    docker-ce-stable 
docker-ce.x86_64            3:18.09.2-3.el7                    docker-ce-stable 
docker-ce.x86_64            3:18.09.1-3.el7                    docker-ce-stable 
docker-ce.x86_64            3:18.09.0-3.el7                    docker-ce-stable 
docker-ce.x86_64            18.06.3.ce-3.el7                   docker-ce-stable 
docker-ce.x86_64            18.06.2.ce-3.el7                   docker-ce-stable 
docker-ce.x86_64            18.06.1.ce-3.el7                   docker-ce-stable 
docker-ce.x86_64            18.06.0.ce-3.el7                   docker-ce-stable 
docker-ce.x86_64            18.03.1.ce-1.el7.centos            docker-ce-stable 
docker-ce.x86_64            18.03.0.ce-1.el7.centos            docker-ce-stable 
docker-ce.x86_64            17.12.1.ce-1.el7.centos            docker-ce-stable 
docker-ce.x86_64            17.12.0.ce-1.el7.centos            docker-ce-stable 
docker-ce.x86_64            17.09.1.ce-1.el7.centos            docker-ce-stable 
docker-ce.x86_64            17.09.0.ce-1.el7.centos            docker-ce-stable 
docker-ce.x86_64            17.06.2.ce-1.el7.centos            docker-ce-stable 
docker-ce.x86_64            17.06.1.ce-1.el7.centos            docker-ce-stable 
docker-ce.x86_64            17.06.0.ce-1.el7.centos            docker-ce-stable 
docker-ce.x86_64            17.03.3.ce-1.el7                   docker-ce-stable 
docker-ce.x86_64            17.03.2.ce-1.el7.centos            docker-ce-stable 
docker-ce.x86_64            17.03.1.ce-1.el7.centos            docker-ce-stable 
docker-ce.x86_64            17.03.0.ce-1.el7.centos            docker-ce-stable 

## 安装
yum install docker-ce-3:20.10.7

2.5.启动并加入开机启动

systemctl start docker
systemctl enable docker
 
docker version

三、搭建Rancher(155服务器)

官网:https://www.rancher.cn/quick-start/

3.1 Rancher由以下四个部分组成:

3.1.1、基础设施编排

Rancher可以使用任何公有云或者私有云的Linux主机资源。Linux主机可以是虚拟机,也可以是物理机。Rancher仅需要主机有CPU,内存,本地磁盘和网络资源。从Rancher的角度来说,一台云厂商提供的云主机和一台自己的物理机是一样的。
Rancher为运行容器化的应用实现了一层灵活的基础设施服务。Rancher的基础设施服务包括网络, 存储, 负载均衡, DNS和安全模块。Rancher的基础设施服务也是通过容器部署的,所以同样Rancher的基础设施服务可以运行在任何Linux主机上。

3.1.2、容器编排与调度

很多用户都会选择使用容器编排调度框架来运行容器化应用。Rancher包含了当前全部主流的编排调度引擎,例如Docker Swarm, Kubernetes, 和Mesos。同一个用户可以创建Swarm或者Kubernetes集群。并且可以使用原生的Swarm或者Kubernetes工具管理应用。
除了Swarm,Kubernetes和Mesos之外,Rancher还支持自己的Cattle容器编排调度引擎。Cattle被广泛用于编排Rancher自己的基础设施服务以及用于Swarm集群,Kubernetes集群和Mesos集群的配置,管理与升级。

3.1.3、应用商店

Rancher的用户可以在应用商店里一键部署由多个容器组成的应用。用户可以管理这个部署的应用,并且可以在这个应用有新的可用版本时进行自动化的升级。Rancher提供了一个由Rancher社区维护的应用商店,其中包括了一系列的流行应用。Rancher的用户也可以创建自己的私有应用商店。

3.1.4、企业级权限管理

Rancher支持灵活的插件式的用户认证。支持Active Directory,LDAP, Github等 认证方式。 Rancher支持在环境级别的基于角色的访问控制 (RBAC),可以通过角色来配置某个用户或者用户组对开发环境或者生产环境的访问权限。

3.1.5、下图展示了Rancher的主要组件和功能:

Rancher + Harbor + Docker + k8s环境管理_第1张图片

 3.2 开始安装

#启动容器并指定端口
docker run -d --restart=always -p 8080:8080 rancher/server

3.2.1、注:如果一直报错,那么可能是网络原因,多试几次,如果还是不行,那就使用国内镜像下载地址,使用方式如下: 

1>.编辑/etc/docker/daemon.json文件

vi /etc/docker/daemon.json

# 添加
{
  "registry-mirrors": ["https://registry.docker-cn.com"]
}

2>.重启docker

systemctl restart docker

注:执行(多次)以上方式后,再重新执行命令,就不会报错了!

3.2.2、查看rancher运行情况

docker ps -a

3.2.3、查看rancher服务监听端口

netstat -antupl | grep 8080

 3.2.4、访问测试

http://192.168.239.155:8080

Rancher + Harbor + Docker + k8s环境管理_第2张图片

四、搭建Harbor仓库(156服务器)

4.1、Harbor介绍

Docker容器应用的开发和运行离不开可靠的镜像管理,虽然Docker官方也提供了公共的镜像仓库,但是从安全和效率等方面考虑,部署我们私有环境内的Registry也是非常必要的。Harbor是由VMware公司开源的企业级的Docker Registry管理项目,它包括权限管理(RBAC)、LDAP、日志审核、管理界面、自我注册、镜像复制和中文支持等功能。

4.2、Docker-compose 安装

## https://github.com/docker/compose/releases 找到指定的docker-compose,点击进去,Assets 下有对应的安装地址

curl -L https://github.com/docker/compose/releases/download/1.21.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

chmod +x /usr/local/bin/docker-compose

##  查看是否安装成功
docker-compose --version

 4.3、Harbor 服务搭建

## https://github.com/goharbor/harbor/tags 找到指定的harbor包,右键可以复制下载地址
 
## 下载online 或者 offline
 
wget https://storage.googleapis.com/harbor-releases/release-1.5.0/harbor-offline-installer-v1.5.0.tgz
 
tar xvf harbor-offline-installer-v1.5.0.tgz

4.4、修改Harbor参数

Rancher + Harbor + Docker + k8s环境管理_第3张图片

可以修改 docker-compose.yml 和 harbor.cfg 两个文件:

docker-compose.yml 主要修改registry容器参数 这里默认 

harbor.cfg只需要修改hostname为你自己的机器IP或者域名,harbor默认的db连接密码为root123,可以自己修改,也可以保持     默认,harbor初始管理员密码为Harbor12345,可以根据自己需要进行修改,email选项是用来忘记密码重置用的,根据实际情     况修改,如果使用163或者qq邮箱等,需要使用授权码进行登录,此时就不能使用密码登录了,会无效的(qq使用授权码登录     第三方邮箱客户端自行百度)

Rancher + Harbor + Docker + k8s环境管理_第4张图片

启动和课外知识点:

## 修改后,使用官方自带脚本更新参数,在harbor目录中执行
./prepare

## 会自动导入镜像并启动对应的容器,可用 docker-compose ps 查看
./install.sh

## docker-compose 使用

###后台启动,如果容器不存在根据镜像自动创建
docker-compose up -d

###停止容器并删除容器
docker-compose down -v

###启动容器,容器不存在就无法启动,不会自动创建镜像
docker-compose start

###停止容器
docker-compose stop
 
### 其中操作的所有容器,默认情况下docker-compose就是操作同目录下的docker-compose.yml文件,
如果使用其他yml文件,可以使用 -f 自己指定

 4.5、Hardor 登录及使用

http://192.168.239.156/

admin/Harbor12345

Rancher + Harbor + Docker + k8s环境管理_第5张图片

五、Rancher中调用该镜像

敬请期待。。。

你可能感兴趣的:(技术贴,rancher,harbor,k8s,docker)