Там так много графиков русла, и очень заманчиво выбрать один и пойти, но принятие опрометчивого решения может вернуться и преследовать вас позже в будущем.
Я должен признать, что официальный репозиторий Helm прошел долгий путь, и если он в основном подавал наполовину запеченные диаграммы, к настоящему времени Большинство из них даже работают!
Поэтому, прежде чем вы слепо выберете диаграмму русла и включите ее в свой проект, я рекомендую пройти список ниже и убедиться, что вы делаете должную осмотрительность.
TLDR: вещи, которые вы должны помнить, при выборе диаграммы Helm:
- Как выглядит хорошая реализация?
- Это правильное репо для этого приложения?
- Прочтите документацию — readme.md
- Этот проект достаточно активен?
- Эта диаграмма конюшня?
- Вам придется изменить его? Или используйте его как есть.
- Является ли диаграмма излишним для моих требований?
- А как насчет безопасности?
- Возьмите это для тестового привода.
Как выглядит хорошая реализация?
График рулевого хлеба, чтобы облегчить вашу жизнь. Это позволяет вам использовать публичные или официальные знания о том, как оптимально реализовать приложение. Хульнические диаграммы также имеют тенденцию быть очень обобщенными для поддержки множественных вариантов использования, и тем самым могут привести к реализации, которая не является «правильной» для ваших требований. Чтобы избежать этого виновника и иметь возможность принять правильное решение при выборе диаграммы, у вас есть некоторое понимание основного решения.
Первое, что я делаю, прежде чем даже подумать о Kubernetes, это то, что нужно изучить, как работает приложение.
- Как выглядит успешная реализация?
- Есть ли способ сделать его очень доступным? Если да, то каковы мои варианты?
- А как насчет безопасности? TLS, затвердевание, AAA
- Каковы мои варианты запуска этого решения в масштабе?
Только тогда я перехожу к Kubernetes. Имея в виду строительные блоки, мое решение более информировано и меньше груз кальки Анкет
Затем я смотрю на:
Избыточность
Некоторые диаграммы реализуют избыточность таким образом, чтобы они могли соответствовать вашей общей архитектуре. Иногда диаграммы написаны таким образом, чтобы ориентироваться на другой вариант использования. Одним из примеров является Redis Cluster против Sentinels. Это две разные реализации HA для Redis, и для каждого есть отдельные диаграммы Helm.
Запуск необходимой версии
Есть случаи, когда диаграммы поддерживают конкретные версии приложения и могут немного отставать от последних выпусков. Элементы диаграммы, такие как ConfigMaps и Secrets, которые содержат настройки приложения, могут сломаться с последним выпуском.
Обнаружение обслуживания
Как ваши приложения найдут и будут работать друг с другом? Диаграмма Kafka использовалась для поддержки внутренних соединений, но не смогла решить проблему разоблачения брокеров за пределами кластера. Это больше не так, но это отличный пример потенциального времени, которого можно избежать. Быстрый взгляд на то, как настроены сервисы Kubernetes, должен дать вам четкое представление о том, как взаимодействовать с приложением.
Шкала
Большинство диаграмм созданы для масштаба, но это может выглядеть немного по -другому для вашего варианта использования. Убедитесь, что ваш взгляд на «масштаб» соответствует диаграмме.
Это правильное репо для этого приложения?
Что ж, держу пари, что вы начали свое путешествие, будет быстрым поиском в Google. Тогда произошла одна из четырех вещей:
- Вы оказались на официальном репозитории Helm, нажав на первый результат.
- Лучшим результатом является сообщение в блоге от компании, которая создала сервис (например, Elastic.co). Это может привести вас к их официальному репо.
- Коллекция очень случайных проектов GitHub.
- Нет реальных результатов.
Я обычно иду туда -сюда между сценарием № 1 и № 2 и стараюсь выяснить, какой из них лучше отвечает на мои требования. Оба являются хорошими отправными точками.
Если я окажусь в третьем сценарии, это обычно означает, что я собираюсь использовать проекты только в качестве вдохновения и стараюсь не использовать их », как есть». В случае, если нет никаких результатов, ну, у вас впереди много работы.
Readme — Hadoop в качестве примера
На каждом хорошем диаграмме есть информативный и полезный файл Readme. Даже если документация очень короткая, она может дать вам ценную информацию или указывать вам в лучшем направлении.
Эта диаграмма в основном предназначена для использования для выполнения работы пряжи и MapReduce, где HDFS просто используется в качестве средства для транспортировки небольших артефактов в рамках, а не для распределенной файловой системы. Данные следует считать из облачных данных на основе облачных данных, таких как Google Cloud Storage, S3 или Swift.
Взят из карты конюшни/Hadoop.
Посмотрите, если вы хотите использовать его для хранения больших наборов данных, это может быть не лучший выбор.
Стабильный/Дженкинс У диаграмма есть отличный пример файла readme (и общего диаграммы). Вы можете увидеть, какие варианты доступны для переоценки, это дает вам подсказки для возможных проблем и функций, которые вы можете использовать.
Иногда диаграмма явно утверждает, что она устарела и содержит ссылку на другую.
Файл Readme существует для информирования и документирования, а также для маркетинга и установления доверия. Можете ли вы доверять этой графике?
Проектная деятельность
Пока вы смотрите на файл readme на GitHub, ищите другие подсказки на странице:
- Сколько наблюдателей, звезд и вилок есть у этого репо?
- Прочитайте некоторые проблемы и посмотрите, будут ли они решены.
- Соблюдатель проекта смотрит на запросы на привлечение?
- Когда был последний коммит?
- Похоже, что эта диаграмма активно поддерживается?
Точно так же, как выбор внешней библиотеки, приведенные выше моменты являются отличным индикатором того, следует ли вам использовать эту диаграмму или нет.
Достаточно стабильно?
В нашем нынешнем состоянии DevOps все находится в бета -версии или альфа, и экспериментальные проекты работают в производстве из -за отсутствия лучшего варианта. Хельмские диаграммы не отличаются, и вы можете смотреть на «инкубаторные» диаграммы вместо «стабильных». Даже под «стабильной» вы можете увидеть признак того, что диаграмма не готова на 100%.
Еще один мой фаворит — сказочные посты в блоге PR от продавцов, объявляющих о своем официальном таблице или даже операторе, который не за горами. Жаль, что пост датируется год назад, и график все еще находится в «Альфе». Ищите более безопасный вариант, но не исключайте ничего только из -за ярлыка. Может быть безопаснее сделать ставку на новый способ сделать что -то, чем использовать неправильное решение. Приведенные ниже шаги могут помочь вам решить для себя, достаточно ли эта диаграмма достаточно стабильной для Ваш потребности.
Вам придется изменить его?
В то время как диаграммы написаны для поддержки как можно большего количества вариантов использования, и по пути делают шаблоны совершенно нечитаемыми, они не могут решить все проблемы. Может быть, у вас есть уникальная конфигурация, которая требует дополнительных настроек? В качестве альтернативы, предположим, что вам нужно добавить элементы, которые просто нет в шаблонах. Если вы поймете, что потребуется слишком много модификаций, чтобы сделать диаграмму работой, подумайте о написании собственной.
Излишний?
Каждая компания имеет свою терпимость к неудачам, различным ресурсам и перспективам. Некоторые диаграммы запускают полномасштабную архитектуру обслуживания, достойную поддержки Amazon в Черную пятницу (не совсем), но в вашем случае она будет запускать приложение в кластере Kubernetes, который обслуживает гораздо более низкий набор пользователей. Стоит ли накладные расходы? От аппаратных ресурсов до поддержки самой диаграммы, постарайтесь сделать ее простым.
Безопасность
Это огромный предмет сам по себе, и некоторое время назад я написал короткую статью о Просмотр кода Helm и Kubernetes с помощью мышления безопасности. Я настоятельно рекомендую вам пройти через это. Существует некоторое совпадение, но это должно дать вам хорошее представление о том, что вам нужно иметь в виду при оценке диаграммы руля.
Принять это за вращение
Это очевидно — возьмите диаграмму Helm для тестового привода. Потратьте несколько часов и попробуйте реализовать его в своем кластере Dev или на локальной машине. Вы можете многому научиться, пытаясь внедрить диаграмму и попытаться настроить ее для вашего варианта использования. Это может дать вам представление о том, что необходимо потребовать, чтобы настроить диаграмму и лучшую оценку для проекта. В некоторых случаях вы можете быстро исключить это и сэкономить время позже.
Оригинал: «https://dev.to/yuvalo/should-i-use-this-helm-chart-ja3»