swarm

作者: AEGQ | 来源:发表于2017-08-02 09:59 被阅读207次

参考:


示例:


1、manager:
➜  ~ docker swarm init                    
Swarm initialized: current node (y53c3ts1ycqknb6cfvu56jg2w) is now a manager.

To add a worker to this swarm, run the following command:

    docker swarm join \
    --token SWMTKN-1-18kbws8xv6mnfcsvbwo1iwbvdeu139lxbibc8r609t2quwpvtu-e8l9cms7q2rie9uagdvls1eka \
    192.168.10.209:2377

To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.

➜  ~ docker network create -d=overlay onet
rys5x3bro7uyol04dvwex3k1g
➜  ~ docker network ls
NETWORK ID          NAME                DRIVER              SCOPE
c3bfd973008e        bridge              bridge              local
4a6d69a117e1        docker_gwbridge     bridge              local
a5e6a37dff91        host                host                local
wc0pv6sc2ac7        ingress             overlay             swarm
18a245c8f8dc        none                null                local
rys5x3bro7uy        onet                overlay             swarm
➜  ~ docker network inspect onet
[
    {
        "Name": "onet",
        "Id": "rys5x3bro7uyol04dvwex3k1g",
        "Created": "0001-01-01T00:00:00Z",
        "Scope": "swarm",
        "Driver": "overlay",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": null,
            "Config": []
        },
        "Internal": false,
        "Attachable": false,
        "Ingress": false,
        "Containers": null,
        "Options": {
            "com.docker.network.driver.overlay.vxlanid_list": "4097"
        },
        "Labels": null
    }
]
➜  ~ docker node ls
ID                            HOSTNAME            STATUS              AVAILABILITY        MANAGER STATUS
y53c3ts1ycqknb6cfvu56jg2w *   hub162              Ready               Active              Leader
z9qpkd74pvdkrt7zjutus07p3     zookeeper-g3        Ready               Active              
➜  ~ docker service create \
>   --replicas 3 \
>   --name my-web \
>   --network onet \
> nginx:1.11
image nginx:1.11 could not be accessed on a registry to record
its digest. Each node will access nginx:1.11 independently,
possibly leading to different nodes running different
versions of the image.

