[英]Connecting External Service to GCP GKE Kubernetes Cluster with Google's External HTTP(S) Load Balancer
我正在尝试将外部 webflow 页面连接到 GCP GKE 上的 kubernetes 集群入口。 具体来说,我希望www.domain.com上的所有内容都转到外部 webflow 服务,而www.domain.com/app上的所有内容都转到我们集群中的本地服务。
我已经看到这个问题Ingress Nginx Proxy to Outside Website (Webflow 托管)并遵循了它,但我无法让它工作。 我不断收到错误Translation failed: invalid ingress spec: service "default/external-service" is type "ExternalName", expected "NodePort" or "LoadBalancer"; service "default/external-service" is type "ExternalName", expected "NodePort" or "LoadBalancer"
Translation failed: invalid ingress spec: service "default/external-service" is type "ExternalName", expected "NodePort" or "LoadBalancer"; service "default/external-service" is type "ExternalName", expected "NodePort" or "LoadBalancer"
这是我的设置
对外服务:
apiVersion: v1
kind: Service
metadata:
name: external-service
namespace: default
spec:
externalName: participant-homepage-9f8712.webflow.io
ports:
- port: 443
protocol: TCP
targetPort: 443
sessionAffinity: None
type: ExternalName
status:
loadBalancer: {}
入口:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
ingress.gcp.kubernetes.io/pre-shared-cert: _,
ingress.kubernetes.io/backends: _,
ingress.kubernetes.io/forwarding-rule: _,
ingress.kubernetes.io/https-forwarding-rule: _,
ingress.kubernetes.io/https-target-proxy: _,
ingress.kubernetes.io/preserve-host: "false"
ingress.kubernetes.io/secure-backends: "true"
ingress.kubernetes.io/ssl-cert: _,
ingress.kubernetes.io/static-ip: _,
ingress.kubernetes.io/target-proxy: _,
ingress.kubernetes.io/url-map: _,
networking.gke.io/managed-certificates: _,
nginx.ingress.kubernetes.io/backend-protocol: HTTPS
nginx.ingress.kubernetes.io/server-snippet: |
proxy_ssl_name participant-homepage-9f8712.webflow.io;
proxy_ssl_server_name on;
nginx.ingress.kubernetes.io/upstream-vhost: participant-homepage-9f8712.webflow.io
name: my-ingress
namespace: default
spec:
backend:
serviceName: external-service
servicePort: 443
rules:
- host: www.honeybeehub.xyz
http:
paths:
- backend:
serviceName: app-service
servicePort: 80
path: /app/*
pathType: ImplementationSpecific
- backend:
serviceName: external-service
servicePort: 443
path: /*
pathType: ImplementationSpecific
status:
loadBalancer:
ingress:
- ip: _._._._
任何帮助将不胜感激。 谢谢!
您引用Ingress Nginx 代理到外部网站(Webflow 托管)的问题的步骤不起作用的原因是因为该问题侧重于 EKS(Amazon Elastic Kubernetes Service)。 GCE Ingress 不支持 ExternalName 服务,您可以在以下问题中看到。 我可以向您推荐的是将其作为功能请求发布在Google 的问题跟踪器上
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.