业务迁移环境准备
1.1 迁移概述
有了Kuberetes集群环境之后,我们就可以将原来在传统虚拟机上运行的业务,迁移到kubernetes上,让Kubernetes通过容器的方式来管理。
而一旦我们需要将传统业务使用容器的方式运行起来,就需要构建很多镜像,那么这些镜像就需要有一个专门的位置存储起来,为我们提供镜像上传和镜像下载等功能。但我们不能使用阿里云或者Dockerhub等仓库,首先拉取速度比较慢,其次镜像的安全性无法保证,所以就需要部署一个私有的镜像仓库来管理这些容器镜像。同时该仓库还需要提供高可用功能,确保随时都能上传和下载可用的容器镜像。
Harbor环境规划
主机名称 | IP地址 | 系统版本 | 内核版本 | CPU | 内存 |
---|---|---|---|---|---|
harbor-proxy | 192.168.1.140 | Centos7.6 | 3.10.0-957.el7.x86_64 | 1Core | 1G |
harbor-node1 | 192.168.1.134 | Centos7.6 | 3.10.0-957.el7.x86_64 | 1Core | 1G |
harbor-node2 | 192.168.1.135 | Centos7.6 | 3.10.0-957.el7.x86_64 | 1Core | 1G |
1.2 安装Harbor
1、安装Docker
x 1yum remove docker*2
yum install -y yum-utils3
curl -o /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo4 5
#安装docker,启动并加入开机自启6
yum list docker-ce --showduplicates |sort -r7
yum install docker-ce docker-compose -y8
systemctl enable docker
2、配置Docker
xxxxxxxxxx10 1
#配置加速,并设定cgroupdriver为systemd2
sudo mkdir -p /etc/docker3
sudo tee /etc/docker/daemon.json <<-'EOF'4
{5
"registry-mirrors": ["https://lyv949i7.mirror.aliyuncs.com"],6
"exec-opts": ["native.cgroupdriver=systemd"]7
}8
EOF9
sudo systemctl daemon-reload10
sudo systemctl restart docker
1.3 安装Harbor节点1
1、下载harbor
xxxxxxxxxx17 1
[root@harbor ~]# mkdir soft2
[root@harbor ~]# wget https://github.com/goharbor/harbor/releases/download/v2.6.1/harbor-offline-installer-v2.6.1.tgz3
[root@harbor soft]# tar xf harbor-offline-installer-v2.6.1.tgz4
[root@harbor soft]# cd harbor5
[root@harbor harbor]# vim harbor.yml6
hostname: 192.168.1.1347
...8
#https:9
# # https port for harbor, default is 44310
# port: 44311
# # The path of cert and key files for nginx12
# certificate: /your/certificate/path13
# private_key: /your/private/key/path14
...15
harbor_admin_password: Harbor1234516 17
[root@harbor harbor]# ./install.sh
#Harbor-node1配置同Harbor-node2
1.4 配置Node1复制规则
1、在Harbor-node1节点。点击仓库管理->新建目标,填写Harbor-node2节点信息,然后完成认证。
2、在Harbor-node1节点。点击复制管理->新建规则,填写Harbor-node2节点信息,然后完成认证。
1.5 配置Node2复制规则
1、在Harbor-node2节点。点击仓库管理->新建目标,填写Harbor-node1节点信息,然后完成认证。
2、在Harbor-node2节点。点击复制管理->新建规则,填写Harbor-node1节点信息,然后完成认证。
1.5 配置Nginx负载均衡调度
xxxxxxxxxx35 1
[root@qzj_node01 config]# cat harbor.conf2
#定义后端资源池3
upstream harbor {4
server 192.168.1.134:80 max_fails=1 fail_timeout=60s;5
server 192.168.1.135:80 max_fails=1 fail_timeout=60s;6
}7
#接收用户https请求, 将请求内容抛至后端web节点8
server {9
listen 443 ssl;10
server_name s.hmallleasing.com;11
ssl_prefer_server_ciphers on;12
ssl_certificate /etc/nginx/sslkey/_.hmallleasing.com_chain.crt;13
ssl_certificate_key /etc/nginx/sslkey/_.hmallleasing.com_key.key;14
location / {15
proxy_pass http://harbor;16
# include proxy_params;17
# proxy_set_header Host $http_host;18
proxy_set_header X-Real-IP $remote_addr;19
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;20
21
proxy_connect_timeout 30;22
proxy_send_timeout 60;23
proxy_read_timeout 60;24
25
proxy_buffering on;26
proxy_buffer_size 32k;27
proxy_buffers 4 128k;28
}29
}30
#用户通过http请求跳转至https31
server {32
listen 80;33
server_name s.hmallleasing.com;34
return 302 https://$server_name$request_uri;35
}
1.6上传镜像至Harbor
xxxxxxxxxx5 1
[root@master01 ~]# docker tag nginx:latest s.hmallleasing.com/base/nginx:latest2
[root@master01 ~]# docker login s.hmallleasing.com3
Username: admin4
Password:5
[root@master01 ~]# docker push s.hmallleasing.com/base/nginx:latest
标签:可用,Harbor,com,harbor,proxy,root,docker,安装 From: https://www.cnblogs.com/xyapples/p/16828095.html