Как я могу присоединить один AWS EC2 в качестве рабочего узла к моему роутеру, работающему на моем локальном ПК?

Я инициализировал рой докеров на своем локальном ПК (Ubuntu 18.04.1 LTS, Docker 18.09.0) с объявленным IP-адресом и попытался присоединиться к своему запущенному AWS EC2 (Ubuntu 18.04.1 LTS, Docker 18.09.0, входящий и исходящий правила: все порты 0.0.0.0/0, VPC по умолчанию) в качестве рабочего узла. К сожалению, мой EC2 не присоединяется, но возвращает ошибку:

Error response from daemon: Timeout was reached before node joined. The attempt to join the swarm will continue in the background. Use the "docker info" command to see the current swarm status of your node.

Подробнее о настройке ПК /EC2, командах и журналах ошибок см. Ниже.

Однако по странной причине обратный подход работает, то есть инициализирует рой док-станции на EC2, объявляющей его общедоступный IP-адрес, а затем присоединяет мой локальный ПК в качестве рабочего узла к этому рое на EC2/VPC.

Вопросы:

  • Что мне нужно изменить, чтобы присоединить EC2 в качестве рабочего узла к моему локальному рою докеров?
  • Почему это имеет значение, если мой управляющий узел находится внутри или снаружи VPC моего EC2? Входящие и исходящие правила VPC одинаково (опасно) широко открыты.

Мотивация:

Для каждого R&D-проекта я использую образ докера машинного обучения, который выводит любые графические интерфейсы внутри контейнера на моем локальном рабочем столе, например, IDE, такие как PyCharm или визуализации отслеживания и моделирования. Всегда, когда мне нужна большая пропускная способность для передачи данных, мощность графического процессора для обучающих моделей и т. Д. Я хочу развернуть один контейнер проекта на AWS VPC и запустить его на соответствующем EC2 с достаточными ресурсами.

Подробная информация о настройке, сети, командах и журналах:

  • PC-установка:

    drstoop@drstoop-pc:~$ lsb_release -a LSB Version: core-9.20170808ubuntu1-noarch:security-9.20170808ubuntu1-noarch Distributor ID: Ubuntu Description: Ubuntu 18.04.1 LTS Release: 18.04 Codename: bionic

    drstoop@drstoop-pc:~$ docker version Client: Version: 18.09.0 API version: 1.39 Go version: go1.10.4 Git commit: 4d60db4 Built: Wed Nov 7 00:49:01 2018 OS/Arch: linux/amd64 Experimental: false

    Server: Docker Engine - Community Engine: Version: 18.09.0 API version: 1.39 (minimum version 1.12) Go version: go1.10.4 Git commit: 4d60db4 Built: Wed Nov 7 00:16:44 2018 OS/Arch: linux/amd64 Experimental: false

  • Настройка AWS EC2:

    ubuntu@ip-172-31-45-146:~$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 18.04.1 LTS Release: 18.04 Codename: bionic

    ubuntu@ip-172-31-45-146:~$ docker version Client: Version: 18.09.0 API version: 1.39 Go version: go1.10.4 Git commit: 4d60db4 Built: Wed Nov 7 00:49:01 2018 OS/Arch: linux/amd64 Experimental: false

    Server: Docker Engine - Community Engine: Version: 18.09.0 API version: 1.39 (minimum version 1.12) Go version: go1.10.4 Git commit: 4d60db4 Built: Wed Nov 7 00:16:44 2018 OS/Arch: linux/amd64 Experimental: false

  • AWS EC2 & VPC (виртуальное частное облако):

    Instance ID: i-02123012d375d0055 Instance state: running Instance type: t2.micro Elastic IPs: Availability zone: eu-central-1b Security groups: all open. view inbound rules: Security Groups associated with i-02123012d375d0055 Ports Protocol Source all open All All 0.0.0.0/0 ✔ view outbound rules: Security Groups associated with i-02123012d375d0055 Ports Protocol Source all open All All 0.0.0.0/0 ✔ Scheduled events: No scheduled events AMI ID: ami-ubuntu-18.04-1.13.0-00-1543963388 (ami-078f9fe8bdaa81aa8) Public DNS (IPv4): ec2-35-157-84-150.eu-central-1.compute.amazonaws.com IPv4 Public IP: 35.157.84.150 IPv6 IPs: - Private DNS: ip-172-31-45-146.eu-central-1.compute.internal Private IPs: 172.31.45.146 Secondary private IPs: VPC ID: vpc-ccffdfa7 Subnet ID: subnet-ba7234c7

