首页 文章

Ingress没有得到GKE和GCE的地址

提问于
浏览
3

创建入口时,不会生成任何地址,当从GKE仪表板查看时,它始终处于 Creating ingress 状态 . 描述入口并没有显示任何事件,我在GKE仪表板上看不到任何线索 .

有没有人有类似的问题或有关如何调试的任何建议?

我的deployment.yaml

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: mobile-gateway-ingress    
spec:
  backend:
    serviceName: mobile-gateway-service
    servicePort: 80
---
apiVersion: v1
kind: Service
metadata:
  name: mobile-gateway-service
spec:
  ports:
  - protocol: TCP
    port: 80
    targetPort: 8080
  selector:
    app: mobile-gateway
  type: NodePort
---
apiVersion: apps/v1 
kind: Deployment
metadata:
  name: mobile-gateway-deployment
  labels:
    app: mobile-gateway
spec:
  selector:
    matchLabels:
      app: mobile-gateway
  replicas: 2
  template:
    metadata:
      labels:
        app: mobile-gateway
    spec:
      containers:
      - name: mobile-gateway
        image: eu.gcr.io/my-project/mobile-gateway:latest
        ports:
          - containerPort: 8080

描述入口显示没有事件:

mobile-gateway ➤ kubectl describe ingress mobile-gateway-ingress                                                                                                                         git:master*
Name:             mobile-gateway-ingress
Namespace:        default
Address:
Default backend:  mobile-gateway-service:80 (10.4.1.3:8080,10.4.2.3:8080)
Rules:
  Host  Path  Backends
  ----  ----  --------
  *     *     mobile-gateway-service:80 (10.4.1.3:8080,10.4.2.3:8080)
Annotations:
  kubectl.kubernetes.io/last-applied-configuration:  {"apiVersion":"extensions/v1beta1","kind":"Ingress","metadata":{"annotations":{},"name":"mobile-gateway-ingress","namespace":"default"},"spec":{"backend":{"serviceName":"mobile-gateway-service","servicePort":80}}}

Events:  <none>
hello ➤

使用简单的LoadBalancer服务,可以获得IP地址 . 问题仅在于入口资源 .

2 回答

  • 5

    在这种情况下的问题是我在创建集群时没有包含插件 HttpLoadBalancing !我的错,但是肯定会有一个事件告诉我入口资源中的这个错误 .

    奇怪的是,当我创建一个新的群集来跟随教程cloud.google.com/kubernetes-engine/docs/tutorials/http-balancer使用默认插件包括 HttpLoadBalancing 时,我发现了同样的问题 . 也许我没等多久?无论如何,现在我已经加入了插件 .

  • 2

    要完成接受的答案,值得注意的是,可以在现有群集(来自Google控制台)上激活插件 .

    但是,它是 will restart 你的集群 with downtime (在我的情况下,它在几乎空的集群上花了几分钟) . 确保在您的情况下是可接受的,并进行测试 .

相关问题