Sam
вопрос только в том quay норм? или dockerhub получше?
Andor
даже локально запущеный реджистри получше докерхаба
Sam
это в дальнейших планах. На данный момент выбран dockerhub и на нем все крутится
Andor
рекомендую съехать на что-нибудь понадёжнее
Alex
даже локально запущеный реджистри получше докерхаба
кстати, не считая последнего падения (случилось через неделю после переезда 😅), что с ним плохого?
Andor
я уже сказал
Alex
всё никак не доберусь проверить, насколько ECR страшен за пределами AWS
Alex
ну двое суток в принципе не так страшно за год для всяких мелких проектов
Alex
хотя тут вопрос в том, что это за сутки )
Andor
читай "остановка деплоймента всего, включая тестовые инсталляции"
Andor
не меньше двух суток суммарно это около 6 рабочих дней если чо
Andor
если считать по 8 часов
Alex
ну это как раз к вопросу о том, что за сутки )
Andor
благодарю. Так а что с quay то.. ?
всё с ним ок, там живут многие проекты
Alex
если на выхах или в нерабочее время – то всё не так страшно
Alex
quay просто дороже получается немного, чем отпугивает
Andor
у меня ваще gcr сейчас на работе, но у меня мало
Alex
давай лучше абсолютные значения
ну типа мне хватает 10 реп в dockerhub за 12 баксов, в quay это 30 баксов
Andor
можно ваще гитлаб взять или у гитхаба попроситься в их бету реджистри
Alex
в принципе, не супер большая разница, но всё равно в 3 раза )
Andor
ну типа мне хватает 10 реп в dockerhub за 12 баксов, в quay это 30 баксов
а gcr бабки берут ваще не за кол-во репозиториев
Alex
а gcr бабки берут ваще не за кол-во репозиториев
а у него что с аутентификацией из сторонних кластеров?
Alex
хотя бы немного проще, чем у aws ecr? )
Andor
хз как у амазоне
Alex
слишком много вариантов как по мне
ну типа пофиг на секурность, просто хочу получить 1 раз токен (мб на период вида месяц-год) и юзать его
Alex
в идеале чтобы были ограничения на чтение / пуши образов для разных токенов, но это не критично сейчас
Andor
ну типа пофиг на секурность, просто хочу получить 1 раз токен (мб на период вида месяц-год) и юзать его
у гугла авторизация обычно через их тулзу gcloud, докер умеет её использовать как тулзу для аутентификации
Alex
в ecr с этим всё не просто
Andor
какая разница
Andor
в ecr с этим всё не просто
https://cloud.google.com/container-registry/docs/advanced-authentication
Alex
https://cloud.google.com/container-registry/docs/advanced-authentication
хм, кейс с JSON key file выглядит очень подходящим, спасибо, попробую
Alex
кстати, кто-нибудь уже обновлял 1.13 на 1.14?
Andor
хм, кейс с JSON key file выглядит очень подходящим, спасибо, попробую
этот ключ для сервисаккаунта и на этот аккаунт ты можешь навешать таких ролей какие хочешь, включая кастомные
D
Всем привет! Интересует возможность сетевого взаимодействия кластера/кластеров Kubernetes и существующей сети на едином плоском уровне без NAT в рамках облачного провайдера с виртуальной частной сетью (я так понимаю, без связанности на L2). В моем случае этим облачным провайдером выступает DigitalOcean. Хочется чтобы поды и VM вне кластера общались друг с другом напрямую. Много читал, все реализации сводятся либо к bare-metal с честной сетью (Flannel host-gw, хотя как автоматом синкать роуты с хостами вне кластера я так и не понял; BGP-пиринг с Calico/kube-router), либо к провайдерам с продвинутой сетью аля AWS/GCP VPC (как я понял, оно там из коробки с мэнэджд кубером). Буду рад любым советам и предложениям, заранее извиняюсь если где-то не прав, в сетях не эксперт никак.
Mikhail
Всем привет! Интересует возможность сетевого взаимодействия кластера/кластеров Kubernetes и существующей сети на едином плоском уровне без NAT в рамках облачного провайдера с виртуальной частной сетью (я так понимаю, без связанности на L2). В моем случае этим облачным провайдером выступает DigitalOcean. Хочется чтобы поды и VM вне кластера общались друг с другом напрямую. Много читал, все реализации сводятся либо к bare-metal с честной сетью (Flannel host-gw, хотя как автоматом синкать роуты с хостами вне кластера я так и не понял; BGP-пиринг с Calico/kube-router), либо к провайдерам с продвинутой сетью аля AWS/GCP VPC (как я понял, оно там из коробки с мэнэджд кубером). Буду рад любым советам и предложениям, заранее извиняюсь если где-то не прав, в сетях не эксперт никак.
я не настоящий сварщик, но в 2 ночи можно. кажется calico это "pure L3", а flannel без vxlan требует L2. c calico можно поставить тот же bird на другие машины, и будет связность. https://docs.projectcalico.org/v3.5/usage/configuration/bgp
Mikhail
IP-in-IP не будет нужен? Ещё раз прошу прощения, весь мой опыт эксплуатации сети в кластерах Kubernetes был только с Flannel с VXLAN.
в calico можно его выключить будет да. как я понимаю. про провайдеры "с продвинутой сетью" если что вообще ничего сказать не могу - опыта нет, только на бедном железе и бедных провайдерах
Mikhail
https://docs.projectcalico.org/v3.5/usage/configuration/ip-in-ip
Mikhail
Кажется в этой фразе скрыты требования к сети провайдера "If your network fabric performs source/destination address checks and drops traffic when those addresses are not recognized, it may be necessary to enable IP-in-IP encapsulation of the inter-workload traffic."
D
https://docs.projectcalico.org/v3.5/usage/configuration/ip-in-ip
Как раз сейчас читаю. Инкапсуляция смущает что нужно будет как-то интегрировать оверлей с хостами вне кластеров.
D
Да и дебажить если что наверное больно.
Mikhail
если так нельзя - то не представляю как можно лучше сделать вообще
Mikhail
Да и дебажить если что наверное больно.
есть опыт на двух "не с продвинутой сетью" провайдерах. без инкапсуляции все отлично.
D
Попробую завтра поднять тестовый кластер с пирингом в DO тогда.
D
Если никто не напишет о своём опыте с DO :)
Mikhail
https://github.com/projectcalico/calico/issues/1095
Mikhail
опыта нет, но быстрый гугл говорит что обязательно ip in ip
Mikhail
"According to #315, Digital Ocean does not allow peering with its networking so IP encapsulation may be the only choice"
Vadim
Пока сетевики не видят посоветую https://github.com/squat/kilo/blob/master/README.md
Mikhail
https://github.com/ozdanborne/calico/blob/51287fb6955c149d04df068b8ccab7fe3bdfb037/master/reference/public-cloud/digital-ocean.md
D
"According to #315, Digital Ocean does not allow peering with its networking so IP encapsulation may be the only choice"
Ага, IP-in-IP до сих не работает, когда дроплет под их файрволлом, это действительно блокер, у меня все хосты под ним, а вот реализация частной сети у них поменялась с 2016, может без инкапсуляции и заведётся теперь.
D
Хотя в issue есть более-менее свежие комменты, что не работает. Эх.
Mikhail
без инкапсуляции, пиринг в планах. пока без.
Fedor
У вари есть неплохой вариант с nsxt но вроде платный
D
Пока сетевики не видят посоветую https://github.com/squat/kilo/blob/master/README.md
Я и в сторону оверлея готов посмотреть, который сеть кубера склеит с существующими хостами, но таких решений вообще не встречал. Ну вот только это, да)
Anton
У kubespray есть такая бага https://github.com/kubernetes-sigs/kubespray/issues/4357 вопрос: есть ли смысл сделать PR и поменять ingress_nginx_host_network на true ?
User
Всем привет! Интересует возможность сетевого взаимодействия кластера/кластеров Kubernetes и существующей сети на едином плоском уровне без NAT в рамках облачного провайдера с виртуальной частной сетью (я так понимаю, без связанности на L2). В моем случае этим облачным провайдером выступает DigitalOcean. Хочется чтобы поды и VM вне кластера общались друг с другом напрямую. Много читал, все реализации сводятся либо к bare-metal с честной сетью (Flannel host-gw, хотя как автоматом синкать роуты с хостами вне кластера я так и не понял; BGP-пиринг с Calico/kube-router), либо к провайдерам с продвинутой сетью аля AWS/GCP VPC (как я понял, оно там из коробки с мэнэджд кубером). Буду рад любым советам и предложениям, заранее извиняюсь если где-то не прав, в сетях не эксперт никак.
В Azure только есть опыт. Там это в одну команду делается при помощи vnet peering между сетью с vm и aks
A
Всем привет! Я совсем зеленый по части k8s, совсем немного работал с nomad + consul. Я уже задавал вопрос в другой группе, но мне не ответили( Вопрос у меня такой: у меня есть скрипт условно на Python или R, он требует много памяти, а у нас памяти немного или есть вероятность того, что для некоторых задач потребуется больше памяти, чем обычно. Если деплоить этот скрипт через k8s+docker, swapping не будет (по дефолту) => SIGKILL (если я правильно понял). Вопрос: как для batch задач настроить k8s чтобы временный контейнер не сдох?
A
Отключить оом или залить память
Залить память можно, нужны плашки. Какие траблы могут быть при отключении oom?
Just a baka
Но это мелочи, главное - сэкономить на памяти
A
)
A
start kubelet with --fail-swap-on=false
A
а разве это не сработает?
Andor
это не отключит оом
Vadim
Есть еще флаг на ограничение скорости света