繁体   English   中英

使用 Google 的外部 HTTP(S) 负载均衡器将外部服务连接到 GCP GKE Kubernetes 集群

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM