在Azure上与Kubernetes战斗 . 我在端口 443 (https)
上运行了一个简单的api应用程序 . 我只想在带有负载均衡器的kubernetes集群中运行并复制此应用程序3次 .
Kubernetes cluster:
我的清单文件:
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
在上面的清单中,loadbalancer似乎没有在容器内的端口443上找到app .
1)如何创建此清单以将负载均衡器链接到容器的端口443,并将负载均衡器暴露给端口443上的外部世界 .
2)在多集群环境中表现如何(与上述条件相同)
1 回答
对于您的问题,我使用负载均衡器按照文档Deploy an Azure Kubernetes Service (AKS) cluster进行了测试 .
此示例只有一个pod,因此我使用命令
kubectl scale --replicas=3 deployment/azure-vote-front
将pod放大到3 . 关于scale和Load Balancer的yaml文件将如下面的屏幕截图所示 .群集完成后,我可以通过Web Browse从Internet访问该服务 . 您可以使用命令az aks browse进入Kubernets仪表板以获取Kubernets群集的概述 .
Update
Azure Kubernets群集只是一个资源组,如下所示,以及负载均衡器: