GKE入口Https重定向-无法识别FrontendConfig

GKE入口Https重定向-无法识别FrontendConfig,https,google-kubernetes-engine,gke-networking,Https,Google Kubernetes Engine,Gke Networking,我有一个带有Http和Https的GKE入口。我想将流量从端口80重定向到端口443。 我发现: 这让我们明白: 建议的解决方案添加了一个带有RedirectToHttps标志的FrontendConfig,该标志使用了一些LoadBalancer功能。但是,当我尝试添加FrontEndConfig时,出现以下错误: error: unable to recognize "ssl.yaml": no matches for kind "FrontendConfig

我有一个带有Http和Https的GKE入口。我想将流量从端口80重定向到端口443。 我发现: 这让我们明白:

建议的解决方案添加了一个带有RedirectToHttps标志的FrontendConfig,该标志使用了一些LoadBalancer功能。但是,当我尝试添加FrontEndConfig时,出现以下错误:

error: unable to recognize "ssl.yaml": no matches for kind "FrontendConfig" in version "networking.gke.io/v1beta1"
我还尝试了“networking.gke.io/v1”和“v1beta2”。 我的专区提供的最新GKE版本是1.17.13-GKE.2001。我最近发布了集群,所以虽然我不知道如何检查GKE版本,但我认为它是在最新版本上运行的

有人知道为什么我的库贝特不认识这种人吗


入口yaml:

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: basic-ingress
  annotations:
    FrontendConfig: my-frontend-config
    kubernetes.io/ingress.global-static-ip-name: 'web-static-ip'
    networking.gke.io/managed-certificates: mycertificate
    # kubernetes.io/ingress.allow-http: "false"
spec:
  rules:
  - http:
      paths:
      - path: /*
        backend:
          serviceName: frontend
          servicePort: 80
      - path: /api/*
        backend:
          serviceName: backend
          servicePort: 80
重定向yaml:

apiVersion: networking.gke.io/v1beta1
kind: FrontendConfig
metadata:
  name: my-frontend-config
spec:
  redirectToHttps:
    enabled: true

谢谢你给我指明了正确的方向

我必须按照Koopakiller先生的指示升级集群,并且还更改了注释:

FrontendConfig: my-frontend-config
致:

成功了

另外:确保您有:

kubernetes.io/ingress.allow-http: "true" 

我在GKE 1.17.13-GKE.2600中进行了测试,它可以运行。使用
kubectl version
检查服务器版本,查找
server version
。另外,您使用的区域是什么?谢谢验证。事实证明,我确实在GKE 1.16.13-GKE.401上运行。请更新您的群集版本do 1.17.13+,以便在后端和前端配置中使用此自定义CRD。更新后让我知道它是否对您有效。只是更新了服务器,我确实可以创建前端配置。但是重定向似乎不起作用。我还将前端配置添加到入口,所以这不是问题所在。你知道这是什么原因吗?
kubernetes.io/ingress.allow-http: "true"