Закину про ansible для разнообразия. Много вопросов эта штуковина создает. Но не так много, как говнявый puppet.
Самый распространенный вопрос, на который меня заебло отвечать (гуглить же и читать по английски никто не умеет) — А как с помощью ansible, я могу достучаться до серверов, которые не имеют статического IP адреса?
Кто не понял, объясняю на пальцах. Предположим у тебя есть трех комнатная квартира и один вход. Но коридора нет. То есть попасть в комнаты ты не можешь. Соответственно нужно каким-то хером срукожопить коридор.
Inventory файл выглядит таким образом:
То есть суть задачи, нам нужно войти через 888.888.888.888 и попасть на сервера с IPшниками 192.168.0.3 и 192.168.0.4. Хуйня война.
Добавляешь в Inventory файл это самое:
Закидываешь паблик ключи с jessy-h1 на alba-ap1 и roksy-ap2 ну и запускаешь всю эту тему. Тем самым ты создаешь коридор и спокойно перемещаешся по своей трех комнатной квартире.
Есть масса вариантов проделать то же самое, но это пока самый заебачий вариант. Ну либо на каждый сервер, присваивай статику, что вовсе глупо и избыточно.
А следующий вопрос обычно звучит так — блядь, а как мне тогда файлы на сервер перекинуть без статического IP. Да также епта:
Вот и закончили хуйней заниматься. Забирайте себе в избранное и больше ко мне не приходите с этой поеботой.
Самый распространенный вопрос, на который меня заебло отвечать (гуглить же и читать по английски никто не умеет) — А как с помощью ansible, я могу достучаться до серверов, которые не имеют статического IP адреса?
Кто не понял, объясняю на пальцах. Предположим у тебя есть трех комнатная квартира и один вход. Но коридора нет. То есть попасть в комнаты ты не можешь. Соответственно нужно каким-то хером срукожопить коридор.
Inventory файл выглядит таким образом:
[balancer]
jessy-h1 ansible_host=888.888.888.888 local_ip=192.168.0.2
[backend]
alba-ap1 ansible_host=192.168.0.3
roksy-ap2 ansible_host=192.168.0.4
То есть суть задачи, нам нужно войти через 888.888.888.888 и попасть на сервера с IPшниками 192.168.0.3 и 192.168.0.4. Хуйня война.
Добавляешь в Inventory файл это самое:
[backend:vars]
bastion_host = {{ hostvars[groups['balancer'][0]].ansible_host }}
ansible_ssh_common_args='-o ProxyCommand="ssh -W %h:%p -q root@{{ bastion_host }}"'
Закидываешь паблик ключи с jessy-h1 на alba-ap1 и roksy-ap2 ну и запускаешь всю эту тему. Тем самым ты создаешь коридор и спокойно перемещаешся по своей трех комнатной квартире.
Есть масса вариантов проделать то же самое, но это пока самый заебачий вариант. Ну либо на каждый сервер, присваивай статику, что вовсе глупо и избыточно.
А следующий вопрос обычно звучит так — блядь, а как мне тогда файлы на сервер перекинуть без статического IP. Да также епта:
rsync -v -e "ssh -A -t user@jessy-h1 ssh -A -t user@alba-ap1" /tmp/file.txt :/tmp/file.txt
Вот и закончили хуйней заниматься. Забирайте себе в избранное и больше ко мне не приходите с этой поеботой.