Docker Google Cloud Kubernetes入口静态IP地址未反映,与设置不同

Docker Google Cloud Kubernetes入口静态IP地址未反映,与设置不同,docker,kubernetes,google-cloud-platform,google-kubernetes-engine,devops,Docker,Kubernetes,Google Cloud Platform,Google Kubernetes Engine,Devops,我正在尝试使用GKE在Google Cloud后端作为NodeJ和前端angular部署一个完整的web应用程序。然后为它启用SSL 我创建了一个全局IP地址,并在随后的列表中看到它: gcloud计算地址创建mathbux静态ip-全局 之后,我部署了后端和前端容器以及yaml文件 这里的问题是,入口控制器上反映的IP地址不知从何而来,与我刚才设置的静态IP地址不同 我遵循了如何在GKE上安装Nginx ingress安装程序的指导原则,具体如下: 以下是my ingress.yaml的一个片

我正在尝试使用GKE在Google Cloud后端作为NodeJ和前端angular部署一个完整的web应用程序。然后为它启用SSL

我创建了一个全局IP地址,并在随后的列表中看到它: gcloud计算地址创建mathbux静态ip-全局

之后,我部署了后端和前端容器以及yaml文件

这里的问题是,入口控制器上反映的IP地址不知从何而来,与我刚才设置的静态IP地址不同

我遵循了如何在GKE上安装Nginx ingress安装程序的指导原则,具体如下:

以下是my ingress.yaml的一个片段部分:

.... truncated . . .
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: mathbux-ingress-frontend
  namespace: default
  annotations:
    kubernetes.io/ingress.class: nginx
    kubernetes.io/ingress.global-static-ip-name: "mathbux-static-ip"
    networking.gke.io/managed-certificates: mathbux-ssl
    nginx.ingress.kubernetes.io/rewrite-target: /
下面是我的托管证书文件的一个片段,如Google文档中所示:

apiVersion: networking.gke.io/v1beta2
kind: ManagedCertificate
metadata:
  name: mathbux-ssl
spec:
  domains:
    - mathbux.com
    - www.mathbux.com
当我转到生成的IP地址时,整个应用程序可以完美地工作,并且只在以下情况下工作:

一,。IP地址不是我在ingress.yaml上创建和设置的特定静态全局IP地址


二,。SSL也分别失败。请注意,我已经将我的域名指向我手动创建的静态IP地址

您正在使用的注释-kubernetes.io/ingres.global-Static-IP-name-可用于默认的GKE-ingres,它本质上是一个google负载平衡器-请参阅此处的文档-

然而,您所做的是部署了ingress nginx,它是一个不同的ingress提供者,并通过kubernetes.io/ingress.class:nginx将您的ingress资源分配给它,这实际上使静态ip注释变得毫无意义

因此,您需要决定要使用哪个入口。如果您想使用GKE的负载平衡器,请删除ingress nginx并遵循我上面链接的默认GKE ingress文档


如果您想使用ingress nginx,您可以在这里找到它的文档,包括ssl配置-。

太棒了!虽然我仍然需要对配置进行大量更改,但您的回答和参考资料已经向我澄清了错误,并最终能够更好地理解这些服务中使用的注释。谢谢
apiVersion: networking.gke.io/v1beta2
kind: ManagedCertificate
metadata:
  name: mathbux-ssl
spec:
  domains:
    - mathbux.com
    - www.mathbux.com