我正在尝试做一个简单的测试,以从terraform的kubernetes上构建一个简单的nginx。
这是第一次工作的地形。

这是基本的terraform文件:

provider "kubernetes" {
  host = "https://xxx.xxx.xxx.xxx:8443"

  client_certificate     = "${file("~/.kube/master.server.crt")}"
  client_key             = "${file("~/.kube/master.server.key")}"
  cluster_ca_certificate = "${file("~/.kube/ca.crt")}"

  username = "xxxxxx"
  password = "xxxxxx"

}

resource "kubernetes_service" "nginx" {
  metadata {
    name = "nginx-example"
  }
  spec {
    selector {
      App = "${kubernetes_pod.nginx.metadata.0.labels.App}"
    }
    port {
      port = 80
      target_port = 80
    }

    type = "LoadBalancer"
  }
}

resource "kubernetes_pod" "nginx" {
  metadata {
    name = "nginx-example"
    labels {
      App = "nginx"
    }
  }

  spec {
    container {
      image = "nginx:1.7.8"
      name  = "example"

      port {
        container_port = 80
      }
    }
  }
}

运行Terraform Apply后出现以下错误。



我对kubernetes具有管理员权限,并且一切正常。
但是由于某种原因,我遇到了这个错误。

我做错了什么?

谢谢

关于@ matthew-l-daniel问题

当我仅使用用户名/密码时,出现此错误:



我尝试使用服务器名称或服务器ip,每次都遇到相同的错误。

使用证书时,我从原始帖子中得到了关于“凭证”的错误

我忘了提到这是openshift安装。我认为最终不会产生任何影响,但我想我应该提一下。

最佳答案

解决方案非常简单,我在terraform上使用了openshift的master crt和key。
然后,我使用了openshift的admin crt和key对其进行了测试,并且可以正常工作。

关于kubernetes - 从Terraform运行Kubernetes构建,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53454588/

10-16 05:39