搭建docker swarm集群实现负载均衡

Swarm简介:

Swarm是Docker官方提供的一款集群管理工具,其主要作用是把若干台Docker主机抽象为一个整体,并且通过一个入口统一管理这些Docker主机上的各种Docker资源。
Swarm和Kubernetes比较类似,但是更加轻,具有的功能也较kubernetes更少一些

实验环境:

server1:172.25.66.1   manager
server2:172.25.66.2   node1
server3:172.25.66.3   node2
1.使用自签发证书搭建私有仓库

(1).制作证书

[root@foundation66 ~]# cd /tmp/docker/
[root@foundation66 docker]# mkdir certs
[root@foundation66 docker]# openssl req -newkey rsa:4096 -nodes -sha256 -keyout certs/domain.key -x509 -days 365 -out certs/domain.crt

在这里插入图片描述

[root@foundation66 docker]# cd certs/
[root@foundation66 certs]# ll
total 8
-rw-r--r--. 1 root root 2098 Mar 14 18:44 domain.crt
-rw-r--r--. 1 root root 3272 Mar 14 18:44 domain.key

(2)创建私有仓库

1.下载并导入registry镜像

registry.tar
[root@foundation66 Desktop]# ls
registry.tar
[root@foundation66 Desktop]# docker load -i registry.tar
[root@foundation66 Desktop]# docker images

在这里插入图片描述
2.创建私有仓库(容器)

[root@foundation66 ~]# cd /tmp/docker/
[root@foundation66 docker]# docker run -d \
> --restart=always \
> --name registry \
> -v `pwd`/certs:/certs \
> -e REGISTRY_HTTP_ADDR=0.0.0.0:443 \
> -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/domain.crt \
> -e REGISTRY_HTTP_TLS_KEY=/certs/domain.key \
> -p 443:443 \
> registry
21de9d97895639d9a371b4dde56ae121c36716947985589e3a9b4546d6fb5735
[root@foundation66 docker]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                            NAMES
21de9d978956        registry           "/entrypoint.sh /etc…"   20 seconds ago      Up 18 seconds       0.0.0.0:443->443/tcp, 5000/tcp   registry
[root@foundation66 docker]# netstat -antlp |grep :443
tcp        0      0 192.168.43.230:44402    111.7.188.1:443         ESTABLISHED 3264/firefox        
tcp6       0      0 :::443                  :::*                    LISTEN      8963/docker-proxy   

(3).拷贝证书

[root@foundation66 ~]# cd /etc/docker/certs.d/westos.org/ 
[root@foundation66 westos.org]# ls 
ca.crt
[root@foundation66 westos.org]# cp /opt/docker/certs/westos.org.crt ca.crt cp: overwrite ‘ca.crt’? y

(4).传输证书

[root@foundation66 ~]# cd /etc/docker/
[root@foundation66 docker]# ls
certs.d  daemon.json  key.json
[root@foundation66 docker]# scp -r certs.d/ root@172.25.66.1:/etc/docker
[root@foundation66 docker]# scp -r certs.d/ root@172.25.66.2:/etc/docker
[root@foundation66 docker]# scp -r certs.d/ root@172.25.66.3:/etc/docker
[root@server1 ~]# cd /etc/docker
[root@server1 ~]# ls
certs.d 
[root@server2 ~]# cd /etc/docker
[root@server2 ~]# ls
certs.d
[root@server3 ~]# cd /etc/docker/
[root@server3 docker]# ls
certs.d

(5).添加解析

#解析域名为制作证书时设定的Common Name
[root@foundation66 ~]# vim /etc/hosts

在这里插入图片描述

[root@server1 ~]# vim /etc/hosts

在这里插入图片描述

[root@server2 ~]# vim /etc/hosts

在这里插入图片描述

[root@server3 ~]# vim /etc/hosts

在这里插入图片描述

2.部署swarm集群

配置主结点:

(1).下载并安装docker

安装包:

docker-engine-17.05.0.ce-1.el7.centos.x86_64.rpm
docker-engine-selinux-17.05.0.ce-1.el7.centos.noarch.rpm

点击此处即可下载

[root@server1 ~]# ls
docker-engine-17.05.0.ce-1.el7.centos.x86_64.rpm
docker-engine-selinux-17.05.0.ce-1.el7.centos.noarch.rpm
[root@server1 ~]# yum install -y *
#用于补齐docker命令
[root@sever1 ~]# yum install -y bash-*

(2).启动docker

[root@server1 ~]# systemctl start docker
[root@sever1 ~]# netstat -antlp

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值