Автоматизация поиска и хранения файла Kubeconfig после создания кластера с помощью Terraform / GKE - PullRequest
0 голосов
/ 08 апреля 2019

Когда я использую Terraform для создания кластера в GKE, все работает нормально и как положено.

После создания кластера я хочу использовать Terraform для развертывания рабочей нагрузки.

Моя проблема в том, как уметь указывать на правильный кластер, но я не уверен, что понимаю лучший способ достижения этого.

Я хочу автоматизировать получение файла kubeconfig кластеров - файла, который обычно хранится в ~/.kube/config. Этот файл обновляется, когда пользователи запускают эту команду вручную для аутентификации в правильном кластере.

Мне известно, что если этот файл хранится на главном компьютере (на котором работает Terraform), можно указать этот файл для аутентификации в кластере следующим образом:

provider kubernetes {
  # leave blank to pickup config from kubectl config of local system
  config_path = "~/.kube/config"
}

Однако для запуска этой команды для генерации kubeconfig требуется, чтобы Cloud SDK был установлен на той же машине, на которой работает Terraform, и его ручное выполнение не совсем выглядит элегантно.

Я уверен, что мне чего-то не хватает в том, как этого добиться.

Есть ли лучший способ получить файл kubeconfig через Terraform из кластера, созданного Terraform?

1 Ответ

0 голосов
/ 08 апреля 2019

В основном за один шаг создайте свой кластер.Экспортируйте файл конфигурации kube в S3, например.

На другом шаге получите файл и перейдите в папку по умолчанию.Terraform должен работать, следуя этим шагам.Затем вы можете применить свои объекты к кластеру, созданному ранее.

Я использую конвейер gitlabCi, у меня есть один код хранилища для кластера k8s (ниже) и другой с объектами k8s.Первый конвейер запускает второй.

...