如何为在GKE上运行的kubernetes服务定义服务标签

问题描述

我正在创建一个Kubernetes集群来托管服务,并添加一个内部负载均衡器来在我的VM实例和kubernetes集群之间路由流量。我想将服务标签添加负载平衡器FrontEnd,以便可以使用dns名称而不是IP地址。但是我不知道用于添加服务标签的注释吗?我的terraform配置如下所示

在哪里可以找到支持的注释列表的任何想法

resource "kubernetes_manifest" "service_ilb" {
  provider = kubernetes-alpha

  manifest = {
    "apiVersion" = "v1"
    "kind"       = "Service"

    "Metadata" = {
      "name"      = "ilb-service"
      "namespace" = var.namespace

      "annotations" = {
        "cloud.google.com/load-balancer-type"                          = "Internal"
        "networking.gke.io/internal-load-balancer-allow-global-access" = "true"
        "networking.gke.io/internal-load-balancer-subnet"              = var.subnetwork
        # Does not work
        "networking.gke.io/internal-load-balancer-service-label"       = "my-dns-name" 
      }
      "labels" = {
        "app.kubernetes.io/component" = "rabbitmq-server"
        "app.kubernetes.io/name"      = "rabbitmq-instance"
      }
    }

    "spec" = {
      "type" = "LoadBalancer"

      "ports" = [
        {
          "name"       = "amqp-tls"
          "port"       = 5671
          "targetPort" = 5671
          "protocol"   = "TCP"
          "nodePort"   = 31212
        },{
          "name"       = "http"
          "port"       = 15672
          "targetPort" = 15672
          "protocol"   = "TCP"
          "nodePort"   = 32511
        },]

      "selector" = {
        "app.kubernetes.io/component" = "rabbitmq-server"
        "app.kubernetes.io/name"      = "rabbitmq-instance"
      }
    }
  }
  /*
  wait_for = {
    fields = {
      # Check an ingress has an IP
      "status.loadBalancer.ingress.0.ip" = "^(\\d+(\\.|$)){4}"
    }
  }
  */
}

预先感谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)