Maksim
Anton
https://kubernetes.io/docs/tasks/administer-cluster/out-of-resource/#node-oom-behavior
Anton
там же minimum reclaim можно настроить для eviction manager
Anton
в общем очень хороший механизм, с одной стороны
Anton
еще кстати много тут про capacity \ reserved\ allocatable
https://github.com/kubernetes/community/blob/master/contributors/design-proposals/node/node-allocatable.md
Роман
У меня несколько ip на сервере. Могу я заставить под слушать 0.0.0.0 (hostNetwork: true)?
Anton
не получается?
Anton
c hostnetwork уже только приложение решает что ему слушать
Роман
не получается?
Там получается:
hostIP: внешний_ip_адрес
Как он выбирает hostIP?
Anton
где там?
Роман
get po -o yaml
Роман
Или это не имеет значения?
Anton
я думаю это адрес с интерфейса с дефолт гейтвеем и к ноде только отношение имеет
Anton
тоже вижу ip у nginx-ingress, который с hostnetwork задеплоен, но на самой ноде порты на всех открыты
Anton
может просто для удобства, чтобы сразу знать куда обратится
Роман
Надо попробовать.
Anton
hostIP:
podIP:
в выхлопе похоже всегда есть
Anton
https://kubernetes.io/docs/api-reference/v1.8/#podstatus-v1-core
Anton
hostIP
string IP address of the host to which the pod is assigned. Empty if not yet scheduled.
Anton
podIP
string IP address allocated to the pod. Routable at least within the cluster. Empty if not yet allocated.
ну ты понял думаю
Anton
и я тоже заодно )
alexander
Подскажите, пожалуйста: допустим есть какое-то количество приложений средней сложности. Часть этих приложений живет в общем кластере, какие-то приложения имеют свой отдельный кластер, но есть приложения которые вынуждены жить на одном сервере (ну или двух) или даже делить один сервер с другим приложением. Хотелось бы всем этим управлять единым инструментом. Насколько я понимаю, kubernetes хорошо подходит для первых двух случаев, но в последнем случае придется мастер ноду и воркеры держать на одной ноде. Собственно, вопрос: насколько это хуже, чем ручной запуск контейнеров на сервере, которые просто будут перезапускаться в случае падения? Допустимо ли это в продакшене?
Anton
меньше 3х нод кажется нет смысла брать
Maksim
Я вообще не понял что там)
Anton
другое дело что мастеру можно совсем хилую машину выдать и не шедулить туда ничего
Anton
но если одна машина для запуска всего - какой толк, ведь переезжать некуда будет при падении
Anton
возможно стоить убедить коллег что нужно больше машин, это дороже, но принесет возможности
alexander
это ничего, если вручную все делать, то все тем более никуда переезжать не будет. мне интересно, кубрнетес имеет ли какой-то ощутимй оверхед перед ручной настройкой в случае использования одной ноды.
Anton
с etcd например тем же, если инстанса 2 и насовсем пропал один инстанс - etcd рекомендуют при этом заснапшотить и пересоздать, в общем гемор
Anton
да, оверхеда много. начиная с того что нужно вникнуть в сами сущности, заканчивая тем что приходится еще суппортить к8с и его компоненты. на одной машине ему делать нечего
alexander
немного контекста: есть продукт, который иногда кастомизируется под заказчиков. на нашем кластере может быть много нод и много приложений. кубернетес сюда идеально подходит. некоторые закзчики могут предоставить отдельный кластер и мы вынуждены использовать его. тут тоже все нормально. но некоторые заказчики бедные и предоставляют всего один сервер. но на него тоже нужно как-то деплоить приложение. хотелось бы всем управлять единым инструментом.
alexander
т.е. саппортить все равно придется, но не хотелось бы саппортить две разных способа деплоить приложения.
Anton
если только с этой стороны заходить смысл есть
alexander
сейчас такие кастомеры деплоятся ansible где вручную создаются контейнеры, которые рестартуют при падении. живет нормально. вот и думаю, если там будет жить еще и kubernetes, то не начнутся ли проблемы с производительностью где-то или еще какие-нибудь специфичные проблемы.
Anton
обязательно =)))
alexander
кажется, единственный способ проверить - попробовать :) ладно, спасибо.
а, случайно, есть кто-нибудь у кого кубернетес на одной ноде крутится?
Andrey
если позволяет, сделайте ваш кластер, куда добавляйте сервера клиентов и вешайте нужное приложение только на эту ноду (taint, tolerations) и пусть живет на нодах, а у правлять всем из 1 места
Andrey
есть несколько инсталяций с кубами однонодовыми
alexander
хм, интересно. можно попробовать.
а как эти инсталяции однонодовые живут? нормально?
Andrey
ну... как сказать, живут то да. но не считаю их особо production ready :)
Andrey
это скорее такие дев кластера
Роман
Правильно я понимаю: чтобы ингресс контроллер добавил в конфиг сайт - нужен Ingress, чтобы kubectl добавил Ingress, должен быть Service? А могу я создать сервис без пода?
Logan
Logan
если не ведет никуда – будет просто фига в виде connection reset
Роман
Просто у меня в темплейте ингресс-контроллера захардкожено, что ему отдавать. Главное, чтобы он в конфиг такой сайт добавил с сертификатами kube-lego и прочими штуками.
Alexey
кто может объяснить - зачем нужна terraform ?
Смотрел возможности апгрейда кубернетеса1,6 до 1,8 - документация привела к
terraform + matchbox.. и тут я не догоняю зачем эти лишние сущности?
K.
терраформ для деплоя инфраструктуры на всякие AWS и openstack.
K.
а внутри инстансов уже кубик
Anton
Hashicorp просто тоже не хочет упускать возможности
Alexey
есть же куча других, типа kops... зачем они все ?
Alexey
и вообще я рассматрива л bare-metal и teraform в документации уже прикручивается к существующему кубернетесу
K.
скинь ссылку на ЭТО ?
Alexey
https://coreos.com/blog/matchbox-with-terraform
Alexey
Installing on Kubernetes
Alexey
вот я вначале подумал, что он поможет мне проапгрейдить кластер, а он вообще хз зачем нужен
Alexey
как кидать репорты на спамеров?)
l1njan
@DenisIzmaylov спам выше
Anonymous
а вот еще вопрос: как в GKE узнать адреса etcd?
K.
узбекский спам! что-то новенькое :)
Logan
мне кажется, Enrico тоже стоит попросить
Etki
вот этого тоже можно
Роман
Коллеги, а можно в Ingress как-то вставить конструкцию, чтобы она превратилась в:
location ~* \.(jpg|jpeg|gif|png|svg|ico|mpeg|mp3|ogg|js|css|ttf|otf|eot|woff|woff2)$
?
Logan
Подозреваю что такое только через конфирмант
Logan
Config map, простите
Anton
в http.paths.path нельзя рэгэкспы задавать? =)
Anton
Anton
Path is an extended POSIX regex as defined by IEEE Std 1003.1, (i.e this follows the egrep/unix syntax, not the perl syntax) matched against the path of an incoming request. Currently it can contain characters disallowed from the conventional "path" part of a URL as defined by RFC 3986. Paths must begin with a '/'. If unspecified, the path defaults to a catch all sending traffic to the backend.
Anton
видимо придется превратить в
/.+\.(jpg|jpeg|gif|png|svg|ico|mpeg|mp3|ogg|js|css|ttf|otf|eot|woff|woff2)$
Роман
Роман
Это ведь не регекс 👆
Роман
Ладно. Я в бэкенде тогда это сделаю.
Anton
~* это часть описания location в nginx, я не проверял, но думаю контроллер сгенерит location с этим самым ~*
Anton
ну или как минимум с ~
Maksim
По хорошему спецефические задачи nginx выполнять не должен
Maksim
Проксирование на бекенд nginx-controller должно быть едино образным
bebebe
https://www.nginx.com/blog/introduction-to-microservices/
Anonymous
Inject Information into Pods Using a PodPreset - Kubernetes
https://kubernetes.io/docs/tasks/inject-data-application/podpreset/
Anonymous
О а я и не знал что так можно
CrusaderX
Угу
CrusaderX
только нужно добавить в мастера поддержку этой штуки