Comments 12
?
А если вы только начинаете знакомиться с Kubernetes, то освоить кубспрей будет намного легче и быстрее.
нет, нет и нет. Самое быстрое — "rke up", плавали знаем. 10 минут и кластер готов.
Да, могут быть вопросы по "расширяемости", но если уж так копать, то нужно проходить hard way от Келси Хайтауэра — реально нестареющая классика
По митогену тоже есть особое мнение:
https://habr.com/ru/post/516028/
— А где здесь про Mitogen? — вправе спросить ты, уважаемый читатель. В этой статье — нигде. Но если ты реально готов читать его код и разбираться, почему твой плейбук падает с Mitogen, а с ванильным Ansible нормально работает, или почему этот же плейбук доселе исправно работал, а после обновления стал делать странное — что ж, Mitogen потенциально может быть твоим инструментом. Применяй, разбирайся, пиши статьи — прочитаю с интересом.
Почему лично я не использую Mitogen? Потому что гладиолус он работает, только пока таски реально простые и всё хорошо. Однако стоит свернуть чуть влево или вправо — всё, приехали: в ответ в тебя летит горсть невнятных исключений, и для завершения картины не хватает только расхожей фразы «всем спасибо, все свободны». В общем, я просто не желаю тратить время на выяснение причин очередного «подземного стука».
kubeadm — также требуется докер,
srsly? А им же вроде можно сетапить и бездокерные кластера, на cri-o и containerd.
все IMHO
Речь о самом простом способе поднять production-ready кластер. Чтобы человек сразу привыкал к хорошему, а не решал вопросы по «расширяемости»…
Про митоген… Помню эту статью на хабре. Там автор предлагал на каждый чих писать свои модули под ансибль. В итоге вместо описания сценариев на ямле, процесс создания IaC превращался в программирование на питоне. и я предполагаю, что его проблемы были как раз между митогеном и его модулями…
Это я к тому, что запуск кубспрея с митогеном я отлаживал и добавлял. И из всего, что пришлось переделывать — это таски с настройкой coreos-like дистров (использовался модуль raw, чтобы питон туда поставить) и пара тасков с хитрыми delegate_to: внутри циклов с include:
«докер» == «среда контейнеризации» — для краткости речи
Лично я думаю, что версия 3.0 будет не совместима с 2.X ;)
Человек, который знает про cri-o и containerd и чем они отличаются от докера — сложно назвать новичком.
ну скажем так — с rke есть нюансы…
ну, вот бы и рассказали в виде статье "почему не следует пользоваться rke". В целом, у коллег впечатления скорее положительные. Тем более для кейса поднятия тестовых кластеров.
Лично я думаю, что версия 3.0 будет не совместима с 2.X ;)
и? :-) Я не берусь утверждать гарантированно, но с кьюб спрей, как и с любым другим сложным инструментом, тоже масса нюансов и поэтому коллеги из чатиков натыкались на какие-то ситуации, когда его прогон все ломал (или хотя бы не чинил). Но я не дам точной фактуры, потому что мне это сейчас не интересно искать, а, во-вторых, я допускаю, что коллеги ССЗБ и попросту что-то сделали не так (см. предыдущий тезис про сложность).
1) использование hostname, а не hostnamectl — на centos8 cloud пришлось доставлять условными ручками (через cloud-init, конечно, хотя иные пакеты «инсталер» ставит). Ну и не забыть поставить iptables если вам оно надо будет «потом» (в процессе инсталяции иных компонент)…
2) использование (отключаемое, но всё же) запуска ionice внутри etcd офиц. (если не переопределён, конечно) образа, хотя его там уже давно выпилили. Как следствие etcd не поднимается, что как бы печально.
Короче как итог: если вы думаете что большие дядьки за вас все сделали и вы по трём командам развернете k8s в проде — врядли.
Мне так и осталось непонятным итоговая аудитория этого kubespray (и форка в частности): для «поиграться» есть более простые решения, для реально здоровых инсталяций (хотя бы в 100 нод) — в 90% придётся допиливать хотя бы это решение или рисовать своё (и не факт что рисовать своё будет быстрее чем допиливать и потом поддерживать в актуальности).
JohnRico — попросите спикера освятить вопрос «кому это надо»?
Note: я ниразу не ops, я с другой стороны.
- name: Assign inventory name to unconfigured hostnames (non-CoreOS, non-Flatcar, Suse and ClearLinux)
hostname:
name: "{{ inventory_hostname }}"
when:
- override_system_hostname
- ansible_os_family not in ['Suse', 'Flatcar Container Linux by Kinvolk', 'ClearLinux'] and not is_fedora_coreos
По поводу etcd_ionice. Тут да, мой косяк, не уследил за тем, что в контейнерах etcd v3.4.x выпилили бинариник ionice, и я уже убрал эту опцию из своего форка и готовлю PR в основной кубспрей.
Насчет целевой аудитории — Вы как-то резковато обратились только к граничным случаям:
— для поиграться
— и для реально здоровых в хотя бы 100 узлов…
А как же остальные 90% реальных пользователей кубернетес? У которых кластера от 5 до 20 узлов, и нет денег на специалистов, готовых не только написать IaC сценарий для развертывания кластера, но и регулярно изучать, что новенького появилось в кубе, что изменилось, а что и удалили. И согласно всем этим изменениям поддерживать свой сценарий в актуальном состоянии.
то это не команда, а модуль ансибль.уже не вспомню, но вероятно это — как раз вероятно не хватает ещё одного условия исключения…
А как же остальные 90% реальных пользователей кубернетес? У которых кластера от 5 до 20 узлов, и нет денег на специалистов, готовых не только написать IaC сценарий для развертывания кластера, но и регулярно изучать, что новенького появилось в кубе, что изменилось, а что и удалили. И согласно всем этим изменениям поддерживать свой сценарий в актуальном состоянии.
такие люди не справятся и с kubespray — столкнуться как например я с первой ошибкой и уйдут в rke/иное «k8s в два клика»/k8s as service. «Платишь орехами — получаешь обезъян».
Что дейсвительно таким нужно, так это не «ansible макороны» — а готовые образа мастеров, нод и т.д. (где уже всё стоит, настроено + cloud-init «инструкция» как их «запустить» чтобы при старте стать «кластером»). Все кто хочет «не стандарт» — идут на рынок за админами (ops-ами или как вы их хотите назвать — не так важно). Либо сервис (вот вам идея), который позволит натыкать что вы хотите (на там выбрать сеть, формат образов и т.п.), заплатить мини денюжку для подписки на выбранную конфигурацию и получать эти образа «по-подписке» для обновления свого кластера. И пусть эти ansible программы (kubespray) (да, это ведь эта конфа по слоности уже похожа на «взрослый» язык программирования) будет не их головной болью.
В эту степь сейчас идёт вся индустрия — immutable образа и это относится не только к контейнерам, но и к виртуалкам.
Бесплатный вебинар «Обзор возможностей Kubespray»