с non-kubeadm инсталляции на kubeadm ? Мне показалось что там без дичи с ковырянием etcd не обойтись .
@lllamnyp ? )
По одной не получится заменить?
ну выглядит не очень сложным этот процесс. А почему внутри etcd надо будет ковыряться? Ты же можешь сказать kubeadm типо юзай внешний etcd, и не разворачивай свой на static подах
Я пытался прошлой зимой: у меня kubeadm ругался на всякие отсутствующие сущности в etcd и плевался негуглящимися ошибками . Ну не сказать что я прям сильно старался )
Интересно, а не помнишь что именно?
Кубеадм весьма возмужал и подрос, перетести)
есть. но зачем ?
Лул
увы, уже не помню.
kubeadm упрощает администрирование и поверх него проще тулинг свой навернуть, призванный отказаться от Kubespray
Зачем ?
чуть выше ответил Лаки
Не, у меня была мысль это сделать, но руки не дошли.
А в чём собственно проблема? Смотрите в доку kubeadm init phase там всё предельно ясно расписанно
Ну мне не упрощает. Так, немного геморроя добавляет. Но это лично мой опыт
Ну как так если под капотом спрея кубадм и есть? Или твой форк кау раз без него?
да, у него без kubeadm
Ну да, правильней сказать что kubeadm это низкоуровневая утилита, как и kubectl
Никогда раньше не видел ТАКОЕ определение низкого уровня)
Ну собственно и как сам куб - всего-лишь фреймворк для запуска приложений
ну там смотри какая ситуация возникает. Ты хочешь следовать принципу IaC, и управлять своей конфигурацией. Например ты хочешь добавить фичагейты в kube-apiserver. То логично будет держать шаблон статик пода в своей системе управления конфигураций, чтобы она им управляла. Меняешь в нем фича-нейты, твоя система правит файл, и kube-apiserver перезапускается - профит, все счастливы. Но вот беда, kubeadm тоже им управляет. Поэтому тебе приходится для смены фичагейтов править конфиг kubeadm и запускать его со специальной командой - если такое вообще поддерживаются. То есть в теории могут быть конфигурации, которые ты просто не можешь накатить через kubeadm. И тебе придется костылить в своей системе, всякие sed'ы для правки конфигураций, так как нормально файлом ты упрпалять уже не можешь. То есть почему люди отказываются от инсталяторов тоже понять можно
Ну хз, ещё как тулза для работы с данными
Для кубеадм вполне стандартизованный конфиг есть для таких вещей
Считай вместо флагов командной строки
Эти люди имеют стойкую уверенность, что могут сделать для себя лучше, чем абстрактный инсталлятор, одна из задач которого сделать нечто усреднененное, что работало бы на как можно более разнообразных инфраструктурах 🐈
ога. Пока уверенность сохраняется.
да, но там надо его вызывать со спец параметрами. Мол обнови мне статик поды - условно. И это пуш система. Нет принципа - IaC, которая гарантирует что у тебя точно та конфигурация, которую ты описал и принципа конвергенции - IaC всегда пытается привести конфигурацию к описанной, если текущая конфа не соотвесвтует описанной. То есть если кто-то вручную зайдет на мастер и поменяет manifest static пода, в случае обслуживания кластера через kubeadm, IaC не откатит эту конфигурацию к описанной автоматически. Тебе надо запустить kubeadm
Необязательно. Кубадм конфиг свой хранит внутри куба. В мапе. И по большому счету правишь этот конфигмап и стартушеш кубадм апгрейд
да, но так как ты из IaC не управляешь итоговым манифестов статик пода, ты не сможешь обнаружить что файл обновился и надо запустить kubeadm чтобы накатить на него правильные настройки
Если ты всегда запускаешь его с одним и тем же конфигом, он имел так и работает. То что значения конфига не очень хорошо документированны и то что запуск без конфига перезапишет конфигурацию с дефолтными значениями - это уже другой вопрос.
Что? Почему манифест Статик пода обновляться?
смотри выше - это был пример. Например кто-то руками обновил его на мастере. Ну то есть это пример стандартного принципа конвергенции IaC - она должна всегда приводить конфигурацию к описанной в твоем коде. А для этого нужно описаывать конфигурацию всех файлов в IaC.
так ты напиши свои модули для ansible/salt/whatever
Ну кубеспрей тебе тоже таких гарантий не даст, если ты файлик вручную поправил
ну то есть тебе придется каждый раз при прогоне IaC запускать kubeadm чтобы он привел файлы к нужному виду, даже если с ними все норм. А если ты управляешь манифестами из твоей IaC, она будет их обновлять только тогда, когда они не соотвесвтуют описанию в IaC коде.
Найти этого кого то и лишить премии. А админам добавить крон с запуском в кубадм.
а я не про kubespray говорил ) Я про свои решения на каком-нибудь IaC. И про то, что людей можно понять, почему они к ним приходят
Интересно а кто-нибудь катает куб паппетом?🤔
Дык все равно иак запускаешь по крону. И не важно что там внутри ансибля, багш или кубадм
А, вот ты к чему клонишь-то :)
не, я никому не советую =) Боже упаси
да можно так, но это как-то некрасиво. Если у тебя конфиг описан как ресурс в IaC, ты можешь строить зависимости, подписывать другие ресурсы на события обновления этого конфига и тому подобное. А в случае запуска по крону kubeadm, оно просто тупо запускается по крону, что тут еще можно сказать. Да это работать будет, но на мой вкус некрасиво. Но это из раздела вам шашечки или ехать. Чисто вкусовщина
Очень просто, давайте рассказывать куб номадом!
Обсуждают сегодня