问题标签 [terraform-provider-kubernetes]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
160 浏览

terraform - 从通过 terraform kubernetes manifest 创建的服务获取外部 IP

您好我正在尝试获取服务的外部 IP。我可以在 azure 控制台中看到 externalIp,但数据对象不包含它。

由于入口已经存在并且有一个 IP(来自之前的 tf apply)。在这一点上,我不认为这是因为尚未在 Azure 中配置负载均衡器。我再次可以在仪表板上看到它。

如果我打印完整的对象。它看起来像这样。

编辑:

kubectl 的状态描述:

编辑2:

为了测试,我手动获取服务数据。

0 投票
0 回答
40 浏览

terraform - gke impersonal_service_account 不工作

我正在尝试使用 terraform 部署 k8s 集群。部署 k8s 集群成功,但是当 terraform 尝试运行配置的 pod 安全策略部分时,它会返回如下错误

ServiceAccountID我通过上面显示的错误知道正在使用的服务帐户。但是,我创建了另一个有权创建 pod 安全策略和任何其他 k8s 资源的服务帐户。我正在尝试将新创建的服务帐户与块的权限impersonate_service_account一起使用module gke

这似乎没有使用我要求它模拟的服务帐户,而是继续使用上述错误中返回的服务帐户。

注意:我使用的是 terraform kubernetes 引擎模块,如此处所示

0 投票
0 回答
246 浏览

kubernetes - 使用 Terraform 创建 ClusterRoleBinding 时出错

当我应用我的 terraform 配置时出现此错误,我不确定为什么会发生这种情况。

集群角色绑定

0 投票
2 回答
730 浏览

terraform - 如何将 CRD 从 github 应用到具有 terraform 的集群?

我想用 terraform 安装 CRD,我希望这样做会很容易:

但我得到这个错误:

尝试将其转换为 yamlyamldecode也不起作用,因为yamldecode不支持多文档 yaml 文件。

我可以使用 exec,但在等待kubernetes_manifest资源释放时我已经这样做了。kubernetes_manifest仅支持单个资源还是可以用于从原始文本清单文件创建多个资源?

0 投票
0 回答
27 浏览

terraform - Terraform 应用失败,因为 kubernetes 提供程序作为没有权限的用户“客户端”运行

介绍

我遇到了 Terraform 中的 Kubernetes 提供程序的问题。当我用我的本地配置它时~/.kube/config,它可以工作。但是,当我尝试使用集群创建模块的输出对其进行配置时,它神秘地尝试充当名为“client”的用户,该用户在集群中没有权限,但terraform plan失败了。

我的代码(集群创建的输出)

什么有效

什么不起作用

错误

我无法弄清楚这个名为“client”的用户的设置位置。我可以通过使用--as clientkubectl 中的参数运行命令来复制错误。(如果我省略这个参数,同样的命令也会起作用。)

我的印象是不应该涉及“命名”用户,因为我正在使用基于证书的身份验证。但不知何故,用户名正在进入 Kubernetes 提供商使用的命令中。

我很感激任何建议!

0 投票
0 回答
151 浏览

kubernetes - kubernetes_ingress kubernetes v2.6.1 - 创建 Ingress 失败

我尝试在 terraform 上创建入口资源。我收到以下错误消息

错误:无法创建入口“jenkins/jenkins-ingress”,因为:服务器找不到请求的资源(发布 ingresses.extensions)││使用 kubernetes_ingress.jenkins-ingress,│在 main.tf 第 160 行,在资源“kubernetes_ingress”中““詹金斯入口”:│160:资源“kubernetes_ingress”“詹金斯入口”{

我的 terraform 资源如下所示:

如果我通过 yaml 创建入口,它可以工作:

令我印象深刻的是规则(参见kubernetes_ingress)与terraform 脚本和 yaml 中的规则之间的区别。想法?

0 投票
1 回答
58 浏览

terraform - 重新使用 terraform.tfvars 中的值

我在 terraform.tfvars 中使用以下值定义了变量

我想在同一个 terraform.tfvars 的出口规则中添加相同的 oke_vcn_cidr 变量值,而不是再次硬编码。

目前,我给目的地的值与下面相同。

如何获取此变量 oke_vcn_cidr的值 并将其替换为 terraform.tfvars 中的目标值

任何帮助,将不胜感激。

0 投票
3 回答
194 浏览

kubernetes - 如何使 Terraform 提供程序依赖于正在创建的资源

我正在尝试利用 Rancher Terraform 提供程序创建一个新的 RKE 集群,然后使用 Kubernetes 和 Helm Terraform 提供程序为创建的集群创建/部署资源。我正在使用此https://registry.terraform.io/providers/rancher/rancher2/latest/docs/resources/cluster_v2#kube_config属性来创建具有新集群的 kube 配置的本地文件。Helm 和 Kubernetes 提供者需要提供者配置中的 kube 配置:https ://registry.terraform.io/providers/hashicorp/kubernetes/latest/docs 。有什么方法可以让提供程序配置等待本地文件被创建?

0 投票
0 回答
8 浏览

kubernetes - 有什么方法可以为通过 Rancher2 Terraform 提供程序启动的 RKE 集群 API 服务器使用自定义 SSL 证书?

我正在通过Rancher Terraform Provider启动 Kubernetes 集群。在资源配置中有 rke_config,但不幸的是,似乎没有任何方法可以像RKE Terraform 提供者那样定义自定义证书。Rancher 有一些关于如何使用自定义证书的文档,但它们都使用 CLI 而不是 Web 界面或 Terraform。我的主要目标是添加证书,以便为集群授权端点使用 FQDN,它允许 kubectl 直接访问集群,而不是通过 Rancher 代理。

0 投票
1 回答
157 浏览

terraform - Terraform - 在循环中的模块之间创建和传递文件

我的 TF 脚本正在创建 k8s 资源并基于template_file.
然后我想将其传递给另一个模块(使用 GitLab 提供程序 - 将它们保存为 GitLab 变量)。

到目前为止,我只创建了一个 kubconfig,而且方法非常简单:

然后传递给 GitLab 模块:

并用作:

但是如何为多个文件实现相同的效果?

我看到这count也适用于数据,所以我可以定义:

但随后output不支持count,并且我的“花式”强制循环解决方法似乎不起作用:

你知道如何处理这样一个话题吗?