【发布时间】:2021-12-16 04:40:54
【问题描述】:
我正在尝试将 terraform 连接到 Kubernetes 集群,但 Terraform 上的文档并不清楚我应该使用哪些客户端证书进行 TLS 连接。由于我对 Kubernetes 和 Terraform 都是新手,所以我无法弄清楚:
provider "kubernetes" {
host = "https://xxx.xxx.xxx.xxx"
client_certificate = "${file("~/.kube/client-cert.pem")}"
client_key = "${file("~/.kube/client-key.pem")}"
cluster_ca_certificate = "${file("~/.kube/cluster-ca-cert.pem")}"
}
在 /etc/kubernetes/pki 中有多个证书和密钥(front-proxy-client、api-server-client、api-server-kubelet-client),我应该使用哪一个来允许 terraform连接到我的集群?
编辑:这里是kubernetes版本(kubectl版本的输出)
Client Version: version.Info{Major:"1", Minor:"22", GitVersion:"v1.22.1", GitCommit:"632ed300f2c34f6d6d15ca4cef3d3c7073412212", GitTreeState:"clean", BuildDate:"2021-08-19T15:45:37Z", GoVersion:"go1.16.7", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"22", GitVersion:"v1.22.3", GitCommit:"c92036820499fedefec0f847e2054d824aea6cd1", GitTreeState:"clean", BuildDate:"2021-10-27T18:35:25Z", GoVersion:"go1.16.9", Compiler:"gc", Platform:"linux/amd64"}
【问题讨论】:
-
您是如何设置集群的?您使用的是云提供商选项还是一些裸机?您使用的是哪个 Kubernetes 版本?
-
我用版本编辑了问题。我在 AWS EC2 实例(不是 EKS 服务)上部署 kubernetes。我遵循了使用 kubeadm init 设置集群的简单步骤。
-
集群工作正常,但我无法连接 Terraform,因为我一直没有收到来自集群端点的响应。我还仔细检查了入站规则,我允许所有 IP 的所有流量( ipv4 和 ipv6 )。
-
我正在自己的计算机上执行 terraform 脚本。它在任何意义上都没有加入集群,它既不是工作节点,也不是主节点。另外,我的计算机上没有安装 kubectl。我以为 Terraform 只会使用配置文件并使用集群上的工具。我可能需要在本地计算机上安装 kubectl 吗?
标签: ssl kubernetes terraform