【问题标题】:Kubernetes manifest on Azure for port 443Azure 上 443 端口的 Kubernetes 清单
【发布时间】:2018-07-23 14:25:02
【问题描述】:

在 Azure 上与 Kubernetes 清单作战。我有一个简单的 api 应用程序在端口 443 (https) 上运行。我只想在带有负载均衡器的 Kubernetes 集群中运行和复制这个应用程序 3 次。

Kubernetes 集群:

我的清单文件:

apiVersion: apps/v1beta1
kind: Deployment
metadata:
  name: apiApp
spec:
  replicas: 3
  template:
   metadata:
   labels:
   app: apiApp
spec:
  containers:
  - name: apiApp
    image: {image name on Registry}
    ports:
    - containerPort: 443
      hostPort: 443
---
apiVersion: v1
kind: Service
metadata:
  name: apiApp
spec:
  type: LoadBalancer
  ports:
  - name: https
    port: 443
    targetPort: 443
  selector:
    app: apiApp

在上面的清单中,负载均衡器似乎没有在容器内的端口 443 上找到应用程序。

1) 如何创建此清单以将负载均衡器链接到容器的 443 端口,并在端口 443 上向外界公开负载均衡器。

2)多集群环境下的manifest会是什么样子(条件同上)

【问题讨论】:

    标签: azure docker kubernetes


    【解决方案1】:

    对于您的问题,我按照文档Deploy an Azure Kubernetes Service (AKS) cluster 使用负载均衡器进行了测试。

    这个例子只有一个 pod,所以我使用命令 kubectl scale --replicas=3 deployment/azure-vote-front 将 pod 放大到 3 个。关于 scales 和 Load Balancer 的 yaml 文件将如下面的屏幕截图所示。

    集群完成后,我可以通过 Web Browse 从 Internet 访问该服务。并且您可以使用命令az aks browse 进入 Kubernetes 仪表板以了解 Kubernetes 集群的概况。

    更新

    Azure Kubernetes 集群只是一个资源组,如下所示,负载均衡器也是如此:

    【讨论】:

    • 嗨,Charles,你说我可以简单地将本示例中的端口设置更改为端口 443。端口 443 是否与同一外部 IP 地址上的 kubernetes 集群中的主节点不冲突?
    • 你的开发只是node中的pod,pod通过host node上的端口访问互联网。架构是这样的:pod_port --> host_node_port --> loadbalancer --> Internet。
    • 感谢 Charles,将报告进度。关于负载均衡器在多集群环境中的外观的任何指针。
    • @user3385105 嗯,Kubernets 集群作为 Azure 中的一个资源组,我将用集群的截图更新答案,所以你可以看到负载均衡器也只是一个负载均衡器资源组为 common。
    • @user3385105 如果答案有帮助或需要更多帮助,请告诉我。
    猜你喜欢
    • 2018-10-11
    • 2019-02-02
    • 2017-05-07
    • 2011-02-25
    • 1970-01-01
    • 2019-02-19
    • 2021-04-06
    • 2019-11-12
    • 2018-12-22
    相关资源
    最近更新 更多