Как получить доступ к конечной точке службы в Docker Swarm, развернутой с использованием развертывания стека докеров - PullRequest
0 голосов
/ 27 октября 2018

Я создал базовое веб-приложение .Net Core MVC и создал для него CICD-конвейер.Я изо всех сил пытался заставить его работать с развертыванием стека докеров, потому что я не могу посетить / получить доступ к конечной точке службы.

Я использую это руководство для создания роя Docker: Docker SwarmРежим Windows

Среда: только Windows (без использования образов Linux) Docker Swarm: 1 менеджер (Docker1), 1 рабочий узел (dswarmvm2) - оба Windows Server 2016

Dockerfile, используемый в Build Pipeline для создания образа Docker и передачи его в частное хранилище. (Первоначально я использовал этот файл для Kubernetes, но, поскольку Kubernetes использовал Linux в качестве главного кластера, мы не можем использовать его, поскольку используем только Windows)

Docker-compose Image здесь

В Release Pipeline, используя Inline Powershell, я могу запускать команды docker, как вы можете видеть на изображении здесь.

Содержимое файла стека докера (изображение здесь)

Результат при запуске Release Pipeline (изображение здесь)

Docker Service Inspect

PS C: \ Users \ accountname> служба Docker проверяет sampleSwarmStack_k8s-aspnetcore [{"ID": "xlctwl1qv5akdvs5dhbjy7bfx", "Version": {"Index": 623}, "CreatedAt": "2018-10-27T12: 20: 25.672682Z "," updatedAt ":" 2018-10-27T12: 20: 25.6915483Z "," Spec ": {" Name ":" sampleSwarmStack_k8s-aspnetcore "," Labels ": {" com.docker.stack.image ":" privaterepo.azurecr.io/k8saspnetcore:latest "," com.docker.stack.namespace ":" sampleSwarmStack "}," TaskTemplate ": {" ContainerSpec ": {" Image ":" privaterepo.azurecr.io / k8saspnetcore: последнее @ sha256: 5457138ee8353dd3af18fe19b5085b62791274455fbe9b4bbe0a5344335 «Метки»: {«com.docker.stack.namespace»: «sampleSwarmStack»}, «Стоп», «Nukell»: «Privilegesll»: «Privilegesll»: «:: 10000000000, "DNSConfig": {}}, "Resources": {}, "RestartPolicy": {"Condition": "on-fail", "Delay": 5000000000, "MaxAttempts": 0}, "Placement":{"Платформы": [{"Архитектура": "amd64", "ОС": "windows"}]}, "Сети": [{"Target": "qvuj5fsqy8d6a0pwawmcxe89i "," Aliases ": [" k8s-aspnetcore "]}]," ForceUpdate ": 0," Runtime ":" container "}," Mode ": {" Replicated ": {" Replicas ": 2}},«UpdateConfig»: {«Параллелизм»: 2, «Задержка»: 10000000000, «FailureAction»: «pause», «Monitor»: 5000000000, «MaxFailureRatio»: 0, «Order»: «stop-first»}, «RollbackConfig»": {" Parallelism ": 1," FailureAction ":" pause "," Monitor ": 5000000000," MaxFailureRatio ": 0," Order ":" stop-first "}," EndpointSpec ": {" Mode ":"VIP "," Порты ": [{"Protocol": "tcp", "TargetPort": 80, "Опубликованный порт": 45678, "PublishMode": "ingress"}]}}, "Конечная точка": {"Spec": {"Mode": "vip", "Порты": [{"Протокол": "tcp", "TargetPort": 80, "Опубликованный порт": 45678, "PublishMode": "ingress"}]}, "Порты": [{"Протокол": "tcp"," TargetPort ": 80," Опубликованный порт ": 45678," PublishMode ":" ingress "}]," VirtualIPs ": [{" NetworkID ":" 5vnf47q8b8fkslruqy2i6226o "," Addr ":" 10.255.0.6/16 "}, {"NetworkID": "qvuj5fsqy8d6a0pwawmcxe89i", "Addr": "10.0.1.2/24"}]}}]

Созданная сеть (изображение здесь)

Проверка сети Docker

PS C: \ Users \ accountname> Проверка сети Docker sampleSwarmStack_sampleSwarmNetwork [{"Имя": "sampleSwarmStack_sampleSwarmNetwork", "Id": "qvuj5fsewy8", "Created": "2018-10-27T12: 20: 25.9822386Z", "Scope": "swarm", "Driver": "overlay", "EnableIPv6": false, "IPAM": {"Driver": "default "," Options ": null," Config ": [{" Subnet ":" 10.0.1.0/24 "," Gateway ":" 10.0.1.1 "}]}," Internal ": false," Attachable ": false," Ingress ": false," ConfigFrom ": {" Network ":" "}," ConfigOnly ": false,"Контейнеры ": { "c607895ddd8c8c497d954f9d7b496910b6db636c8827f5607cfb6c8123707b62": { "Имя": "sampleSwarmStack_k8s-aspnetcore.2.9wi7riuu2c5d2jhhyrs2jyy99", "EndpointID": "b5359d73d2030fcdff6a21cedf90ed8d3b97f2558dcc1d22650f035537b47c67", "MacAddress": "00: 15: 5d: 55: 1d: 5е"," IPv4-адрес":" 10.0.1.4/24 "," IPv6Address ":" "}}," Опции ": {" com.docker.network.driver.overlay.vxlanid_list ":" 4098 "," com.docker.network.windowsshim.hnsid ":" be5e2825-39b3-4388-b3ce-3e2cac1c54f2 "}," Labels ": {" com.docker.stack.namespace ":" sampleSwarmStack "}," Peers ": [{" Name ":" Docker1-8f9ddc4cd238 "," IP ":" 10.0.1.6 "}, {" Name ":" dswarmvm2-3de39daa18fa "," IP ":" 10.0.1.5 "}]}]

Мой вопросКак я могу получить доступ к веб-приложению.Когда я пытался зайти на него, используя этот формат http://{host ip}: {порт}, страница не отображалась. Изображение здесь

Ожидаемый результат должен быть следующим: Изображение здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...