В данной серии я не показываю как именно все устроенно у нас, а пытаюсь раскрыть возможности kubernetes и всего что вокруг него, чтобы можно было построить в том числе внутреннюю платформу. Инструменты в данном случае я беру по формуле (популярность + (хотел попробовать, но руки не доходили)). GitOps сознательно не беру, потому что он решает только доставку и синхронизацию состояний, а не пытается собрать из разных инструментов платформу.
Вы спрашиваете правильные вещи, какие-то я собираюсь точно раскрыть в следующих частях, над некоторыми подумаю.
В общей namespace, но скорее всего придется этим управлять, потому что разные версии операторов обычно поддерживают разные версии приложений.
Безопасность достойна отдельной статьи и после review с стороны безопасников
Стараемся автоматически, но все индивидуально, если с кафкой можно заскалировать node group и перевести брокер, потом потушить старую ноду, то с тем же Postgres все так просто не получится.
На данный момент кластера не сильно большие и проблем нет, мультенант пока решается отсутствием коммуналки.
Конкретно эта статья не про тонкости, про них мы обязательно расскажем позднее.
У каждого может свое мнение на этот счет, для наших задач был выбран инструмент, который закрывает наши потребности и не важно сколько в нем слоев абстракций. И это один инструмент, а не несколько.
У poetry есть одна проблема, нет команды перевести зависимости в обычный requirements.txt и для установки зависимостей надо установить сам poetry. И если вы все-таки решили ставить зависимости через него, встает другая проблема. В нашей практике мы собираем приложения в Dockerfile и обычное дело копировать файл зависимостей и их устанавливать где-то перед копированием кода, чтобы слой закешировался. Так вот если вдруг внесете изменения в pyproject.toml не касающейся зависимостей у вас все равно будет пересобираться слой с ними. В итоге пришлось написать скрипт, который читает stdin из poetry show и poetry show --no-dev и генерить два *.txt файла. Мелочь, а не приятно.
В данной серии я не показываю как именно все устроенно у нас, а пытаюсь раскрыть возможности kubernetes и всего что вокруг него, чтобы можно было построить в том числе внутреннюю платформу.
Инструменты в данном случае я беру по формуле (популярность + (хотел попробовать, но руки не доходили)). GitOps сознательно не беру, потому что он решает только доставку и синхронизацию состояний, а не пытается собрать из разных инструментов платформу.
Вы спрашиваете правильные вещи, какие-то я собираюсь точно раскрыть в следующих частях, над некоторыми подумаю.
На данный момент это high-ops сетевые.
В общей namespace, но скорее всего придется этим управлять, потому что разные версии операторов обычно поддерживают разные версии приложений.
Безопасность достойна отдельной статьи и после review с стороны безопасников
Стараемся автоматически, но все индивидуально, если с кафкой можно заскалировать node group и перевести брокер, потом потушить старую ноду, то с тем же Postgres все так просто не получится.
На данный момент кластера не сильно большие и проблем нет, мультенант пока решается отсутствием коммуналки.
Конкретно эта статья не про тонкости, про них мы обязательно расскажем позднее.
У каждого может свое мнение на этот счет, для наших задач был выбран инструмент, который закрывает наши потребности и не важно сколько в нем слоев абстракций. И это один инструмент, а не несколько.
Нет, я именно сравниваю с теми инструментами, которые написал, потому что чаще всего при помощи них решают DevOps задачи.
Helm пакетный менеджер для работы с kubernetes, а не отдельный инструмент, поэтому нет я с ним не сравнивал.
Этом меме совсем про другое, kubernetes это не новый стандарт.
Конечно знаю, по сравнению со всем остальным (ansible, bash, terraform) это точно упростить.
Для меня одной из самых приятных вещей оказалось
@njit(parallel=True)
В markdown+git я вижу такие преимущества.
Не любитель тащить стороние зависимости ради пары строчек кода.
get_requirements.py
freeze.sh
У poetry есть одна проблема, нет команды перевести зависимости в обычный
requirements.txt
и для установки зависимостей надо установить сам poetry. И если вы все-таки решили ставить зависимости через него, встает другая проблема. В нашей практике мы собираем приложения вDockerfile
и обычное дело копировать файл зависимостей и их устанавливать где-то перед копированием кода, чтобы слой закешировался. Так вот если вдруг внесете изменения вpyproject.toml
не касающейся зависимостей у вас все равно будет пересобираться слой с ними. В итоге пришлось написать скрипт, который читает stdin изpoetry show
иpoetry show --no-dev
и генерить два*.txt
файла. Мелочь, а не приятно.