kubernetes - Kubernetes (AKS):将不同服务的多个端口暴露给公共负载均衡器
问题描述
我正在 Azure 上设置 Kubernetes 集群(使用 AKS)来托管 Elasticsearch、Kibana、自定义 api、UI、nginx 等。
由于我不想为每个服务单独的公共 IP,我需要一种方法来设置一个公共负载均衡器/入口,然后只需将端口号添加到那里并设置路由。
我尝试使用这个 stackoverflow 问题中提到的方法 -如何在 kubernetes 中使用负载均衡器服务公开多个端口,但没有成功。
由于有技术客户端连接到我的集群,我需要为每种技术提供服务。
基本上我需要公开 9200、5601、80 - 都在同一个 IP 上,但是在使用端口访问 IP 时,必须将用户重定向到适当的技术服务。
以下是正在寻找的示例配置。
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: myingress
spec:
rules:
- host: myurl.domain.com
http:
paths:
- path: /
backend:
serviceName: elasticsearch
servicePort: 9200
- path: /
backend:
serviceName: kibana
servicePort: 5602
有什么想法吗?
解决方案
对于您的问题,入口就是您想要的。您可以根据需要创建所有服务。并为您的服务公开端口。然后使用公共 IP 创建入口,并创建将访问从入口路由到后端服务的入口路由。
查看在Azure Kubernetes 服务 (AKS) 中创建入口控制器中的示例。它将向您展示需要完成的步骤。如果您有更多问题,请告诉我。
推荐阅读
- mips - MIPS FPU 编程 - 操作数类型不正确
- python - 字典列表
- git - Git:如何删除已删除的忽略文件?
- java - Java中的Android Studio Code接受用户输入和显示输出
- javascript - setTimeout() 倒计时不工作 Discord JS
- php - 无法修改主机上的标头信息错误
- powershell - 在一行中交换字符串顺序或在powershell中交换行顺序
- extjs - 如何将已定义的功能添加到另一个控制器
- reactjs - 基于从 React Hooks 中的第一个选择和动态输入中选择的错误选择
- css - 意外使用低性能转换属性(高度)