Nie*_*ijk 7 https google-kubernetes-engine gke-networking
我有一个同时包含 Http 和 Https 的 GKE 入口。我想将流量从端口 80 重定向到端口 443。我发现了这个:https: //github.com/kubernetes/ingress-gce/issues/1075 ,它让这个: https: //cloud.google.com/kubernetes -engine/docs/how-to/ingress-features#https_redirect。
建议的解决方案添加了一个带有 RedirectToHttps 标志的 FrontendConfig,该标志使用了一些 LoadBalancer 功能。然而,当我尝试添加 FrontendEndConfig 时,出现以下错误:
error: unable to recognize "ssl.yaml": no matches for kind "FrontendConfig" in version "networking.gke.io/v1beta1"
Run Code Online (Sandbox Code Playgroud)
我还尝试过“networking.gke.io/v1”和“v1beta2”。我的区域中可用的最新 GKE 版本是 1.17.13-gke.2001。我最近启动了集群,所以虽然我不知道如何检查 GKE 版本,但我认为它正在最新版本上运行。
有人知道为什么我的 kubectl 不识别这种类型吗?
入口 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
Run Code Online (Sandbox Code Playgroud)
重定向 yaml:
apiVersion: networking.gke.io/v1beta1
kind: FrontendConfig
metadata:
name: my-frontend-config
spec:
redirectToHttps:
enabled: true
Run Code Online (Sandbox Code Playgroud)
小智 13
感谢您为我指明了正确的方向!
我必须按照 MrKoopaKiller 的指示升级集群,并更改注释:
FrontendConfig: my-frontend-config
Run Code Online (Sandbox Code Playgroud)
到:
networking.gke.io/v1beta1.FrontendConfig: "my-frontend-config"
Run Code Online (Sandbox Code Playgroud)
成功了!
另外:确保您有:
kubernetes.io/ingress.allow-http: "true"
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5446 次 |
最近记录: |