Docker Swarm: служба datadog в глобальном режиме не реплицируется на один узел - PullRequest
0 голосов
/ 24 апреля 2019

Я заметил кое-что странное при развертывании службы данных в моем кластере Docker Swarm.

В настоящее время у меня есть 4 узла: 2 рабочих, 2 менеджера (да, я знаю, что это не рекомендуется, но все еще в режиме тестирования).

Мой сервис объявлен глобальным режимом:

version: '3.3'
services:

  dd-agent:
    image: datadog/agent:latest

    environment:
      - "DD_API_KEY=xxx"
      - "DD_LOGS_ENABLED=true"
      - "DD_LOGS_CONFIG_CONTAINER_COLLECT_ALL=true"
      - "DD_AC_EXCLUDE=image:datadog-agent"

    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - /proc/:/host/proc/:ro
      - /sys/fs/cgroup/:/host/sys/fs/cgroup:ro
      - /opt/datadog-agent/run:/opt/datadog-agent/run:rw

    deploy:
      mode: global
      restart_policy:
        condition: on-failure

Однако на самом деле в моем кластере я вижу только 3 развернутых экземпляра, у одного менеджера нет экземпляра.

При запросеDocker для списка сервисов, он говорит мне, что нужно развернуть только 3 реплики:

ubuntu@docker-swarm-manager-1:~$ sudo docker service ls
ID                  NAME                       MODE                REPLICAS            IMAGE                                        PORTS
paiqnrqiwpbq        dd-agent_dd-agent          global              3/3                 datadog/agent:latest                         
v6w4mrn6vavt        xxx_yyy                    replicated          2/2                 xxx/yyy:test-0.2   
cib3gj4omojk        traefik_traefik            global              2/2                 traefik:1.7                                  *:80->80/tcp, *:443->443/tcp, *:8080->8080/tcp
xhrl8oaftf1c        visualizer_visualizer      replicated          1/1                 dockersamples/visualizer:latest 

Команда проверки выглядит нормально:

