Terraform kubernetes provider



我目前正在学习hashicorp的地形教程。我有一个K8S集群,我可以从我的机器访问它(~/.kube/config(。

我试着用创建一个小的tf文件

provider "kubernetes" {}

但当我运行时

terraform apply

我收到这个错误

Error: Error applying plan:
1 error(s) occurred:
* kubernetes_pod.nginx: 1 error(s) occurred:
* kubernetes_pod.nginx: Post "http://localhost/api/v1/namespaces/default/pods": dial tcp 127.0.0.1:80: connect: connection refused

我还试图指定我的k8s配置的路径

load_config_file = "true"
config_path = "~/.kube/config"

但我有同样的问题

我还想通过指定证书进行连接:

provider "kubernetes" {
host = "https://104.196.242.174"
client_certificate     = file("~/.kube/client-cert.pem")
client_key             = file("~/.kube/client-key.pem")
cluster_ca_certificate = file("~/.kube/cluster-ca-cert.pem")
load_config_file = false # when you wish not to load the local config file
}

但我找不到如何从.kube/config或直接使用kubectl生成这些证书。

从错误日志中,我可以看到问题似乎是您的集群无法访问:dial tcp 127.0.0.1:80: connect: connection refused
可能是因为

  • 您没有在提供程序配置中指定主机参数(请参阅此处(,这是一个合理的假设,因为在您给出的第二个示例中,您的集群位于104.196.242.174,而不是127.0.0.1
  • 有一些网络问题阻止您访问集群(如果您可以通过kubectl正确地发出命令,则情况可能并非如此(

关于证书身份验证,我想这取决于集群的构建/配置方式。关于最后一个问题,我会从下面的医生开始。

相关内容

  • 没有找到相关文章

最新更新