我能够设置一个docker-compose脚本来在本地docker窗口上运行多个.Net Core网站容器。我可以通过指定其他端口号来本地访问每个网站
version: '3'
services:
booking:
image: "local/booking:1.0"
ports:
- "7081:80"
engine:
image: "local/engine:1.0"
ports:
- "7082:80"
我尝试使用其他端口在AKS中运行容器,但失败了。我能够找到使用Basic Controller或HTTP(s) Application Routing来托管多个容器的唯一参考。
是否可以在单个AKS中运行多个容器(使用端口:80),并使用不同的端口号公开访问?
答案 0 :(得分:2)
是的,非常重要。我建议您开始阅读Ingress Controllers。有一个基础教程here。这恰好描述了您的方案,其中多个Pod运行在端口80上并公开了API。
或者,如果您可以在不同的端口上很好地运行它们,则可以使用Kubernetes Services(with Azure Load Balancer)更加轻松。
答案 1 :(得分:1)
是的,您只需配置一个Ingress Controller就可以做到。与@silent所说的相反,我建议您考虑使用Azure应用程序网关作为AKS群集的入口控制器。请查看this article,它向您说明了如何快速轻松地对其进行配置。希望对您有所帮助。