首页 文章

在Azure Kubernetes上为内部IP配置HTTPS

提问于
浏览
0

我使用acs-engine将一个Kubernetes集群部署到Azure上的自定义虚拟网络 . 在代理VM上运行了一个ASP.NET Core 2.0 Kestrel应用程序,该应用程序通过Azure内部负载均衡器类型的服务通过VPN访问 . 现在我想在服务上启用HTTPS . 我已经获得了域名和证书,但不知道如何继续 . 显然配置Kestrel使用HTTPS并将证书复制到每个容器是不可取的 .

我已经检查了ingress on k8s using acsconfigure Nginx Ingress Controller for TLS termination on k8s on Azure这样的教程,但是它们最终都暴露了公共外部IP,我希望保持IP内部而不能从互联网访问 . 这可能吗?可以在没有入口和控制器的情况下完成吗?

2 回答

  • 0

    虽然由于某种原因我仍然无法通过入口访问应用程序我能够使用以下配置创建具有我想要的IP的内部入口服务:

    apiVersion: v1
    kind: Service
    metadata:
      annotations:
          service.beta.kubernetes.io/azure-load-balancer-internal: "true"
      name: nginx-ingress-svc
    spec:
      type: LoadBalancer
      ports:
      - port: 443
        targetPort: 443
      loadBalancerIP: 130.10.1.9
      selector:
        k8s-app: nginx-ingress-controller
    
  • 1

    你链接的教程有点过时,至少说明你去了他们链接的GitHub仓库中的'examples'文件夹但是不存在 . 无论如何,一个普通的nginx入口控制器由几个部分组成:nginx部署,暴露它的服务和默认的支持部分 . 您需要查看他们要求您部署的yamls,查找我列出的第二部分 - 入口服务 - 并将类型从LoadBalancer更改为ClusterIP(或者完全删除类型,因为ClusterIP是默认值)

相关问题