LINUX.ORG.RU

История изменений

Исправление router, (текущая версия) :

чего у вас с ним не срослось?

@ugoday, @pinachet

Я бы не назвал это «не срослось». При необходимости я могу развернуть кластер через kubespray

У меня претензии к тому, как он написан. Его реально писали методом тыка. Либо, может быть, программисты приняли ансибл за язык программирования и пытались накостылять то, чего в нём нет и что делать вообще нельзя. Либо best practice по ansible в то время ещё не существовало, либо авторам кубспрея было лень его читать. Там реально собраны все BAD practice. Более того, там это походу взяли за стандарт

Буквально все

  • зависимости между ролями, в т.ч. неявные через meta
  • кошмарное злоупотребление jinja вне templates и vars
  • почти везде отсутствуют name для task и play
  • глобальные переменные. регистрация переменных в одной роли для другой
  • некоторые роли вообще не выполняют какую-либо определённую роль (сорри за тавтологию), в них просто выкинули код, чтобы меньше думать о нём
  • и такого говна там около 8 мб (мегабайт, карл)

Просто возьми и начни разбираться, где конкретно там происходит какое-либо действие.

Смотри, взять кубспрей и развернуть из него кластер не проблема. Потрахаешься с переменными, но это реально. А теперь представь, что ты этим же спреем решил обновить сертификаты или кластер (что заявлено как одна из основных целей кубспрея). И представь, что-то пошло не так. Чинить это придётся тебе, а не разработчиткам спрея.

Вот например в тему говнокода на ansible https://habr.com/ru/articles/508762/

А вот best practice https://docs.ansible.com/ansible/2.8/user_guide/playbooks_best_practices.html

А теперь надень на нос прищепку и ныряй в kubespray

Исходная версия router, :

чего у вас с ним не срослось?

Я бы не назвал это «не срослось». При необходимости я могу развернуть кластер через kubespray

У меня претензии к тому, как он написан. Его реально писали методом тыка. Либо, может быть, программисты приняли ансибл за язык программирования и пытались накостылять то, чего в нём нет и что делать вообще нельзя. Либо best practice по ansible в то время ещё не существовало, либо авторам кубспрея было лень его читать. Там реально собраны все BAD practice. Более того, там это походу взяли за стандарт

Буквально все

  • зависимости между ролями, в т.ч. неявные через meta
  • кошмарное злоупотребление jinja вне templates и vars
  • почти везде отсутствуют name для task и play
  • глобальные переменные. регистрация переменных в одной роли для другой
  • некоторые роли вообще не выполняют какую-либо определённую роль (сорри за тавтологию), в них просто выкинули код, чтобы меньше думать о нём
  • и такого говна там около 8 мб (мегабайт, карл)

Просто возьми и начни разбираться, где конкретно там происходит какое-либо действие.

Смотри, взять кубспрей и развернуть из него кластер не проблема. Потрахаешься с переменными, но это реально. А теперь представь, что ты этим же спреем решил обновить сертификаты или кластер (что заявлено как одна из основных целей кубспрея). И представь, что-то пошло не так. Чинить это придётся тебе, а не разработчиткам спрея.

Вот например в тему говнокода на ansible https://habr.com/ru/articles/508762/

А вот best practice https://docs.ansible.com/ansible/2.8/user_guide/playbooks_best_practices.html

А теперь надень на нос прищепку и ныряй в kubespray