问题标签 [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.
terraform - 从通过 terraform kubernetes manifest 创建的服务获取外部 IP
您好我正在尝试获取服务的外部 IP。我可以在 azure 控制台中看到 externalIp,但数据对象不包含它。
由于入口已经存在并且有一个 IP(来自之前的 tf apply)。在这一点上,我不认为这是因为尚未在 Azure 中配置负载均衡器。我再次可以在仪表板上看到它。
如果我打印完整的对象。它看起来像这样。
编辑:
kubectl 的状态描述:
编辑2:
为了测试,我手动获取服务数据。
terraform - gke impersonal_service_account 不工作
我正在尝试使用 terraform 部署 k8s 集群。部署 k8s 集群成功,但是当 terraform 尝试运行配置的 pod 安全策略部分时,它会返回如下错误
ServiceAccountID
我通过上面显示的错误知道正在使用的服务帐户。但是,我创建了另一个有权创建 pod 安全策略和任何其他 k8s 资源的服务帐户。我正在尝试将新创建的服务帐户与块的权限impersonate_service_account
一起使用module gke
。
这似乎没有使用我要求它模拟的服务帐户,而是继续使用上述错误中返回的服务帐户。
注意:我使用的是 terraform kubernetes 引擎模块,如此处所示
kubernetes - 使用 Terraform 创建 ClusterRoleBinding 时出错
当我应用我的 terraform 配置时出现此错误,我不确定为什么会发生这种情况。
集群角色绑定
terraform - 如何将 CRD 从 github 应用到具有 terraform 的集群?
我想用 terraform 安装 CRD,我希望这样做会很容易:
但我得到这个错误:
尝试将其转换为 yamlyamldecode
也不起作用,因为yamldecode
不支持多文档 yaml 文件。
我可以使用 exec,但在等待kubernetes_manifest
资源释放时我已经这样做了。kubernetes_manifest
仅支持单个资源还是可以用于从原始文本清单文件创建多个资源?
terraform - Terraform 应用失败,因为 kubernetes 提供程序作为没有权限的用户“客户端”运行
介绍
我遇到了 Terraform 中的 Kubernetes 提供程序的问题。当我用我的本地配置它时~/.kube/config
,它可以工作。但是,当我尝试使用集群创建模块的输出对其进行配置时,它神秘地尝试充当名为“client”的用户,该用户在集群中没有权限,但terraform plan
失败了。
我的代码(集群创建的输出)
什么有效
什么不起作用
错误
我无法弄清楚这个名为“client”的用户的设置位置。我可以通过使用--as client
kubectl 中的参数运行命令来复制错误。(如果我省略这个参数,同样的命令也会起作用。)
我的印象是不应该涉及“命名”用户,因为我正在使用基于证书的身份验证。但不知何故,用户名正在进入 Kubernetes 提供商使用的命令中。
我很感激任何建议!
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 中的规则之间的区别。想法?
terraform - 重新使用 terraform.tfvars 中的值
我在 terraform.tfvars 中使用以下值定义了变量
我想在同一个 terraform.tfvars 的出口规则中添加相同的 oke_vcn_cidr 变量值,而不是再次硬编码。
目前,我给目的地的值与下面相同。
如何获取此变量 oke_vcn_cidr的值 并将其替换为 terraform.tfvars 中的目标值
任何帮助,将不胜感激。
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 。有什么方法可以让提供程序配置等待本地文件被创建?
kubernetes - 有什么方法可以为通过 Rancher2 Terraform 提供程序启动的 RKE 集群 API 服务器使用自定义 SSL 证书?
我正在通过Rancher Terraform Provider启动 Kubernetes 集群。在资源配置中有 rke_config,但不幸的是,似乎没有任何方法可以像RKE Terraform 提供者那样定义自定义证书。Rancher 有一些关于如何使用自定义证书的文档,但它们都使用 CLI 而不是 Web 界面或 Terraform。我的主要目标是添加证书,以便为集群授权端点使用 FQDN,它允许 kubectl 直接访问集群,而不是通过 Rancher 代理。
terraform - Terraform - 在循环中的模块之间创建和传递文件
我的 TF 脚本正在创建 k8s 资源并基于template_file
.
然后我想将其传递给另一个模块(使用 GitLab 提供程序 - 将它们保存为 GitLab 变量)。
到目前为止,我只创建了一个 kubconfig,而且方法非常简单:
然后传递给 GitLab 模块:
并用作:
但是如何为多个文件实现相同的效果?
我看到这count
也适用于数据,所以我可以定义:
但随后output
不支持count
,并且我的“花式”强制循环解决方法似乎不起作用:
你知道如何处理这样一个话题吗?