Подробности о командах:

  • Инициализация роя Docker на ПК:

    drstoop@drstoop-pc:~$ docker swarm init --advertise-addr 192.168.0.105:2377 Swarm initialized: current node (byaenzaz2feghkksssxrisbmk) is now a manager.

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

    docker swarm join --token <swarm-token> 192.168.0.105:2377

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

  • Докер присоединяется к рабочему узлу на EC2:

    ubuntu@ip-172-31-45-146:~$ docker swarm join --token <swarm-token> 192.168.0.105:2377 Error response from daemon: Timeout was reached before node joined. The attempt to join the swarm will continue in the background. Use the "docker info" command to see the current swarm status of your node.

  • Вход docker.service в EC2:

    ubuntu@ip-172-31-45-146:~$ sudo journalctl -fu docker.service -- Logs begin at Thu 2018-12-27 07:20:30 UTC. -- Dec 27 08:51:09 ip-172-31-45-146 dockerd[824]: time="2018-12-27T08:51:09.250138186Z" level=info msg="parsed scheme: \"\"" module=grpc Dec 27 08:51:09 ip-172-31-45-146 dockerd[824]: time="2018-12-27T08:51:09.250177314Z" level=info msg="scheme \"\" not registered, fallback to default scheme" module=grpc Dec 27 08:51:09 ip-172-31-45-146 dockerd[824]: time="2018-12-27T08:51:09.250239903Z" level=info msg="ccResolverWrapper: sending new addresses to cc: [{192.168.0.105:2377 0 <nil>}]" module=grpc Dec 27 08:51:09 ip-172-31-45-146 dockerd[824]: time="2018-12-27T08:51:09.250263081Z" level=info msg="ClientConn switching balancer to \"pick_first\"" module=grpc Dec 27 08:51:09 ip-172-31-45-146 dockerd[824]: time="2018-12-27T08:51:09.250298367Z" level=info msg="pickfirstBalancer: HandleSubConnStateChange: 0xc421e13d80, CONNECTING" module=grpc Dec 27 08:51:14 ip-172-31-45-146 dockerd[824]: time="2018-12-27T08:51:14.250465023Z" level=error msg="failed to retrieve remote root CA certificate" error="rpc error: code = DeadlineExceeded desc = context deadline exceeded" module=node Dec 27 08:51:15 ip-172-31-45-146 dockerd[824]: time="2018-12-27T08:51:15.248227424Z" level=warning msg="Failed to dial 192.168.0.105:2377: grpc: the connection is closing; please retry." module=grpc Dec 27 08:51:16 ip-172-31-45-146 dockerd[824]: time="2018-12-27T08:51:16.251355695Z" level=error msg="cluster exited with error: rpc error: code = DeadlineExceeded desc = context deadline exceeded" Dec 27 08:51:22 ip-172-31-45-146 dockerd[824]: time="2018-12-27T08:51:22.250285036Z" level=warning msg="Failed to dial 192.168.0.105:2377: grpc: the connection is closing; please retry." module=grpc Dec 27 08:51:29 ip-172-31-45-146 dockerd[824]: time="2018-12-27T08:51:29.250657151Z" level=warning msg="Failed to dial 192.168.0.105:2377: grpc: the connection is closing; please retry." module=grpc

Если что-то отсутствует или есть открытые вопросы, пожалуйста, дайте мне знать.

Заранее большое спасибо!

0 ответов

Другие вопросы по тегам