При использовании ufw (Несложный FireWall) и я заметил, что локальные машины амулета застряли в незаконченном состоянии.
$ juju status
environment: local
machines:
"0":
agent-state: started
agent-version: 1.20.14.1
dns-name: localhost
instance-id: localhost
series: trusty
state-server-member-status: has-vote
"1":
agent-state: pending
instance-id: mbruzek-local-machine-1
series: precise
hardware: arch=amd64
services:
ubuntu:
charm: cs:precise/ubuntu-4
exposed: false
units:
ubuntu/0:
agent-state: pending
machine: "1"
Амулет документация LXC предупреждает:
При выполнении брандмауэра, такого как ufw он может вмешаться в корректную операцию Амулета с помощью контейнеров LXC и, возможно, должен был бы быть остановлен.
После отключения ufw я смог развернуть очарование человечности без проблемы.
Я хочу смочь продолжить использовать мой брандмауэр и использовать Амулет. Как я использую Амулет, локальный с брандмауэром?
После некоторого экспериментирования я смог найти, что минимальные требуемые порты решают agent-state: pending
проблема.
Амулет использует порт 22 (ssh), сервер состояния амулета использует порт 17070, jujud порт использования 8040. Мне говорят, что это не может работать с Амулетом, настроенным в режиме HA, потому что это использует различные порты.
Разрешение этих портов в ufw:
$ sudo ufw status
Status: active
To Action From
-- ------ ----
22/tcp ALLOW Anywhere
17070 ALLOW Anywhere
8040 ALLOW Anywhere
22/tcp (v6) ALLOW Anywhere (v6)
17070 (v6) ALLOW Anywhere (v6)
8040 (v6) ALLOW Anywhere (v6)
я смог развернуться с этой ufw конфигурацией. Если кто-либо знает о других портах, которым нужно включить, отправьте их здесь.
С Амулета 2,0 beta3 мне было нужно:
To Action From
-- ------ ----
17070/tcp ALLOW Anywhere
22/tcp ALLOW Anywhere
8443/tcp ALLOW Anywhere
443/tcp ALLOW Anywhere
80/tcp ALLOW Anywhere
17070/tcp (v6) ALLOW Anywhere (v6)
22/tcp (v6) ALLOW Anywhere (v6)
8443/tcp (v6) ALLOW Anywhere (v6)
443/tcp (v6) ALLOW Anywhere (v6)
80/tcp (v6) ALLOW Anywhere (v6)
я, вероятно, не нуждался 80 или 443, но включил их во всяком случае. Таким образом, я оставил их внутри. Это появляется 8040, теперь 8443 и что Вам только нужен он для разрешения tcp.