Роль команды установки Helm в сравнении с командой kubectl в развертывании кластера Kubernetes

#kubernetes #kubernetes-helm

#kubernetes #kubernetes-helm

Вопрос:

У меня есть кластер Kubernetes с 1 главным узлом и 2 рабочими узлами. И у меня есть другая машина, на которой я установил Helm. На самом деле я пытаюсь создать ресурсы Kubernetes с помощью Helm chart и пытаюсь развернуть в удаленном кластере Kubernetes.

Когда я читал о команде установки helm, я обнаружил, что для развертывания нам нужно использовать команды helm и kubectl.

Мое замешательство здесь заключается в том, что, когда мы используем helm install, созданная диаграмма будет развернута в Kubernetes, и мы также можем поместить ее в репозиторий диаграммы. Итак, для развертывания мы используем Helm. Но почему мы используем команду kubectl с Helm?

Ответ №1:

Руль 3: нет румпеля. Helm install просто развертывает материал, используя kubectl внизу. Итак, чтобы использовать helm, вам также нужен настроенный kubectl.

Helm 2: Helm / Tiller — это клиент / сервер, helm необходимо подключиться к tiller, чтобы инициировать развертывание. Поскольку tiller не является общедоступным, helm использует kubectl снизу, чтобы открыть туннель к tiller. Смотрите здесь: https://github.com/helm/helm/issues/3745#issuecomment-376405184 Таким образом, чтобы использовать helm, вам также нужен настроенный kubectl. Более подробно: https://helm.sh/docs/using_helm /

Chart Repo: это другая концепция (то же самое для helm2 / helm3), ее использование не обязательно. Они похожи на хранилище артефактов, например, в quay.реестр приложений ввода-вывода вы можете проверять, кто нажимал и кто использовал диаграмму. Более подробно: https://github.com/helm/helm/blob/master/docs/chart_repository.md . Вы всегда можете обойти репозиторий и установить из src, например: helm install /path/to/chart/src

Комментарии:

1. Спасибо за ваш ответ, сэр. Итак, если мне нужно развернуть мою диаграмму, то, если kubectl установлен на компьютере, нужно ли мне использовать только команду установки helm для развертывания? Или мне нужно снова использовать kubectl для развертывания?

2. 1. Вам нужно убедиться, что у вас есть рабочий kubectl компьютер (он может подключаться к кластеру) 2. Затем вы просто делаете helm install , и он делает все, вы не вызываете kubectl явно.

3. ОК. Итак, могу ли я использовать ту же команду установки helm внутри задания конвейера jenkins для создания конвейера ci / cd? здесь все, что я пытаюсь автоматизировать. Один репозиторий svn запустит мое задание конвейера jenkins? установка helm вручную не выполняется. Итак, могу ли я использовать задание внутри конвейера?

4. вы можете использовать ее внутри задания

5. ОК. Спасибо за ваш ответ, сэр.