Я новичок в Кубернете. Я сомневаюсь.
Скажем, у меня есть программный продукт с 5 микросервисами. Он развернут в моем кластере Kubernetes (кластер OCP) и работает нормально. Каждый микросервис имеет файлы конфигурации Kubernetes в кластере — развертывание, сервис, файлы configmap yaml и т. д.
Предположим, я хочу продать продукт клиентам, и они будут настроены в своем собственном производственном кластере Kubernetes (может быть в OCP или Amazon EKS и т. д.).
Каков правильный способ предоставления продукта клиентам?
Way1 — Отправка всех файлов yaml (deployment.yaml, service.yaml, configmap.yaml) для каждого микросервиса. Всего 5 микросервисов, то есть 5 файлов deployment.yaml, 5 service.yaml, configMap.yaml и т. д. После получения этих файлов они вручную настроят файлы в своем кластере Kubernetes, а затем появятся все модули.
Way2 — Для каждого микросервиса мы дадим чарт Kubernetes Helm. Итак, всего 5 диаграмм Helm для 5 микросервисов. После получения диаграмм они установят все файлы yaml с установкой helm.
Way3 - Или любой другой лучший способ?
Примечание. Клиентам будет предоставлен доступ к частному репозиторию образов Docker для извлечения образов микросервисов.
Решение проблемы
Способ 1: Нет. Для этого есть инструменты. Вам не нужно отправлять файлы yaml.
Способ 2: Это лучший способ, но с некоторыми правками. Создайте 5 диаграмм управления, которые управляют отдельными компонентами вашего продукта. Затем создайте 6-ю диаграмму, которая зависит от остальных 5. Таким образом, вам нужно предоставить потребителю только 1 диаграмму «продукт», и эта диаграмма затем извлечет все, что нужно для запуска. Обычно так и делается. Посмотрите такие проекты, как loki-stack от grafana. У них есть диаграмма руля под названием «loki-stack», и эта диаграмма имеет зависимости от grafana, loki, Prometheus, promtail и т. д. Тогда ваши потребители просто helm install my-product
позаботятся о получении 5 диаграмм обслуживания.
Способ 3: есть много способов сделать это, но все они специфичны для реализации. Например, вы можете использовать OAM + KubeVela. Однако, если потребитель не использует OAM + KubeVela, это проблема. IMO Helm — это стандартный подход, пока все больше людей не начнут использовать такие вещи, как KubeVela.
Комментариев нет:
Отправить комментарий