微服架构基础设施环境平台搭建 -(二)Docker私有仓库Harbor服务搭建
通过采用微服相关架构构建一套以Kubernetes+Docker为自动化运维基础平台,以微服务为服务中心,在此基础之上构建业务中台,并通过Jekins自动构建、编译、测试、发布的自动部署,形成一套完整的自动化运维、发布的快速DevOps平台。
本文主要针对 ks-harbor [192.168.2.146] 服务器进行部署Harbor服务
文章的操作过程大部分参照【Harbor高可用集群设计及部署(基于离线安装方式)】
微服架构基础设施环境平台搭建 系列文章
微服架构基础设施环境平台搭建 -(一)基础环境准备
微服架构基础设施环境平台搭建 -(二)Docker私有仓库Harbor服务搭建
微服架构基础设施环境平台搭建 -(三)Docker+Kubernetes集群搭建
微服架构基础设施环境平台搭建 -(四)在Kubernetes集群基础上搭建Kubesphere平台
微服架构基础设施环境平台搭建 -(五)Docker常用命令
目录
- 微服架构基础设施环境平台搭建 -(二)Docker私有仓库Harbor服务搭建
- 一、采用的技术架构
- 二、微服架构基础设施平台网络规划
- 三、部署架构
- 四、安装Docker并配置Docker
- 1、安装Docker
- 2、安装docker-compose
- 3、配置内核参数
- 五、安装Harbor
- 1、下载安装包并解压
- 2、修改配置文件
- 3、执行安装
- 4、登录Harbor后台
- 六、Docker接入Harbor
- 1、修改Docker配置文件,接入Harbor
- 2、将Docker镜像上传Harbor
- 3、将从Harbor私有仓库中下载Docker镜像
一、采用的技术架构
序号 | 技术框架 | 说明 |
---|---|---|
1 | Kubernetes | |
2 | Kubesphere | Kubernetes编排器,管理平台 |
3 | Dockers | |
4 | Harbor | Docker私有仓库 |
5 | GitLab | 源码库 |
6 | Jekins | 自动编译、测试、发布平台 |
7 | Spring Cloud Alibaba | Spring Cloud Alibaba微服体系架构 |
8 | Nacos | Api网关、服务注册发现配置管理中心 |
9 | Sentinel | 限流溶断安全中心 |
10 | Seata | 分布式事务管理框架 |
11 | Redis | 分布式缓存服务 |
12 | ElasticSearch/Solr | 数据检索服务 |
13 | Mysql | 结构化数据存储 |
14 | Grafana | 监控平台 |
15 | Nginx | 服务代理、Web服务 |
二、微服架构基础设施平台网络规划
序号 | IP | HostName | 操作系统 | K8s角色 | 说明 |
---|---|---|---|---|---|
1 | 192.168.1.141 | ks-m1 | CentOS7_x64 | 控制节点 | Kubernetes Master |
2 | 192.168.1.142 | ks-m2 | CentOS7_x64 | 控制节点 | Kubernetes Master高可用节点,如果不需要高可用,可不部署此服务器 |
3 | 192.168.1.143 | ks-m3 | CentOS7_x64 | 控制节点 | Kubernetes Master高可用节点,如果不需要高可用,可不部署此服务器 |
4 | 192.168.1.144 | ks-n1 | CentOS7_x64 | 工作节点 | Kubernetes Worker |
5 | 192.168.1.145 | ks-n2 | CentOS7_x64 | 工作节点 | Kubernetes Worker |
6 | 192.168.2.146 | ks-harbor | CentOS7_x64 | 工作节点 | Harbor服务+NFS文件服务 |
三、部署架构
四、安装Docker并配置Docker
1、安装Docker
在ks-harbor服务器上执行下面命令:
wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum install -y docker-ce
systemctl enable --now docker
systemctl status docker
cat <<EOF > /etc/docker/daemon.json
{
"registry-mirrors": ["https://xcg41ct3.mirror.aliyuncs.com"],
"exec-opts": ["native.cgroupdriver=systemd"],
"registry-mirrors": ["https://3hjcmqfe.mirror.aliyuncs.com"],
"log-driver": "json-file",
"log-opts": {
"max-size": "500m",
"max-file": "2"
}
}
EOF
systemctl daemon-reload
systemctl restart docker
说明:
exec-opts": [“native.cgroupdriver=systemd”], #驱动器
registry-mirrors: 镜像加速地址,可多个
max-file: log最多保留数量
live-restore: 重启docker不重启容器,多用于k8s上
2、安装docker-compose
在ks-harbor服务器上执行下面命令:
wget https://github.com/docker/compose/releases/download/v2.2.3/docker-compose-linux-x86_64
mv docker-compose-linux-x86_64 /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
docker-compose version
3、配置内核参数
在ks-harbor服务器上执行下面命令:
$ modprobe br_netfilter
$ cat >> /etc/sysctl.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1 #路由转发
EOF
$ sysctl -p
五、安装Harbor
说明:安装Harbor需要先安装docker-compose
1、下载安装包并解压
#创建安装目录
mkdir /app
wget https://github.com/goharbor/harbor/releases/download/v2.3.5/harbor-offline-installer-v2.3.5.tgz
tar -xzvf harbor-offline-installer-v2.3.5.tgz /app/
2、修改配置文件
修改harbor.yml中的hostname配置为当前服务器的ip,以及注释掉https的相关配置,如下图所示
cd /app/harbor
vim harbor.yml
3、执行安装
#执行安装
sh install.sh
4、登录Harbor后台
默认用户名:admin,默认密码: Harbor12345
六、Docker接入Harbor
1、修改Docker配置文件,接入Harbor
1)、编辑Docker配置文件
vim /etc/docker/daemon.json
2)、添加配置"insecure-registries" : [“192.168.2.146”]
"insecure-registries" : ["192.168.2.146"]
3)、重启Docker
systemctl restart docker
3)、重启Harbor
cd /app/harbor
docker-compose up -d
2、将Docker镜像上传Harbor
# 登录
docker login 192.168.2.146
# 上传至Harbor公开仓库
docker tag mysql:5.7 192.168.2.146/pub/mysql:5.7
docker push 192.168.2.146/pub/mysql:5.7
# 退出Harbor
docker loginout 192.168.1.146
3、将从Harbor私有仓库中下载Docker镜像
# 显示本地所有的镜像
docker images
# 从本地删除镜像名称为192.168.2.146/pub/mysql:5.7的镜像
docker rmi 192.168.2.146/pub/mysql:5.7
# 从Harbor公开仓库下载mysql:5.7
docker pull 192.168.2.146/pub/mysql:5.7