Amazon ec2 Kubernetes使用负载均衡器公开入口资源(API对象)?

Amazon ec2 Kubernetes使用负载均衡器公开入口资源(API对象)?,amazon-ec2,kubernetes,nginx-reverse-proxy,kubernetes-ingress,Amazon Ec2,Kubernetes,Nginx Reverse Proxy,Kubernetes Ingress,我在AmazonEWS上有一个kubernetes集群,我打算在该集群上运行多个应用程序 我有多个服务组成一个这样的应用程序,我想使用amazon负载平衡器(elb)将它们公开到internet上。我想使用ELB,因为我不想直接使用端口80,因为许多应用程序共享这个端口,我希望它们中的每一个都独立于其他应用程序定义其入口资源 我读到库伯内特斯入口资源,认为这正是我要寻找的。然而,我并没有设法通过负载平衡器的服务公开它。现在,当我阅读文档时,服务旨在公开POD,但入口是: 一种API对象,用于管理

我在AmazonEWS上有一个kubernetes集群,我打算在该集群上运行多个应用程序

我有多个服务组成一个这样的应用程序,我想使用amazon负载平衡器(elb)将它们公开到internet上。我想使用ELB,因为我不想直接使用端口80,因为许多应用程序共享这个端口,我希望它们中的每一个都独立于其他应用程序定义其入口资源

我读到库伯内特斯入口资源,认为这正是我要寻找的。然而,我并没有设法通过负载平衡器的服务公开它。现在,当我阅读文档时,服务旨在公开POD,但入口是:

一种API对象,用于管理对群集中服务(通常为HTTP)的外部访问

我试图做的事情是可能的还是我没有掌握一些概念,试图做一些不可能或错误的事情


我的代码:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: ingress
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /
  labels:
    id: ingress
spec:
  rules:
  - http:
      paths:
      - path: /api/devices
        backend:
          serviceName: device-management
          servicePort: 3001
      - path: /api/datasources
        backend:
          serviceName: data-acquisition
          servicePort: 3001
      - path: /auth,/account,/api/tenants,/api/users
        backend:
          serviceName: device-management
          servicePort: 3001
## TODO: Find out how to add subdomain entry for auth.domain and s3.domain 
---
apiVersion: v1
kind: Service
metadata:
  name: ingress
  labels:
    id: ingress
spec:
  type: LoadBalancer
  ports:
  - name: http
    port: 80
    targetPort: 80
  - name: https
    port: 443
    targetPort: 443
  selector:
    id: ingress 
kubectl描述服务入口的输出包含

端点:无


问题是我没有安装入口控制器。文件规定:

您需要一个入口控制器来满足入口,简单地创建资源将没有效果

ingress controller创建一个nginx pod和一个服务(负载平衡器),然后该服务将实现所有ingress资源中描述的规则。提供了有关如何在不同平台上安装的详细信息


入口控制器将替换我上面描述的服务,并实现集群中描述的所有入口资源。

我已成功应用了您提供的配置。未检测到任何问题。这看起来像是一个环境问题。这是什么样的安装?是否使用--cloud--provider和--cloud config?勘误表使用KOP创建集群。正确的参数:--cloud provider和--cloud config