在单个 AKS 中托管多个 .Net Core 网站

Host multiple .Net Core websites in a single AKS

我能够在本地 docker windows 上设置一个 docker-compose 脚本来 运行 多个 .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 or HTTP(s) Application Routing 托管多个容器。

是否可以在单个 AKS 中 运行 多个容器(使用 port:80)并使用不同的端口号公开访问?

是的,确实如此。我建议您开始阅读 Ingress Controllers。有基础教程here。这准确描述了您在端口 80 上有多个 pods 运行 并公开 API 的场景。

或者,如果你没问题 运行 它们在不同的端口上,使用 Kubernetes 服务更容易 (with Azure Load Balancer)。

是的,您只需配置一个 Ingress Controller 即可。与@silent 所说的相反,我建议您考虑使用 Azure 应用程序网关作为 AKS 集群的入口控制器。请查看 this article,了解如何快速轻松地配置它。希望对你有帮助。