Как настроить провайдера Terraform Kubernetes для EKS - PullRequest
0 голосов
/ 05 июля 2018

Я пытаюсь настроить провайдера kubernetes в Terraform, однако до сих пор я не смог этого сделать. EKS использует аутентификатор heptio, поэтому у меня нет путей к сертификатам, которые я могу предоставить провайдеру Kubernetes. Как правильно это сделать?

Я уже пробовал что-то вроде этого:

provider "kubernetes" {
  config_context_auth_info = "context1"
  config_context_cluster   = "kubernetes"
}

Получение в результате:

Error: Error applying plan:

1 error(s) occurred:

* kubernetes_namespace.example: 1 error(s) occurred:

* kubernetes_namespace.example: Post http://localhost/api/v1/namespaces: dial tcp [::1]:80: getsockopt: connection refused

У меня есть ~ / .kube / config, чего мне не хватать?

Ответы [ 2 ]

0 голосов
/ 31 июля 2018

Для провайдера EKS, использующего Terraform.

data "aws_region" "current" {}

data "aws_availability_zones" "available" {}

provider "kubernetes" {
  config_context = "aws-test-terraform"
}
0 голосов
/ 06 июля 2018

Такое поведение может быть вызвано известной ошибкой ядра: core: нет интерполяции для зависимостей между поставщиками # 12393 .

Существует проблема в Terraform Github, которая описывает аналогичный случай с той же ошибкой - # 12869 .
Речь идет о проблемах, связанных с GKE, но я думаю, что это может повлиять и на EKS.

Вот ссылка , чтобы привести пример использования kubernetes_provider.
Это также относится к GKE, но я считаю, что с небольшими изменениями его можно применить к EKS.

Попробуйте также проверить еще один хороший ответ на StackOverflow, связанный с вашим вопросом.
Вкратце, решение состоит в том, чтобы создать кластер Kubernetes на первом этапе, а затем создать объекты Kubernetes на втором этапе.

...