
Mikalai
30.03.2019
18:32:14

Alexey
30.03.2019
18:32:34
docker run --network host -d --name traefik -v /var/run/docker.sock:/var/run/docker.sock traefik traefik --api --docker
docker run -d --name demo --label traefik.frontend.rule=Host:mysite.ru emilevauge/whoami
curl -H 'Host: mysite.ru' http://localhost:80

Igor
30.03.2019
18:38:26

Google

Igor
30.03.2019
18:38:56

Alexey
30.03.2019
18:39:46

Igor
30.03.2019
18:40:53

Alexey
30.03.2019
18:41:40
Consul хранит конфигурацию, кто жив и тп. Consul template генерит конфиг после правок конфигурации

ildar
30.03.2019
18:56:18

Игорь
30.03.2019
20:14:49
Блин, короче, чет я офигел немного. Решил переехать на контейнеризацию на своем приложении. Но пока все разбирался с докером, сейчас еще продакшн. Мне просто кажется под мое приложение сварм зайдет. Я не планирую в ближайшее время скейлится на сотню серверов и сотни нод. Пока один сервак, одно сервеное приложение, три клиента под разные задачи...
Просто кубер крутой, спору нет. Но чет прям оверинжинеринг какой-то под мою задачу.

Никитяо
30.03.2019
20:16:02
чем просто докер не нравится?

Игорь
30.03.2019
20:17:34
Может базы данных переедут на отдельный сервак, но года через пол-год. Небольшой задел. И то если вырастут. В основном Монго дб, ибо много оперативы жрет

Alexey
30.03.2019
20:21:30
ansible это красивая обертка над парочкой docker run

inqfen
30.03.2019
20:22:17
Ансибл это логичная и идемподентная обёртка, я бы сказал

Mikalai
30.03.2019
20:22:55

Google

inqfen
30.03.2019
20:23:31
Так и его можно без сварма делать

Alexey
30.03.2019
20:24:10
Скейлинг на одной ноде)
tasks:
- name: run replicas
docker_container
image: ...
name: "app{{item}}"
with_sequence: start=1 end=4

inqfen
30.03.2019
20:24:12
И вообще кроме нод жс зачем скейлить что-то
А нода богомерзка

Игорь
30.03.2019
20:24:36

Alexey
30.03.2019
20:25:14

Игорь
30.03.2019
20:25:18

Alexey
30.03.2019
20:25:23
все, на что нужно zerodowntime
даж на php

Игорь
30.03.2019
20:25:50
golang
python, go для хипстеров))
шучу

Alexey
30.03.2019
20:26:02
дайте мой смузи

Mikalai
30.03.2019
20:26:34

inqfen
30.03.2019
20:26:51

Alexey
30.03.2019
20:27:09

Игорь
30.03.2019
20:27:15

inqfen
30.03.2019
20:27:25
А если она рестартуется вечно, то она и с свормом будет это делать

Alexey
30.03.2019
20:27:28

inqfen
30.03.2019
20:27:43
Про это полно всего

Игорь
30.03.2019
20:27:59
Гугл?
Да гугил, что шлак один

Google

Alexey
30.03.2019
20:28:05
https://habr.com/ru/company/express42/blog/254959/
я с этого вдохновился
дальше файлик закинуть, пакет установить и покатится
смысл ansible - не трогать сервер руками, только playbook
И через год не гадаешь, что за г?вно раскатано на сервере, есть playbook

Игорь
30.03.2019
20:29:26
я с этого вдохновился
По ансибл я уже на ютубе часа 4 накатал туториалов, но там все про голый деплой на чистые сервера.
Без завязки на докер

Alexey
30.03.2019
20:29:43
дальше дока по модулю, там все просто
docker_network ещё и тп

Игорь
30.03.2019
20:30:11

Alexey
30.03.2019
20:30:41
- name: Start 4 load-balanced containers
docker_container:
name: "container{{ item }}"
recreate: yes
image: someuser/anotherappimage
command: sleep 1d
with_sequence: count=4
тот пример с replicas
сверху нужно service discovery... но можно без него, если traefik использовать
docker run --network host -d --name traefik -v /var/run/docker.sock:/var/run/docker.sock traefik traefik --api --docker
docker run -d --name demo --label traefik.frontend.rule=Host:mysite.ru emilevauge/whoami
curl -H 'Host: mysite.ru' http://localhost:80
я уже приводил пример. Проще не сделаешь ни с чем. letsencrypt бонусом
* на месте whoami ваше приложение или приложения

inqfen
30.03.2019
20:33:32
И тот же traefik обновлять ансиблом

Alexey
30.03.2019
20:33:42
traefik это контейнер

inqfen
30.03.2019
20:33:43
Лейблы при деплое в смысле

Alexey
30.03.2019
20:33:47
ну да

inqfen
30.03.2019
20:33:49
И никаких забот

Google

Alexey
30.03.2019
20:34:09
- name: Start 4 load-balanced containers
docker_container:
name: "container{{ item }}"
recreate: yes
image: someuser/anotherappimage
command: sleep 1d
labels:
- traefik.frontend.rule=Host:mysite.com
with_sequence: count=4

inqfen
30.03.2019
20:34:16
В общем keep it simple, stupid
Это тому господину, который сворм хочет пилить
Потом не придётся удивляться, хули он кривой, хули сеть глючит, хули с ингресса не на все контейнеры уходит
В общем как-то так
И IaC опять же

Alexey
30.03.2019
20:37:08
если нужно раскатать контейнеры на пару серверов - то добавить consul. traefik будет брать адреса контейнеров оттуда и все продолжит работать.
https://docs.ansible.com/ansible/latest/modules/consul_module.html
При использовании этих модулей будет ругаться, что нет пакетов. Это нужно pip поставить и pip пакет consul/docker
Ставить через ansible
- name: Install pip
apt:
name: python-pip
- name: Install pip docker
pip:
name: docker

inqfen
30.03.2019
20:42:43
Кстати питон сразу 3 юзай

Alexey
30.03.2019
20:43:19
[all:vars]
ansible_python_interpreter=/usr/bin/python3
в hosts к примеру
Чат нужно в @ru_ansible переименовать xD

Игорь
30.03.2019
20:44:45

Anton
30.03.2019
20:45:24
а что сейчас на проде модно?

Игорь
30.03.2019
20:45:42

Voskresus
30.03.2019
20:45:50
Йоу, надо подключиться к контейнеру (образу) кеторый уже запущен

Игорь
30.03.2019
20:46:01
Кубер, ансибл, консул, номад....

Sergey
30.03.2019
20:46:11

Google

inqfen
30.03.2019
20:46:43
Ну докер композ там и не был актуален никогда
Это же скриптик на питоне, которым удобнее ран, билд и прочее выполнять

Voskresus
30.03.2019
20:47:52

inqfen
30.03.2019
20:47:53
Это так, для локальной разработки только
Или bash
Или какой там шелл есть

Alexey
30.03.2019
20:48:35
ansible так то тоже удобный скриптик для docker run =)

Voskresus
30.03.2019
20:48:59

inqfen
30.03.2019
20:49:01

Игорь
30.03.2019
20:49:02

Alexey
30.03.2019
20:49:20

inqfen
30.03.2019
20:49:49
Я хотел своим девелоперам предложить, как-то не взлетело
Неохота им разбираться ансибл какой-то, хуянсибл
Вот в докер композ посмотрел и все понятно сразу
Там сам что надо дописал, поменял, проверил, скинул мне

Игорь
30.03.2019
20:51:04

inqfen
30.03.2019
20:51:18
Я уже деплой на все окружения меняю, который на ансибле