我正在尝试做一个简单的测试,以从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/