无法将静态IP连接到GKE上的Ingress

时间:2019-03-26 12:35:14

标签: google-cloud-platform kubernetes-ingress static-ip-address nginx-ingress

我正在尝试将我的入口连接到静态IP。我似乎正在关注所有教程,但仍然似乎无法将静态ip附加到入口。我的入口文件如下(将静态IP称为“ test-ip”)

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: ingress-web
  annotations:
    kubernetes.io/ingress.global-static-ip-name: "test-ip"
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/add-base-url: "true"
    nginx.ingress.kubernetes.io/ssl-redirect: "true"
spec:
  rules:
    - http:
        paths:
          - path: /api/
            backend:
              serviceName: api-cluster-ip-service
              servicePort: 5005
          - path: /
            backend:
              serviceName: web-cluster-ip-service
              servicePort: 80

但是,当我跑步

kubectl get ingress ingress-web

它返回

kubectl get ingress ingress-web
NAME          HOSTS     ADDRESS   PORTS     AGE
ingress-web   *                   80        4m

未提供地址。在VPC网络中[外部IP地址 ]静态ip在那里,它是全局的,但一直在说:没有人使用

 gcloud compute addresses describe test-ip --global

给予

address: 34.240.xx.xxx
creationTimestamp: '2019-03-26T00:34:26.086-07:00'
description: ''
id: '536303927960423409'
kind: compute#address
name: test-ip
networkTier: PREMIUM
selfLink: https://www.googleapis.com/compute/v1/projects/my-project- adbc8/global/addresses/test-ip
status: RESERVED

我在这里想念什么?

3 个答案:

答案 0 :(得分:3)

我已经花费了数小时试图找出问题所在。 简直就像是GKE的错误。

解决问题的是:

  1. 在没有静态ip的情况下启动入口
  2. 在VPC网络>外部IP地址下转到Web上的云控制台
  3. 等待Ingress ip出现
  4. 设置为静态,并为其命名
  5. 添加kubernetes.io/ingress.global-static-ip-name: <ip name>入口Yaml并apply对其进行添加。

答案 1 :(得分:0)

答案 2 :(得分:0)

我遇到了这个问题。我相信它已通过 this 拉取请求修复。

变化

data[data.train_mask]

kubernetes.io/ingress.global-static-ip-name

为我工作。