Size: a a a

Kubernetes — русскоговорящее сообщество

2016 August 28

NK

ID:57684913 in Kubernetes — русскоговорящее сообщество
например, неделю назад мой провайдер (гугль) полностью развалил сегмент в котором были инстансы в которых обслуживался продакшн
то есть до этого я думал что моя система более-менее устойчива к форс-мажорам
теперь понимаю что надо настраивать балансировку контейнеров между разными датацентрами и прописывать affinity соотвествующее
поэтому стал к kubernetes присматривться как к решению данной проблемы без найма отдельной команды инженеров
источник

NK

ID:57684913 in Kubernetes — русскоговорящее сообщество
но так как я это только начал делать - хз правильно иду или нет, и хотелось бы услышать мнение чуваков у которых в продакшне давно это запущено, на начальный вопрос :)
источник

AO

Alexander Ovchinnikov 🦁 in Kubernetes — русскоговорящее сообщество
ну, я вижу это всё как: есть домен проекта, он прикручен к Route53, к которому прикручены 2 балансировщика и там на Route53 сделаны хелфчеки этих балансировщиков... а на каждом балансировщике - уже пути до всех серверов во всех дц
источник

AO

Alexander Ovchinnikov 🦁 in Kubernetes — русскоговорящее сообщество
в итоге нам просто надо на всех серверах запустить контейнеры со статикой/кодом/базой , если сервер не отвечает или код ответа неверный - он автоматически перебрасывает запрос на другой сервер согласно весам
источник

AO

Alexander Ovchinnikov 🦁 in Kubernetes — русскоговорящее сообщество
в итоге вроде как продвинутая оркестрация и не нужна
источник

AO

Alexander Ovchinnikov 🦁 in Kubernetes — русскоговорящее сообщество
ну, может, я в чём-то ошибаюсь, Kubernetes мне в целом интересен, но больше "для галочки", я пока не понимаю, какую проблему он тут решает и в чём его фишка
источник

AO

Alexander Ovchinnikov 🦁 in Kubernetes — русскоговорящее сообщество
вот в примере выше и без него всё вроде нормально
источник

DI

Denis Izmaylov in Kubernetes — русскоговорящее сообщество
Kubernetes прекрасен по концепции, особенно, если мы возьмем большое микросервисное приложение. Без K8s или чего-то подобного никак. Это уровень абстракции, который позволяет связывать контейнеры, а также делать легкое горизонтальное масштабирование любого из звена.)
источник

DI

Denis Izmaylov in Kubernetes — русскоговорящее сообщество
Плюс разные другие плюшки
источник

AO

Alexander Ovchinnikov 🦁 in Kubernetes — русскоговорящее сообщество
то есть если проблем со связыванием и масштабированием нет (все сервисы запускаются на всех серверах), то k8s не нужен?
источник

AO

Alexander Ovchinnikov 🦁 in Kubernetes — русскоговорящее сообщество
(а связываются через порты, условно, есть список в ворде, где каждому контейнеру прописаны порты и они одинаковые на всех серверах, зарезервированы только под эти контейнеры)
источник

AO

Alexander Ovchinnikov 🦁 in Kubernetes — русскоговорящее сообщество
то есть если на сервере А сервисом XYZ занят порт 1234, то и на всех других серверах никто этот порт не займёт
источник

DI

Denis Izmaylov in Kubernetes — русскоговорящее сообщество
Maxim Filatov
а можешь лейбл на ноду повесить
Не работает почему-то, на какое-то время появляется kube-dns-v19, весит секунд 30-40 в ожидании чуда и показывая 2/3, потом пропадает. При этом kubectl get ev возвращает ничего по сути:

kube-system   2m         2m          1         kube-dns-v19-y82n0                      Pod                                                                Normal    Scheduled                 {default-scheduler }        Successfully assigned kube-dns-v19-y82n0 to 10.91.119.197


kube-system   2m         2m          1         kube-dns-v19-y82n0                      Pod                     spec.containers{kubedns}                   Normal    Started                   {kubelet 10.91.119.197}     Started container with docker id 73a3ad486923

kube-system   2m         2m          1         kube-dns-v19-y82n0                      Pod                     spec.containers{dnsmasq}                   Normal    Started                   {kubelet 10.91.119.197}     Started container with docker id 02ac5f624dbe

kube-system   2m         2m          1         kube-dns-v19-y82n0                      Pod                     spec.containers{healthz}                   Normal    Started                   {kubelet 10.91.119.197}     Started container with docker id 7f38358d77f2

kube-system   2m         2m          1         kube-dns-v19-y82n0                      Pod                     spec.containers{dnsmasq}                   Normal    Killing                   {kubelet 10.91.119.197}     Killing container with docker id 02ac5f624dbe: Need to kill pod.

kube-system   2m         2m          1         kube-dns-v19-y82n0                      Pod                     spec.containers{healthz}                   Normal    Killing                   {kubelet 10.91.119.197}     Killing container with docker id 7f38358d77f2: Need to kill pod.

kube-system   2m         2m          1         kube-dns-v19-y82n0                      Pod                     spec.containers{kubedns}                   Normal    Killing
источник

DI

Denis Izmaylov in Kubernetes — русскоговорящее сообщество
Alexander Ovchinnikov 🦁
то есть если проблем со связыванием и масштабированием нет (все сервисы запускаются на всех серверах), то k8s не нужен?
А что ты будешь делать, когда упрешься в ресурсы?)
источник

AO

Alexander Ovchinnikov 🦁 in Kubernetes — русскоговорящее сообщество
заменю материнские платы на двухсокетные с процессорами 2699v4
источник

AO

Alexander Ovchinnikov 🦁 in Kubernetes — русскоговорящее сообщество
ну или ещё серверов докупить - и в балансировщике добавить записей
источник

AO

Alexander Ovchinnikov 🦁 in Kubernetes — русскоговорящее сообщество
то есть на каждый сервер будет идти меньше трафика
источник

DI

Denis Izmaylov in Kubernetes — русскоговорящее сообщество
Alexander Ovchinnikov 🦁
(а связываются через порты, условно, есть список в ворде, где каждому контейнеру прописаны порты и они одинаковые на всех серверах, зарезервированы только под эти контейнеры)
У нас есть сервис, который очень тяжелый, по сути - один сервис = один сервер. Таких серверов 100+ и между ними балансируется трафик в зависимости от текущей нагрузки. Но это очень специфичный сервис. :)
источник

AO

Alexander Ovchinnikov 🦁 in Kubernetes — русскоговорящее сообщество
но на каждом будут запущены все контейнеры
источник

AO

Alexander Ovchinnikov 🦁 in Kubernetes — русскоговорящее сообщество
ну, просто, что значит запустить контейнер - это выделить ему оперативку
источник