【docker】SWARM方式创建容器网络

1.创建容器 


[root@es1 web]# docker service create -name mynginx5 -p 8014:80 192.168.1.11:443/myharbor/nginx:latest
p8dltoenq5rci298xeksoz5g0
overall progress: 3 out of 3 tasks 
1/3: running   
2/3: running   
3/3: running   
verify: Service converged 

2.查看服务的详细信息

[root@es1 web]# docker service inspect mynginx5
[
    {
        "ID": "p8dltoenq5rci298xeksoz5g0",
        "Version": {
            "Index": 411
        },
        "CreatedAt": "2024-07-04T12:27:09.413872732Z",
        "UpdatedAt": "2024-07-04T12:27:09.41491595Z",
        "Spec": {
            "Name": "mynginx5",
            "Labels": {},
            "TaskTemplate": {
                "ContainerSpec": {
                    "Image": "192.168.1.11:443/myharbor/nginx:latest@sha256:ee89b00528ff4f02f2405e4ee221743ebc3f8e8dd0bfd5c4c20a2fa2aaa7ede3",
                    "Init": false,
                    "StopGracePeriod": 10000000000,
                    "DNSConfig": {},
                    "Isolation": "default"
                },
                "Resources": {
                    "Limits": {},
                    "Reservations": {}
                },
                "RestartPolicy": {
                    "Condition": "any",
                    "Delay": 5000000000,
                    "MaxAttempts": 0
                },
                "Placement": {
                    "Platforms": [
                        {
                            "Architecture": "amd64",
                            "OS": "linux"
                        }
                    ]
                },
                "ForceUpdate": 0,
                "Runtime": "container"
            },
            "Mode": {
                "Replicated": {
                    "Replicas": 3
                }
            },
            "UpdateConfig": {
                "Parallelism": 1,
                "FailureAction": "pause",
                "Monitor": 5000000000,
                "MaxFailureRatio": 0,
                "Order": "stop-first"
            },
            "RollbackConfig": {
                "Parallelism": 1,
                "FailureAction": "pause",
                "Monitor": 5000000000,
                "MaxFailureRatio": 0,
                "Order": "stop-first"
            },
            "EndpointSpec": {
                "Mode": "vip",
                "Ports": [
                    {
                        "Protocol": "tcp",
                        "TargetPort": 80,
                        "PublishedPort": 8014,
                        "PublishMode": "ingress"
                    }
                ]
            }
        },
        "Endpoint": {
            "Spec": {
                "Mode": "vip",
                "Ports": [
                    {
                        "Protocol": "tcp",
                        "TargetPort": 80,
                        "PublishedPort": 8014,
                        "PublishMode": "ingress"
                    }
                ]
            },
            "Ports": [
                {
                    "Protocol": "tcp",
                    "TargetPort": 80,
                    "PublishedPort": 8014,
                    "PublishMode": "ingress"
                }
            ],
            "VirtualIPs": [
                {
                    "NetworkID": "ok60ir4yv3bsmbl8rvfn17qfy",
                    "Addr": "10.0.0.54/24"
                }
            ]
        }
    }
]

ingress 发布模式:虚拟IP地址:10.0.0.54/24

3.ingress 网络内容查看

[root@es1 web]# docker network ls
NETWORK ID     NAME              DRIVER    SCOPE
fb0ede90b96a   bridge            bridge    local
fd0bed6aedb8   bridge-network    bridge    local
497b4d8e31c9   data_default      bridge    local
9ced036027af   docker_gwbridge   bridge    local
e4fab055f716   host              host      local
ok60ir4yv3bs   ingress           overlay   swarm  --创建了这个网络。
e4570a3521b6   my-network        bridge    local
6c755811646c   none              null      local

docker network inspect ok60ir4yv3bs

[root@es1 web]# docker network inspect ok60ir4yv3bs
[
    {
        "Name": "ingress",
        "Id": "ok60ir4yv3bsmbl8rvfn17qfy",
        "Created": "2024-07-04T17:18:10.08726197+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": true,
        "ConfigFrom": {
            "Network": ""
        },
        "ConfigOnly": false,
        "Containers": {
            "333a3db166717c127780f1775e839ee51c4dee52ec6d72c4609b2e39ad3684bc": {
                "Name": "mynginx5.2.ksg8hbk8dhme9tgo8xcroztmu",
                "EndpointID": "c3196dcecc4c73d26856216a2b029c8817a36452ed0b3b83ee235ead1636c52e",
                "MacAddress": "02:42:0a:00:00:38",
                "IPv4Address": "10.0.0.56/24",
                "IPv6Address": ""
            },
            "ingress-sbox": {
                "Name": "ingress-endpoint",
                "EndpointID": "82a5bd172167761d151fad95e520bbe664caa51c52d2f2d0de6129fa5c4ad966",
                "MacAddress": "02:42:0a:00:00:02",
                "IPv4Address": "10.0.0.2/24",
                "IPv6Address": ""
            }
        },
        "Options": {
            "com.docker.network.driver.overlay.vxlanid_list": "4096"
        },
        "Labels": {},
        "Peers": [
            {
                "Name": "1e2fbbf4e31e",
                "IP": "192.168.1.10"
            },
            {
                "Name": "fcc6ca6eb4cf",
                "IP": "192.168.1.7"
            },
            {
                "Name": "411f2cd415be",
                "IP": "192.168.1.9"
            }
        ]
    }
]

--查看服务分布
[root@es1 web]# docker service ps mynginx5
ID             NAME         IMAGE                                    NODE      DESIRED STATE   CURRENT STATE           ERROR     PORTS
0ro0blayn38a   mynginx5.1   192.168.1.11:443/myharbor/nginx:latest   es2       Running         Running 6 minutes ago             
ksg8hbk8dhme   mynginx5.2   192.168.1.11:443/myharbor/nginx:latest   es1       Running         Running 6 minutes ago             
jjdt1nm3b9ne   mynginx5.3   192.168.1.11:443/myharbor/nginx:latest   es3       Running         Running 6 minutes ago  

4.ovarlay 网络和 ingress 网络对比

Overlay的缺陷:
Overlay网络与传统网络相比而言,性能可能是它的问题所在。
在对网络性能要求非常高的场景下,也需要酌情是否采用Overlay网络。

ingress:
ingress是swarm集群中每个node都默认存在的一种网络类型,
它的作用是可以确保在集群中某个端口
的服务始终保留该端口,不管实际运行容器的是哪个节点。
例如当前:mynginx5 服务,无论访问哪个节点,端口都是:8014;
的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值