【问题标题】:kubernetes_ingress kubernetes v2.6.1 - Failed to create Ingresskubernetes_ingress kubernetes v2.6.1 - 创建入口失败
【发布时间】:2021-11-10 08:15:21
【问题描述】:

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

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

我的 terraform 资源如下所示:

resource "kubernetes_ingress" "jenkins-ingress" {
    metadata {
        name = "${var.name}-ingress"
        namespace = var.namespace
        annotations = {
            "ingress.kubernetes.io/rewrite-target" = "/"
            "kubernetes.io/ingress.class" = "nginx"
        }
    }
    spec {
        rule {
            host = "domain.com"
            http {
                path {
                    path = "/"
                    backend {
                        service_name = var.name
                        service_port = 8080
                    }
                }
            }
        }
   }
}

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

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: jenkins-ingress
  annotations:
    ingress.kubernetes.io/rewrite-target: /
    kubernetes.io/ingress.class: "nginx"
spec:
  rules:
  - host: domain.com
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: jenkins
            port:
              number: 8080

让我印象深刻的是 rule(参见kubernetes_ingress)和 rules 在 terraform 脚本和 yaml 中的区别。想法?

【问题讨论】:

    标签: kubernetes terraform-provider-kubernetes


    【解决方案1】:

    我遇到了同样的错误。

    尝试使用kubernetes_ingress_v1 代替kubernetes_ingress,后者使用networking.k8s.io/v1 代替networking.k8s.io/v1beta1

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-12-17
      • 2016-10-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-03
      • 2021-05-15
      • 1970-01-01
      相关资源
      最近更新 更多