l4n94rxn4540h96r9zgotxqhj
Since --detach=false was not specified, tasks will be created in the background.
In a future release, --detach=false will become the default.
➜  ~ docker network inspect onet 
[
    {
        "Name": "onet",
        "Id": "rys5x3bro7uyol04dvwex3k1g",
        "Created": "2017-08-02T12:22:05.548253892+08:00",
        "Scope": "swarm",
        "Driver": "overlay",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": null,
            "Config": [
                {
                    "Subnet": "10.0.0.0/24",
                    "Gateway": "10.0.0.1"
                }
            ]
        },
        "Internal": false,
        "Attachable": false,
        "Ingress": false,
        "Containers": {},
        "Options": {
            "com.docker.network.driver.overlay.vxlanid_list": "4097"
        },
        "Labels": {},
        "Peers": [
            {
                "Name": "hub162-c0c6d4fedbc9",
                "IP": "192.168.10.209"
            },
            {
                "Name": "zookeeper-g3-6aa8c197af12",
                "IP": "192.168.10.212"
            }
        ]
    }
]
➜  ~ docker service ls          
ID                  NAME                MODE                REPLICAS            IMAGE                                      PORTS
l4n94rxn4540        my-web              replicated          3/3                 nginx:1.11   
➜  ~ docker service ps my-web 
ID                  NAME                IMAGE                                      NODE                DESIRED STATE       CURRENT STATE           ERROR               PORTS
npd3duiub491        my-web.1            nginx:1.11   zookeeper-g3        Running             Running 5 minutes ago                       
kl0x0egf8ide        my-web.2            nginx:1.11   hub162              Running             Running 4 minutes ago                       
wvotp9pn4jdl        my-web.3            nginx:1.11   zookeeper-g3        Running             Running 5 minutes ago                       
➜  ~ docker ps
CONTAINER ID        IMAGE                                      COMMAND                  CREATED             STATUS              PORTS               NAMES
09b076da0dab        nginx:1.11   "nginx -g 'daemon ..."   4 minutes ago       Up 4 minutes        80/tcp, 443/tcp     my-web.2.kl0x0egf8ideavrukmuxkkuvs
➜  ~ docker exec -it 09 bash
root@09b076da0dab:/# ping 10.0.0.3
PING 10.0.0.3 (10.0.0.3): 56 data bytes
64 bytes from 10.0.0.3: icmp_seq=0 ttl=64 time=1.370 ms
64 bytes from 10.0.0.3: icmp_seq=1 ttl=64 time=0.722 ms
64 bytes from 10.0.0.3: icmp_seq=2 ttl=64 time=0.874 ms
^C--- 10.0.0.3 ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max/stddev = 0.722/0.989/1.370/0.277 ms
root@09b076da0dab:/# ping 10.0.0.5
PING 10.0.0.5 (10.0.0.5): 56 data bytes
64 bytes from 10.0.0.5: icmp_seq=0 ttl=64 time=0.994 ms
64 bytes from 10.0.0.5: icmp_seq=1 ttl=64 time=0.504 ms
64 bytes from 10.0.0.5: icmp_seq=2 ttl=64 time=0.756 ms
^C--- 10.0.0.5 ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max/stddev = 0.504/0.751/0.994/0.200 ms
root@09b076da0dab:/#
2、worker:
[root@zookeeper-g3 ~]# docker swarm join \
>     --token SWMTKN-1-18kbws8xv6mnfcsvbwo1iwbvdeu139lxbibc8r609t2quwpvtu-e8l9cms7q2rie9uagdvls1eka \
>     192.168.10.209:2377
This node joined a swarm as a worker.
[root@zookeeper-g3 ~]# docker network inspect onet
[
    {
        "Name": "onet",
        "Id": "rys5x3bro7uyol04dvwex3k1g",
        "Created": "2017-08-02T12:22:05.365075116+08:00",
        "Scope": "swarm",
        "Driver": "overlay",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": null,
            "Config": [
                {
                    "Subnet": "10.0.0.0/24",
                    "Gateway": "10.0.0.1"
                }
            ]
        },
        "Internal": false,
        "Attachable": false,
        "Ingress": false,
        "Containers": {
            "a9680a11da29532db9f5b5b2abd85545809ad73112101c1e5378d8bb820f6d01": {
                "Name": "my-web.1.npd3duiub4915d24r4ibhqjva",
                "EndpointID": "a83574e59970320a25765122d1f3f0bc5a86f60198d2c75aa2fccc21ee18b9f4",
                "MacAddress": "02:42:0a:00:00:03",
                "IPv4Address": "10.0.0.3/24",
                "IPv6Address": ""
            },
            "dd66dc76b5c5841f669c8c2c8b96f80266c9e4bd90db29455236b009e7278d32": {
                "Name": "my-web.3.wvotp9pn4jdlx9se84557dsc7",
                "EndpointID": "e450fe8082e20225476d62716ec046b395afdbe429fbeaa181e6607f4e6f7b8c",
                "MacAddress": "02:42:0a:00:00:05",
                "IPv4Address": "10.0.0.5/24",
                "IPv6Address": ""
            }
        },
        "Options": {
            "com.docker.network.driver.overlay.vxlanid_list": "4097"
        },
        "Labels": {},
        "Peers": [
            {
                "Name": "zookeeper-g3-6aa8c197af12",
                "IP": "192.168.10.212"
            },
            {
                "Name": "hub162-c0c6d4fedbc9",
                "IP": "192.168.10.209"
            }
        ]
    }
]
[root@zookeeper-g3 ~]# docker ps
CONTAINER ID        IMAGE                                      COMMAND                  CREATED             STATUS              PORTS               NAMES
dd66dc76b5c5        nginx:1.11   "nginx -g 'daemon ..."   33 seconds ago      Up 27 seconds       80/tcp, 443/tcp     my-web.3.wvotp9pn4jdlx9se84557dsc7
a9680a11da29        nginx:1.11   "nginx -g 'daemon ..."   33 seconds ago      Up 28 seconds       80/tcp, 443/tcp     my-web.1.npd3duiub4915d24r4ibhqjva
[root@zookeeper-g3 ~]# docker exec -it dd bash
root@dd66dc76b5c5:/# ping 10.0.0.4
PING 10.0.0.4 (10.0.0.4): 56 data bytes
64 bytes from 10.0.0.4: icmp_seq=0 ttl=64 time=0.638 ms
64 bytes from 10.0.0.4: icmp_seq=1 ttl=64 time=0.648 ms
^C--- 10.0.0.4 ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max/stddev = 0.638/0.643/0.648/0.000 ms

3、promote:

➜  ~ docker node ls
ID                            HOSTNAME            STATUS              AVAILABILITY        MANAGER STATUS
y53c3ts1ycqknb6cfvu56jg2w *   hub162              Ready               Active              Leader
z9qpkd74pvdkrt7zjutus07p3     zookeeper-g3        Ready               Active              
➜  ~ docker node promote zookeeper-g3
Node zookeeper-g3 promoted to a manager in the swarm.
➜  ~ docker node ls
ID                            HOSTNAME            STATUS              AVAILABILITY        MANAGER STATUS
y53c3ts1ycqknb6cfvu56jg2w *   hub162              Ready               Active              Leader
z9qpkd74pvdkrt7zjutus07p3     zookeeper-g3        Ready               Active              Reachable
➜  ~ 

相关文章

网友评论

      本文标题:swarm

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