当前位置: 首页 > 知识库问答 >
问题:

库伯内特斯公开入口资源(API对象)与负载均衡器?

欧阳嘉年
2023-03-14

我在amazon ews上有一个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描述服务入口的输出包含

endpoint:无

共有1个答案

上官凯歌
2023-03-14

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

您需要一个入口控制器来满足一个入口,简单地创建资源不会有任何影响。

入口控制器创建一个nginx pod和一个服务(负载均衡器),然后它们将实现所有入口资源中描述的规则。安装指南提供了有关如何在不同平台上安装它的更多信息。

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

 类似资料:
  • 在使用Google容器引擎时,人们会推荐GCP的本机负载平衡器还是Kubernetes服务type=负载平衡器选项? 人们推荐哪一种?

  • 我正在Kubernetes(GKE)中运行WebService后端应用程序。它仅由我们的前端Web应用程序使用。通常,来自同一用户(ClientIP)的请求有数十个序列。我的应用程序设置为运行至少2个实例(“minReplicas:2”)。 问题:从日志中我可以看到一个pod过载(接收许多请求)而另一个闲置的情况。两个吊舱都处于就绪状态。 我试图修复它:我试图添加一个自定义就绪状态检查,当有太多打

  • 我正在为多云开发一个新的“Kubernetes即服务”平台(如GKE等)。 问题是:K8S服务类型“LoadBalancer”与云负载平衡器(Kubernetes外部)配合使用。吉凯恩 我想在我的新“Kubernetes As a Service”平台上提供类似的功能,用户可以在该平台上选择云提供商,创建Kubernetes集群 在Kubernetes集群创建之前,我能够自动执行流程,但在“K8S

  • 我一直在尝试使用Terraform在AWS上创建一个具有自管理节点的EKS集群,但我无法让我的库伯内特斯入口创建负载均衡器。没有错误,但没有创建负载均衡器,它只是超时。 我确实首先在我的帐户中手动创建了一个负载均衡器,并验证了负载均衡器角色是否存在。当我的Terraform代码运行时,将访问策略。 我非常依赖本教程 TFVAR: 地形代码:

  • 我最近开始研究Kubernetes集群。在我们的集群中,对给定Kubernetes服务的网络调用流如下所示: 外部非K8S负载均衡器- 对于给定的服务,有两个副本。通过查看副本中容器的日志,我可以看到调用被路由到不同的pod。据我所知,我们还没有为Kubernetes中的服务明确设置任何负载平衡策略。 我有几个问题: 1)K8S是否有默认的负载平衡策略?我读过库贝-proxy和随机路由。它看起来绝

  • 什么是负载均衡器? 负载平衡改进了跨多个计算资源(如计算机、计算机群集、网络链路、中央处理器或磁盘驱动器)的工作负载分布 NodePort不是负载平衡器。(我知道一旦流量在集群内,kube proxy就会在pod之间进行负载平衡)我的意思是,最终用户点击http://NODEIP:30111(例如)访问应用程序的URL。即使POD之间的流量是负载平衡的,用户仍然会点击一个节点,即“节点”,它是K8