美文网首页MySqlMysql
MySQL集群 、 负载均衡及高可用

MySQL集群 、 负载均衡及高可用

作者: 秋天丢了李姑娘 | 来源:发表于2021-09-16 20:43 被阅读0次

    部署企业私有镜像仓库Harbor

    私有镜像仓库有许多优点
    1)节省网络带宽,针对于每个镜像不用每个人都去中央仓库上面去下载,只需要从私有仓库中下载即可。
    2)提供镜像资源利用,针对于公司内部使用的镜像,推送到本地的私有仓库中,以供公司内部相关人员使用。
    VMware公司开源了企业级 Registry 项目 Harbor,其的目标是帮助用户迅速搭建一个企业级的 Docker registry 服务。
    

    华为云购买云主机,准备环境如下

    主机名称 IP地址 角色 配置
    harbor 192.168.1.100 Harbor私有镜像仓库 1GB/1CPU
    docker 192.168.1.68 Docker主机 1GB/1CPU

    分发实验所需软件包

    Dokcer Compose 是用于定义和运行多容器 Docker 应用程序的工具。

    Harbor的每个组件都是以 Docker 容器的形式构建的,所以使用 Docker Compose 来对它进行部署。

    部署私有镜像仓库harbor
    从 jump-server 主机拷贝 harbor 软件到 1.100 主机
    [root@jump-server ~]# scp -r /root/project3/harbor 192.168.1.100:/root/
    
    harbor主机开机路由转发
    [root@harbor ~]# echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf
    [root@harbor ~]# sysctl -p
    
    harbor主机安装docker服务,并启动
    [root@harbor ~]# cd /root/harbor/
    [root@harbor harbor]# yum -y install docker-ce-18.06.3.ce-3.el7.x86_64.rpm
    [root@harbor harbor]# systemctl start docker
    [root@harbor harbor]# systemctl enable docker
    
    部署harbor
    [root@harbor harbor]# mv docker-compose /usr/local/bin/
    [root@harbor harbor]# chmod +x /usr/local/bin/docker-compose
    [root@harbor harbor]# tar -xf harbor-offline-installer-v2.2.3.tgz -C /usr/local/
    [root@harbor harbor]# cd /usr/local/harbor
    
    [root@harbor harbor]# ls
    common.sh   harbor.yml.tmpl LICENSE
    harbor.v2.2.3.tar.gz install.sh prepare
    
    修改配置文件
    #拷贝harbor配置文件
    [root@harbor harbor]# cp harbor.yml.tmpl harbor.yml
    
    #访问harbor管理界面的地址,改为本机的IP地址
    [root@harbor harbor]# vim harbor.yml
    5 hostname = 192.168.1.100
    
    # 加上注释,否则需要证书
    13 #https:      #加上注释
    14  # https port for harbor, default is 443
    15  #port: 443  #加上注释
    16  # The path of cert and key files for nginx
    17  #certificate: /your/certificate/path #加上注释
    18  #private_key: /your/private/key/path #加上注释
    
    安装harbor
    [root@harbor harbor]# ./install.sh
    .......
    ✔ ----Harbor has been installed and started successfully.----
    [root@harbor harbor]# ss -antpu | grep 80
    tcp LISTEN  0   1024    [::]:80 [::]:*  users:
    (("docker-proxy",pid=15459,fd=4))
    

    1、设置监听器,添加后端服务器。没有需要购买
    【服务器列表】—>【弹性负载均衡ELB】—>【(自定义ELB名称)】—>【监听器】—>【添加监听器】。

    image.png image.png image.png image.png image.png

    另外购买一个新的公网IP地址,绑定到此负载均衡器上面

    2、访问Harbor界面(http://公网IP地址:80)

    用户名:admin 密码:Harbor12345

    image.png image.png

    部署一台 Docker 主机用于测试上传和下载。

    安装docker软件
    Docker Registry交互默认使用的是https,然而此处搭建的私有仓库只提供http服务,所以当与私有仓库交互时就会报上面的错误。为了解决这个问题需要在启动docke时增加启动参数为默认使用http访问。这个是在客户机的docker配置文件里添加的(即上传镜像到私有仓库里或从私有仓库下载镜像的客户机)
    
    harbor主机拷贝docker软件包到docker主机
    [root@harbor harbor]# cd /root/harbor/
    [root@harbor harbor]# scp docker-ce-18.06.3.ce-3.el7.x86_64.rpm 192.168.1.68:/root/
    
    docker主机安装docker软件包,更改配置文件
    [root@docker ~]# yum -y install docker-ce-18.06.3.ce-3.el7.x86_64.rpm
    
    [root@docker ~]# vim /usr/lib/systemd/system/docker.service
    12 ExecStart=/usr/bin/dockerd --insecure-registry 192.168.1.100:80
    [root@docker ~]# systemctl daemon-reload && systemctl enable docker && systemctl start docker
    
    测试登录Harbor镜像仓库。
    [root@docker ~]# docker login http://192.168.1.100:80
    Username: admin
    Password: Harbor12345
    Login Succeeded
    
    #密码信息会存储在/root/.docker/config.json中
    
    注意:如果没有添加--insecure-registry 192.168.1.100:80,在登录时会报以下错误。
    Error response from daemon: Get https://192.168.1.100:80/v2/: http: server gave HTTP response to HTTPS client
    
    
    解决方法:添加参数,重启服务即可。
    
    
    向私有仓库中上传镜像
    harbor主机上传busybox镜像给docker主机
    [root@harbor docker]# cd /root/harbor/
    [root@harbor harbor]# scp busybox.tar 192.168.1.68:/root/
    
    #docker主机导入镜像
    [root@docker ~]# docker load -i busybox.tar
    [root@docker ~]# docker images  #查看系统中镜像
    [root@docker ~]# docker tag busybox:latest 192.168.1.100:80/library/busybox:latest  #更改标签
    [root@docker ~]# docker images
    REPOSITORY TAG IMAGE ID CREATED SIZE
    192.168.1.67:8099/library/busybox latest be5888e67be6 2 months ago 1.22MB
    busybox latest be5888e67be6 2 months ago 1.22MB
    
    #向私有仓库推送镜像
    [root@docker ~]# docker push 192.168.1.100:80/library/busybox:latest
    The push refers to repository [192.168.1.100:80/library/busybox]
    5b0d2d635df8: Pushed
    latest: digest: sha256:a2490cec4484ee6c1068ba3a05f89934010c85242f736280b35343483b2264b6 size: 527
    

    在界面中查看刚刚上传的镜像文件。

    能够看到镜像仓库数为1,点击项目名称,查看该项目下的镜像文件

    image.png

    点击进去,可以看到上传的镜像

    image.png
    将系统中目前有的镜像文件删除, 从私有镜像仓库中下载镜像
    [root@docker ~]# docker rmi 192.168.1.100:80/library/busybox:latest
    [root@docker ~]# docker images
    REPOSITORY TAG IMAGE ID CREATED SIZE
    busybox latest be5888e67be6 2 months ago 1.22MB
    
    下载镜像
    [root@docker ~]# docker pull 192.168.1.100:80/library/busybox:latest
    [root@docker ~]# docker images
    REPOSITORY TAG IMAGE ID CREATED SIZE
    192.168.1.67:8099/library/busybox latest be5888e67be6 2 months ago 1.22MB
    busybox latest be5888e67be6 2 months ago 1.22MB
    

    明确的看到该镜像的下载次数为1

    image.png

    点击左侧导航栏,可以看到日志信息

    image.png
    如果harbor停止了,可以使用如下命令启动
    [root@harbor ~]# cd /usr/local/harbor/
    [root@harbor harbor]# docker-compose up -d
    

    相关文章

      网友评论

        本文标题:MySQL集群 、 负载均衡及高可用

        本文链接:https://www.haomeiwen.com/subject/puddgltx.html