业务迁移环境准备

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
 
 
 
 
1

yum remove docker*

2

yum install -y yum-utils

3

curl -o /etc/yum.repos.d/docker-ce.repo  https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

4


5

#安装docker,启动并加入开机自启

6

yum list docker-ce --showduplicates |sort -r 

7

yum install docker-ce docker-compose -y

8

systemctl enable docker 

 
 

2、配置Docker

 
 
 
xxxxxxxxxx
10

 
 
 
 
1

#配置加速,并设定cgroupdriver为systemd

2

sudo mkdir -p /etc/docker

3

sudo tee /etc/docker/daemon.json <<-'EOF'

4

{

5

  "registry-mirrors": ["https://lyv949i7.mirror.aliyuncs.com"], 

6

  "exec-opts": ["native.cgroupdriver=systemd"] 

7

}

8

EOF

9

sudo systemctl daemon-reload

10

sudo systemctl restart docker

 
 

1.3 安装Harbor节点1

1、下载harbor

 
 
 
xxxxxxxxxx
17

 
 
 
 
1

[root@harbor ~]# mkdir soft

2

[root@harbor ~]# wget https://github.com/goharbor/harbor/releases/download/v2.6.1/harbor-offline-installer-v2.6.1.tgz

3

[root@harbor soft]# tar xf harbor-offline-installer-v2.6.1.tgz

4

[root@harbor soft]# cd harbor

5

[root@harbor harbor]# vim harbor.yml

6

hostname: 192.168.1.134

7

...

8

#https:

9

#  # https port for harbor, default is 443

10

#  port: 443

11

#  # The path of cert and key files for nginx

12

#  certificate: /your/certificate/path

13

#  private_key: /your/private/key/path

14

...

15

harbor_admin_password: Harbor12345

16


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负载均衡调度
 
 
 
xxxxxxxxxx
35

 
 
 
 
1

[root@qzj_node01 config]# cat harbor.conf 

2

#定义后端资源池

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请求跳转至https

31

server {

32

    listen 80;

33

    server_name s.hmallleasing.com;

34

    return 302 https://$server_name$request_uri;

35

}

 
 

1.6上传镜像至Harbor
 
 
 
xxxxxxxxxx
5

 
 
 
 
1

[root@master01 ~]# docker tag nginx:latest s.hmallleasing.com/base/nginx:latest

2

[root@master01 ~]# docker login s.hmallleasing.com

3

Username: admin

4

Password: 

5

[root@master01 ~]# docker push s.hmallleasing.com/base/nginx:latest

 
 

 

原文地址:http://www.cnblogs.com/xyapples/p/16828095.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性