1. 程式人生 > >Docker(十三):OpenStack部署Docker集群實戰

Docker(十三):OpenStack部署Docker集群實戰

-a 模塊 -1 -name nbsp col arm ons http

1、介紹

  本教程使用Compose、Machine、Swarm工具把WordPress部署在OpenStack上。

  本節采用Consul作為Swarm的Discovery Service模塊,要利用Consul實現服務的註冊與發現,需要建立Consul Cluster。在Consul方案中,每個提供服務的節點上都要部署和運行Consul的agent,所有運行Consul agent節點的集合會構成Consul Cluster。

2、創建虛擬機

  使用docker-machine create命令創建6個虛擬機,其中虛擬機1用作Swarm的Master,虛擬機2用作Consul的服務發現,虛擬機3~5用作Swarm的節點。

  創建lfkdockermachine6虛擬機

  #docker-machine create -d openstack --openstack-insecure --openstack-auth-url=Keystone_Auth_URL --openstack-username=UserName --openstack-password=PassWord --openstack-tenant-id=TenantID --openstack-tenant-name=TenantName --openstack-flavor-id=FlavorID --openstack-image-id=ImageID --openstack-region=az0.dcl --openstack-net-id=NetID --openstack-availability-zone=az1.dc1 --openstack-sec-groups=GroupsID --openstack-floatingip-pool=external_relay_network lfkdockermachine6

  Creating machine...

  更多參數詳見:https://docs.docker.com/machine/drivers/openstack/#options

3、查看虛擬機

  #docker-machine ls

  NAME    ACTIVE     DRIVER    STATE    URL    SWARM

  lfkdockermachine       openstack    running   tcp://100.64.0.30:2376

  lfkdockermachine1      openstack    running   tcp://100.64.0.31:2376

  lfkdockermachine2      openstack    running   tcp://100.64.0.32:2376

  lfkdockermachine3      openstack    running   tcp://100.64.0.33:2376

  lfkdockermachine4      openstack    running   tcp://100.64.0.34:2376

  lfkdockermachine5      openstack    running   tcp://100.64.0.35:2376

  通過OpenStack的nova list查看

  #nova list --all_te | grep lfk | head -1

  | 65ad59c7-39df-4cdc-8957-eb2e396ac8d6 | lfkdockermachine | ACTIVE | -  | Running | docker-VM_network=192.168.10.90,100.64.0.30 |

4、搭建Swarm的Discovery Service模塊

  在lfkdockermachine2上通過consul命令搭建Consul Server節點

  #consul agent -server -bootstrap-expect=1 -data-dir=data -bind=192.168.10.92 -client=192.168.10.92 &

  在lfkdockermachine3、lfkdockermachine4、lfkdockermachine5上搭建Consul Client節點

  #consul agent -data-dir=data -node=lfkdockermachine3 -join=192.168.10.92 -bind=192.168.10.93 -client=192.168.10.93 &

  此時在日誌lfkdockermachine2上可看到Consul Client節點加入了集群

  consul:member ‘lfkdockermachine3‘ joined, marking health alive

  將lfkdockermachine4和lfkdockermachine5也加入集群

  在Consul Server節點通過members命令列出整個集群的綜合信息

  #consul members -rpc-addr=192.168.10.92:8400

  Node        Address    Status    Type    Build    Protocol

  lfkdockermachine2  192.168.10.92 alive     server 0.5.0 2

  lfkdockermachine3  192.168.10.93 alive     client 0.5.0 2

  lfkdockermachine4  192.168.10.94 alive     client 0.5.0 2

  lfkdockermachine5  192.168.10.95 alive     client 0.5.0 2

Docker(十三):OpenStack部署Docker集群實戰