ubuntu@docker-swarm-manager-1:~$ sudo docker service inspect dd-agent_dd-agent
[
    {
        "ID": "paiqnrqiwpbqmg4kooxtzpaer",
        "Version": {
            "Index": 49139
        },
        "CreatedAt": "2019-04-23T15:49:31.947283769Z",
        "UpdatedAt": "2019-04-24T10:01:42.078629559Z",
        "Spec": {
            "Name": "dd-agent_dd-agent",
            "Labels": {
                "com.docker.stack.image": "datadog/agent:latest",
                "com.docker.stack.namespace": "dd-agent"
            },
            "TaskTemplate": {
                "ContainerSpec": {
                    "Image": "datadog/agent:latest@sha256:5fbe2c87d4c4c2d9fc2d4bf45e39b0572f7f3f8ff906e3a77515a3308ab0c2cf",
                    "Labels": {
                        "com.docker.stack.namespace": "dd-agent"
                    },
                    "Env": [
                        "DD_AC_EXCLUDE=image:datadog-agent",
                        "DD_API_KEY=xxx",
                        "DD_LOGS_CONFIG_CONTAINER_COLLECT_ALL=true",
                        "DD_LOGS_ENABLED=true"
                    ],
                    "Privileges": {
                        "CredentialSpec": null,
                        "SELinuxContext": null
                    },
                    "Mounts": [
                        {
                            "Type": "bind",
                            "Source": "/var/run/docker.sock",
                            "Target": "/var/run/docker.sock",
                            "ReadOnly": true
                        },
                        {
                            "Type": "bind",
                            "Source": "/proc/",
                            "Target": "/host/proc/",
                            "ReadOnly": true
                        },
                        {
                            "Type": "bind",
                            "Source": "/sys/fs/cgroup/",
                            "Target": "/host/sys/fs/cgroup",
                            "ReadOnly": true
                        },
                        {
                            "Type": "bind",
                            "Source": "/opt/datadog-agent/run",
                            "Target": "/opt/datadog-agent/run"
                        }
                    ],
                    "StopGracePeriod": 10000000000,
                    "DNSConfig": {},
                    "Isolation": "default"
                },
                "Resources": {},
                "RestartPolicy": {
                    "Condition": "on-failure",
                    "Delay": 5000000000,
                    "MaxAttempts": 0
                },
                "Placement": {
                    "Platforms": [
                        {
                            "Architecture": "amd64",
                            "OS": "linux"
                        }
                    ]
                },
                "Networks": [
                    {
                        "Target": "5u989vnt4kukrzmwpaub5jn0t",
                        "Aliases": [
                            "dd-agent"
                        ]
                    }
                ],
                "ForceUpdate": 0,
                "Runtime": "container"
            },
            "Mode": {
                "Global": {}
            },
            "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"
            }
        },
        "PreviousSpec": {
            "Name": "dd-agent_dd-agent",
            "Labels": {
                "com.docker.stack.image": "datadog/agent:latest",
                "com.docker.stack.namespace": "dd-agent"
            },
            "TaskTemplate": {
                "ContainerSpec": {
                    "Image": "datadog/agent:latest@sha256:5fbe2c87d4c4c2d9fc2d4bf45e39b0572f7f3f8ff906e3a77515a3308ab0c2cf",
                    "Labels": {
                        "com.docker.stack.namespace": "dd-agent"
                    },
                    "Env": [
                        "DD_AC_EXCLUDE=image:datadog-agent",
                        "DD_API_KEY=xxx",
                        "DD_LOGS_CONFIG_CONTAINER_COLLECT_ALL=true",
                        "DD_LOGS_ENABLED=true"
                    ],
                    "Privileges": {
                        "CredentialSpec": null,
                        "SELinuxContext": null
                    },
                    "Mounts": [
                        {
                            "Type": "bind",
                            "Source": "/var/run/docker.sock",
                            "Target": "/var/run/docker.sock",
                            "ReadOnly": true
                        },
                        {
                            "Type": "bind",
                            "Source": "/proc/",
                            "Target": "/host/proc/",
                            "ReadOnly": true
                        },
                        {
                            "Type": "bind",
                            "Source": "/sys/fs/cgroup/",
                            "Target": "/host/sys/fs/cgroup",
                            "ReadOnly": true
                        },
                        {
                            "Type": "bind",
                            "Source": "/opt/datadog-agent/run",
                            "Target": "/opt/datadog-agent/run"
                        }
                    ],
                    "Isolation": "default"
                },
                "Resources": {},
                "RestartPolicy": {
                    "Condition": "on-failure",
                    "MaxAttempts": 0
                },
                "Placement": {
                    "Platforms": [
                        {
                            "Architecture": "amd64",
                            "OS": "linux"
                        }
                    ]
                },
                "Networks": [
                    {
                        "Target": "5u989vnt4kukrzmwpaub5jn0t",
                        "Aliases": [
                            "dd-agent"
                        ]
                    }
                ],
                "ForceUpdate": 0,
                "Runtime": "container"
            },
            "Mode": {
                "Global": {}
            },
            "EndpointSpec": {
                "Mode": "vip"
            }
        },
        "Endpoint": {
            "Spec": {
                "Mode": "vip"
            },
            "VirtualIPs": [
                {
                    "NetworkID": "5u989vnt4kukrzmwpaub5jn0t",
                    "Addr": "10.0.0.2/24"
                }
            ]
        }
    }
]

Я попытался повторно развернуть (обновить) службу,без необходимости удалять и воссоздавать, но Рой сохраняет то же самое.

Кажется, это проблема, я ничего не нашел в репозитории Github.Есть ли способ понять, почему этот узел не учитывается в глобальном режиме?(только для этой службы данных служба traefik работает в глобальном режиме и работает нормально)

...