Ingress无法在GKE和GCE上获得地址

时间:2018-07-07 14:03:48

标签: kubernetes google-cloud-platform google-kubernetes-engine

创建入口时,不会生成任何地址,并且从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 个答案:

答案 0 :(得分:6)

在这种情况下,问题是在创建集群时我没有包含插件B dtor\nA dtor\n! 我的错,但在事件中将事件通知我入口资源中的这个错误本来就很荒谬。

奇怪的是,当我创建一个新集群以遵循教程cloud.google.com/kubernetes-engine/docs/tutorials/http-balancer时,使用包括HttpLoadBalancing在内的默认插件,我发现了相同的问题。也许我没有等很久?无论如何,现在我已经包含插件了。

答案 1 :(得分:2)

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

但是,它会将重启群集,并且会宕机(在我的情况下,几乎是空的群集花了几分钟的时间)。确保在您的情况下可以接受并进行测试。