AlexK
Самый обычный
https://github.com/ramitsurana/awesome-kubernetes/blob/master/README.md это какой из)
Сергей
всем привет. поделитесь кто на каких мощностях живёт? для мастера и для воркеров?
Puma
мастеры на 4 гига два ядра , нода 8-16 гигов 4 ядра
Puma
но это опять таки тестовый кубер, пока я не вник в него даже наполовину
Puma
но в целом на удивление все работает пока без проблем
Rainbow
всем привет. поделитесь кто на каких мощностях живёт? для мастера и для воркеров?
Яндекс чуваки говорили, что у нормальных пацанов мастера резиновые. Тянутся под количество воркеров
Rainbow
И нормальные пацаны делают отдельный etcd кластер. Т.е. если виртуалки, то может и не 4гб и два ядра
Сергей
ну до "нормальности" надо дорасти
Сергей
я думаю
Anton
автоскейлинг мастеров
Anton
создают новый мастер на каждый n воркеров?
или ресайзят, они рассказывал на митапе на прошлой неделе
Vadim
И какой в этом физический смысл, если etcd отдельно и на него падает основная нагрузка
Anton
возможно речь в том числе и о хостах с etcd
Rainbow
создают новый мастер на каждый n воркеров?
вертикально скейлят. Т.е. насколько я понимаю для пары нод идут совсем дохлые минимальные виртуалки, поэтому 6 виртуалок не такая растрата на малый кластер.
Alex
Какая лучшая практика, сколько должно быть kube-scheduler, kube-controller-manager в конфигурации multi-master из 3 серверов?
Anton
по 3?
Юрий П.
Лучшая практика для HA кластеров - от трёх и более мастеров на кластер
Юрий П.
Соответственно на каждом мастере по экземпляру системных подов
Валентин
всем привет. поделитесь кто на каких мощностях живёт? для мастера и для воркеров?
Мастер 1 ядро 4гб памяти, ну а воркеры всякие-разные бывают, от приложений зависит
Alex
Может знает кто хорошую статью по восстановлению кластера и траблшутинга?
Rainbow
ссылка доклад была классная у @vrutkovs в гите по проблемам
Сергей
всем спасибо за советы
Rainbow
https://www.youtube.com/watch?v=xZO9nx6GBu0
Alex
👍
Валентин
Начинает напрягать, что на ingress-nginx не повесить какие-то простые (с точки зрения приложений) кейсы типа "вот тут статика, вот пара rewrite'ов и все остальное шли на php-fpm" и общее количество nginx'ов в кластере все больше и больше. Кто-то сталкивался, как боролся? Или просто забить?
Rainbow
traefik не умеет к примеру статику. Забить в общем. а пара реврайтов можно в server-snippet или ещё где.
Pit
Парни ткните носом во вменяемый ман по развертыванию кубика. Желательно на русском, но не критично. Кубспрей и прочее не хочу - надо попервой ручками все сделать, поломать пару раз и починить чтобы освоиться.
Pit
заранее спасибо
Pit
ок, переживу
Nismo
у меня стоят memory limits 256 Mi и JVM_OPTS -Xms256M -Xms256M но под все равно становится OOMKilled, в чем может быть причина?
Nismo
resources: requests: memory: "256Mi" limits: memory: "256Mi" env: - name: JVM_OPTS value: -Xms256M -Xmx256M
Валентин
Ну я к тому, что без куба у меня бы nginx, который а-ля ingress-controller, делал бы кучу работы еще и суммарно в кластере у меня было бы nginx'ов штук 5 максимум. А сейчас условно 25 - каждое приложение таскает свой + ingress еще.
Валентин
Статику лучше раздавать с какого-нибудь CDN, к слову
Cdn далекооооо не ко всем кейсам статики подходит
Rainbow
Я себе сделал контроллер, который статику раскатывает, типа apiVersion: mywork.ru/v1 kind: GatsbySites metadata: name: mobile-$CI_COMMIT_REF_SLUG namespace: default spec: archiveUrl: $ARCHIVE_URL host: $HOST path: $MOUNT_PATH
Rainbow
Пока это 1 nginx на 1 сайт, будет время - сделаю нормально.
Pit
мрак...
Rainbow
Ну, S3/Spaces)
далеко не везде. У меня огромный кост на put вышел бы 🙈
Pit
хорошо, зайдем с другой стороны. какой способ развертывания куба считается кошерным?
Pit
*на своей площадке
Rainbow
Alexander
далеко не везде. У меня огромный кост на put вышел бы 🙈
Даже боюсь представить, что ты там хранишь)
Валентин
Ну, S3/Spaces)
Да причем тут S3? Во-первых клиенты могут быть только по-россии - усе, большинство cdn идет лесом, для них Россия это 1 целое и неделимое. Во-вторых основной объем статики могут составлять данные, которые куда-то за пределы кластера нельзя вынести, потому что для сайта оно статика, а внутри оно там обрабатывается другими приложениями
Rainbow
Даже боюсь представить, что ты там хранишь)
пару статических сайтов с генерацией раз в 20минут.
Rainbow
решение не сувать статику в image, а выкачивать initContainers мне понравилось. Архив 5-10mb почти сразу залетает.
Rainbow
А архив называть как sha1 от его. И без правок статики ничего не перезапускается. Сам архив на s3
Pit
нагугли уже, спасибо
Grigorii
у меня стоят memory limits 256 Mi и JVM_OPTS -Xms256M -Xms256M но под все равно становится OOMKilled, в чем может быть причина?
эта опция ограничивает только heap size в JVM, а память внутри контейнейра могут потреблять другие вещи типа JVM stacks сам JVM процесс что-то еще запущенное внутри контейнера..
Grigorii
так что лимиты всегда ставь выше чем heap size
Nismo
эта опция ограничивает только heap size в JVM, а память внутри контейнейра могут потреблять другие вещи типа JVM stacks сам JVM процесс что-то еще запущенное внутри контейнера..
я уже вижу, когда ставлю 256М по факту памяти используется на 290 -298М, теперь вопрос какой большой может быть этот разброс?
Grigorii
Начинает напрягать, что на ingress-nginx не повесить какие-то простые (с точки зрения приложений) кейсы типа "вот тут статика, вот пара rewrite'ов и все остальное шли на php-fpm" и общее количество nginx'ов в кластере все больше и больше. Кто-то сталкивался, как боролся? Или просто забить?
ну тут уже начинает работать принцип микросервисов — отдельный сервис делает что-то одно, и хорошо а то вы хотите nginx-ingress превратить в монолит который знает все о каждом приложении в идеале, nginx-ingress только рулит роутами, это его задача основная а про то чтобы не плодить нжинксы, ну как вариант можно сделать микросервис, который сервит статику для всего — такой, nginx-static-server, как варинт, и все к нему ходят если нужен файл но я не знаю насколько такой подход плох, можете покритиковать :)
Grigorii
я уже вижу, когда ставлю 256М по факту памяти используется на 290 -298М, теперь вопрос какой большой может быть этот разброс?
нуу хз, я вижу 2 варианта: 1. понять что конкретно потребляет память и выяснить пределы для него 2. оперделить лимит эмпирически, где верхний предел — сколько ты готов и можешь выделить этому приложению, нижний — столько, чтобы приложение не килилось по OOM
Nismo
Спасибо за ответы
Vlad
ребятки а можно сделать curl -XPOST k8s-api/bla/bla/bla --data yaml-file ?
Vlad
curl -k -XPOST -H "Content-type: application/yaml" -H "Authorization: Bearer $TOKEN" http://172.16.240.13/apis/cluster.k8s.io/v1alpha1/namespaces/$NS/clusters/create --data-binary @cluster.yaml вот так что то не хочет
Kirill
Всем привет. Вопрос: Как работает Хельм с Тиллером? При инициализации helm init деплоится в кубер под с Tiller, нодепорт не открывается. Как Хельм разворачивает релизы? К чему вопрос: у ансибла есть модуль helm. У него указан localhost с портом 44134. И в кубере создаётся сервис с таким же портом. Пытаюсь понять зачем и как пользоваться этим модулем.
Vlad
api умеет только json
не совсем так "message": "the body of the request was in an unknown format - accepted media types include: application/json, application/yaml",
Vlad
он могет в ямл
Kirill
P.S. Тиллер можно развернуть локально. Скорее всего, модуль подразумевает именно это. Кто-нибудь вообще так делает? :)
Grigorii
там рандомный порт всегда
Grigorii
[debug] Created tunnel using local port: '52107' [debug] SERVER: "127.0.0.1:52107"
Grigorii
хотя да, у тиллера есть сервис с таким портом 44134
Kirill
хотя да, у тиллера есть сервис с таким портом 44134
ну из ответа я так и понял, что он создаёт туннель именно к этому порту
Kirill
ну еще можно сделать port-forward этого порта из кластера себе на локалхосст
Спасибо большое. Я так и сделал, плейбук поехал. Я думаю, что это решит вопрос.