Алексей
а собеседование на кого? админ кластера или пользователь? может с этим вначале определиться
Terry
если человек не может рассказать про новую хипстерскую хрень, то зачем продолжать диалог?
есть уровни подготовки в целом и конкретика, ходить и спрашивать надо по всему
𝚔𝚟𝚊𝚙𝚜
из чего состоит куб, чем занимается apiserver, controllermanager, scheduller, kubelet
𝚔𝚟𝚊𝚙𝚜
*стикер про пять бинарей*
Terry
🤓
Костя
а не проще будет послушать человека и задавать вопросы уже в контексте его спича?
Это да, но просто нужны вопросы на отсев, которые человек видит до собеседования
Алексей
G72K
Jsonnet это шаблонизатор. Ты мне лучше подскажи аналог хельма тк шаблонизация это отдельный большой вопрос
Helm клинически неспособен ни на что более чем helm template , так что обсуждать остальные его недофичи не вижу смысла
Алексей
есть картинка хорошая в sdk на crd по моему там временные линии того что происходит когда в api заливаешь ченить можно по ней пройтись
Костя
Это да, но просто нужны вопросы на отсев, которые человек видит до собеседования
Плюс хочется начать с чего то просто и по возрастающей. Просто kubernetes такая тема, что от собеседовпния до холивара один шаг
Алексей
не, helm норм выгнать конфиг, потом допилить напильником )) и удалить
Алексей
helm есно
Алексей
Helm клинически неспособен ни на что более чем helm template , так что обсуждать остальные его недофичи не вижу смысла
Погоди, ты всё съехать с темы пытаешься. Если хельм гавно, то какие есть варианты "не гавно" и не велосипеды?
Михаил
Jsonnet это шаблонизатор. Ты мне лучше подскажи аналог хельма тк шаблонизация это отдельный большой вопрос
Когда Хельм научится проверять, что выкаченное работает тогда и приходите
Алексей
https://book.kubebuilder.io/basics/what_is_a_controller.html
𝚔𝚟𝚊𝚙𝚜
почему сервис не пингуется
Алексей
вот тут картинки прикольные, готовый pipeline для собеседования
Костя
Как обычно
Алексей
Когда Хельм научится проверять, что выкаченное работает тогда и приходите
Базара нет, даже разрабы согласны с этой проблемой. Вопрос не в этом
Andor
почему сервис не пингуется
может и пинговаться, зависит от реализации
Andor
я прошёл собеседование? :)
𝚔𝚟𝚊𝚙𝚜
вернее даже: можно ли проверить сервис на работоспособность с помощью ping check. Опишите вариант для iptables и для IPVS
Алексей
А если все равно не пингуется, хотя должен?
Алексей
так проще
Andor
ну это уже задача, а не вопрос для собеседования
Алексей
так работа это решение задач, а не сдача экзамена
Andor
мы щас про работу или про вопросы для собеседования?
Алексей
задача собеседования - понять 2 вещи 1) может ли человек решать задачи под которые его берут 2) будет ли остальным комфортно с ним работать
Алексей
или я не прав?
𝚔𝚟𝚊𝚙𝚜
может и пинговаться, зависит от реализации
в режиме IPVS пинговаться будет IP на локальном интерфейсе, то есть даже с отсутсвующим endpoint
Алексей
Алексей
спросить простенькие вещи дать простую задачку послушать уточняющие вопросы перейти на более высокие уровни абстракции поговорить за жизнь ))
Костя
или я не прав?
Прав конечно. Но ведь всех когда то просили подготовить список вопросов для кандидатов... Появился же как то tcp vs udp, как включается linux итп
Alexander N.
Да все подряд
Раз все подряд - в первую очередь надо смотреть как человек мыслит, а конкретную тулзу всегда можно выучить. Если с порога кандидат говорит "все у вас ху... надо так" или "нахер логи собирать я и так посмотрю их" - повод отправить в пешее
Dmitriy
Тип сервиса ClusterIP обеспечивает балансировку нагрузки? Или только отказоустойчивость?
Алексей
базовые вопросы по протоколам и работе linux никто не отменял потом pod, deploy, sts... способы конфигурирования configmap secrets... ingress способы расширения функционала (crd ...) причем сюда лучше выводить уже с задачи которую влоб не решитью
Alexander N.
вы в любом случае первые пару месяцев человека не подпустите к более-менее боевым кластерам, за это время можно вполне базово выучить человека даже с нуля.
Костя
Ладно, всем большой лайк, тут столько накидали, что и самому есть что почитать теперь 😄. Спасибо большое
Костя
Если что то получится, поделюсь
G72K
У нас туева куча логики на jsonnet: проверить конфликт DNS, сгенерировать ямлы для бекапа, развесить лейблы согласно полиси, прописать network policy к задекларированным зависимостям (и обратно), автовыбор storageclass по требуемым фичам и черти что еще, при этом у разработчиков полная свобода модифицировать ямлы сгенерированные из наших компонентов при помощи их собственного jsonnet "скрипта", который подцепляется при деплое, если что-то они сделают, что выйдет за пределы наших ожиданий, то валидаторы (написанные на jsonnet) просто не дадут сгенерировать ямлы и скажут разработчикам где они неправы. Jsonnet это больше чем шаблонизатор, на нем можно писать развесистую логику
Anton
вернее даже: можно ли проверить сервис на работоспособность с помощью ping check. Опишите вариант для iptables и для IPVS
сначала убедится нужно что человек понимает во что превращается service под капотом
bebebe
но обычно это делается CI частью, на pull request, или на коммит, CI не прошел, тютю
bebebe
не совсем понятно зачем этот нишевый продукт.
Алексей
я бы глянул пример чегонить jsonnet... с логикой
Алексей
любопытно
Andor
там разве развесистое?
Rainbow
не кисло для одно проекта
Andor
вот все говорят что ksonnet/jsonnet хорошие
Andor
открываешь первый попавшийся файл, а там: local kp = (import 'kube-prometheus/kube-prometheus.libsonnet') + { _config+:: { namespace: 'monitoring', }, };
Rainbow
ну вот это и суть jsonnet
Rainbow
kube-prometheus/kube-prometheus.libsonnet либа, как в любом языке.
Andor
я не про импорт, а про то, что далее
Andor
_config+:: это чоа
Rainbow
kube-prometheus.libsonnet в том же проекте и там ниже уже мясо
Rainbow
https://github.com/coreos/prometheus-operator/blob/master/contrib/kube-prometheus/jsonnet/kube-prometheus/kube-state-metrics/kube-state-metrics.libsonnet
Anton
_config+:: это чоа
типа смерж в конфиг?
Andor
хз
Andor
не очень понятно
Rainbow
https://github.com/ksonnet/ksonnet-lib тут примеры вроде получше
Sergei
а в чем проблема с пониманием того, выкатилось helm'ом успешно или нет? можно же просто статус деплойментов проверить и всё. ну если хелзчеки написаны норм. но хелзчеки в любом случае лучше адекватно писать
Andor
самому приверять?
Andor
глазками?
Sergei
ну я например на питоне юзал кубернетес клиент. там 5 строк получается
Sergei
можно и просто kubectl
G72K
я бы глянул пример чегонить jsonnet... с логикой
Ну вот например надо им подцепиться к зависимости , они пишут "v1.resolveRelation(anotherApp)" и при деплое в зависимости от того где они деплоя подставляется или сервис из нужного окружения или ингресс из другого кластера + сразу прописывается network policy чтобы доступ был (по умолчанию все перекрыто даже внутри одного неймспейса). На этой штуке сделаны то что я назвал "sheaf" - связка приложений. Надо что то потестировать , деплоим все приложения в новый sheaf вообще без изменений кода/конфигов, внутри resolveRelation() поймет куда деплоим, выдаст нужные значения. По умолчанию sheaf создаётся по имени бранча , но можно явно указать. Разрабы под демо, отработки багов, перф тесты и вообще чего попало создают эти sheafs ,я про это ничего не знаю даже и им код никакой писать не надо тоже
Andor
то что манифест пошёл применяться - не значит, что деплоймент у тебя выкатится
G72K
ну вот это и суть jsonnet
Туториал на jsonnet.org очень приличный и быстро проясняет все вопросы
G72K
т.е. ты описал кучу велосипедов которые никак нельзя масштабировать на использование за пределы вашей компании?
Нафига мне масштабировать за пределы моей компании? Я решил проблему и не одну при помощи одного инструмента. Вот сейчас только что человек закопипастил чуть больше чем надо, ему деплой по рукам - DNS name xxxx is used by app xxxxx. А так бы он пол дня на дебаг убил