rad*_*led 7 kubernetes terraform
我正在尝试进行一个简单的测试,从terraform在kubernetes上构建一个简单的nginx.这是第一次使用terraform.
这是基本的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
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
运行terraform apply后,我收到以下错误.
错误:应用计划时出错:
发生1个错误:
kubernetes_pod.nginx:发生了1个错误:
kubernetes_pod.nginx:服务器要求客户端提供凭据(post pods)
Terraform在面对错误时不会自动回滚.相反,您的Terraform状态文件已使用已成功完成的任何资源进行部分更新.请解决上述错误并再次应用以逐步更改您的基础架构.
我对kubernetes拥有管理员权限,一切正常.但由于某种原因,我收到了这个错误.
我做错了什么?
谢谢
关于@ matthew-l-daniel问题
当我只使用用户名/密码时,我收到此错误:
错误:应用计划时出错:
发生1个错误:
kubernetes_pod.nginx:发生了1个错误:
kubernetes_pod.nginx:发布https://xxx.xxx.xxx.xxx:8443/api/v1/namespaces/default/pods:x509:由未知权威机构签署的证书
Terraform在面对错误时不会自动回滚.相反,您的Terraform状态文件已使用已成功完成的任何资源进行部分更新.请解决上述错误并再次应用以逐步更改您的基础架构.
我尝试使用服务器名称或服务器IP,每次都得到相同的错误.
使用证书时,我收到了原始帖子中的错误,关于"凭据"
我忘了提到这是一个openshift安装.我不相信它最终会产生任何影响,但我想我应该提一下.
解决方案相当简单,我使用的是 terraform 上 openshift 的主 crt 和密钥。然后我使用 admin crt 和 openshift 的密钥对其进行了测试,它起作用了。
归档时间: |
|
查看次数: |
476 次 |
最近记录: |