Рубрики
Uncategorized

Террафор — развертывание Helm Thillless Helm

Этот блог Post объясняет, почему установка Ciller на кластере Kubernetes не должно быть сделано, как установить Helm Charts через локально бегущий сервер Thilder и Terraform Script для достижения развертывания Hellm Helm. Помечено террафом, рулем, Куберанесом, дежопами.

Manager Package Package для Kubernetes поможет вам установить и управлять приложениями на кластере Kubernetes. Для получения дополнительной информации см. HELM Документация

Helm имеет два основных компонента — Clip Client и Chiller Server.

Как в документации:

Клиент HELM — это клиент командной строки для конечных пользователей. Клиент несет ответственность за следующие домены:

  • Разработка местных графиков
  • Управляющие репозитории
  • Взаимодействие с сервером Thilder
  • Отправка графиков для установки
  • Просить информацию о выпусках
  • Запрашивая модернизацию или удаление существующих выпусков

Thilder Server — это сервер в кластере, который взаимодействует с клиентом HELM и интерфейсы с сервером API Kubernetes. Сервер отвечает за следующее:

  • Прослушивание входящих запросов от клиента HELM
  • Объединение диаграммы и конфигурации для создания выпуска
  • Установка диаграмм в Kubernetes, а затем отслеживание последующего выпуска
  • Обновление и удаление диаграмм, взаимодействуя с Куберовщиками

В двух словах клиент несет ответственность за управление графиками, и сервер отвечает за управление выпусками.

Когда вы запустите сервер Tiller на кластере, сервер Thilder получает свои полноценные разрешения администратора Kubernetes. Сервер Tiller становится вектором атаки.

Когда вы запускаете Thilder Server на локальной машине, пользователи не наследуют разрешения сервера Thilder на кластере. Вместо этого Thilder наследует разрешения Kubernetes конечного пользователя. Его рекомендуемый подход к установке HELM-диаграммы в дистанционном кластере Kubernetes без Chiller Server на кластере.

Установите Thilder & Helm локально

  • Установите шлем локально, используя любую домому на MacOS или шокоэлеях на окнах.
  //macOS
  $ brew install kubernetes-helm

  //Windows
  $ choco install kubernetes-helm

  // Linux/Unix script
  $ curl -LO https://git.io/get_helm.sh
  $ chmod 700 get_helm.sh
  $ ./get_helm.sh
  • Создайте пространство имен под названием Thilder со следующей командой.
kubectl create namespace tiller
  • Установите переменную среды Willer_nameSpace в Thilder.
export TILLER_NAMESPACE=tiller
  • Запустите сервер Tiller локально
tiller -listen=localhost:44134 -storage=secret
  • Инициализируйте CLEM-клиент с флагом, только для убедитесь, что Thilder не установлен в кластере Kubernetes
export HELM_HOST=:44134
helm init --client-only
  • Убедитесь, что Helm совместно общается с сервером Tiller.
helm repo update

На данный момент вы можете запустить любые команды HELM в вашем окне клиентского клемма HELM (например, Helm Install Chart_Name) для установки, модификации, удаления или запросов Helm Charts в вашем кластере.

Helm Tiller Plugin

Rimas Mocevicius разработал руль плагин Для этого. Смотрите Блог пост Больше подробностей.

$ helm plugin install https://github.com/rimusz/helm-tiller

У него есть команды, такие как Начало , Start-Ci & останавливаться

Начать Команда запускает сервер Thilder. Start-Ci Команда используется для запуска сервера Thilder и CI. Стоп Команда останавливает сервер Thilder.

Увидеть больше команд этого плагина Helm Tiller в его Документация GitHub

Terraporm Script для проведения развертывания Hellless Helm

Установка ниже — использовать сервер Thilder, работающий на Localhost с Террафор-Хелм-провайдер

Плагин Helm-Tiller Start-Ci Команда используется для запуска Chiller On Localhost, вызывается через ресурс Provisioner Local-Exec.

Поставщик HELM настроен с хостом Tiller Server как Localhost: 44134 и установить install_tiller . Чтобы ложь не устанавливать румпель сервера в кластере Kubernetes.

Запуск скрипта Terraform вращает сервер Thilder и установить диаграмму HELM в кластере Kubernetes, настроенных в поставщике HELM.

resource "null_resource" "tiller" {
  provisioner "local-exec" {
    command = "export KUBECONFIG=${var.kubeconfig_path} && helm tiller start-ci &"
  }
}

provider "helm" {
  host            = "127.0.0.1:44134"
  install_tiller  = false

  kubernetes {
    host        = "${var.cluster_endpoint}"
    config_path = "${var.kubeconfig_path}"
  }
}

resource "helm_release" "redis" {
    name      = "redis"
    chart     = "stable/redis"
}

Заворачивать

HELM V3 должен быть заманком. Вы можете прочитать предложение Helm V3 Design здесь Отказ Плагин Helm-Tiller и скрипт террафора, который использует команды Helm-Tiller для запуска сервера Thilder на Localhost, помогают надежно сделать развертывание на выпуске HELM V2.

Счастливое кодирование и надеюсь, что этот пост помогает настроить Terraporm Script для развертывания Hellerless Helm.

Оригинал: «https://dev.to/ksivamuthu/terraform-tillerless-helm-deployment-5bhc»