Azure外部负载平衡器和Kubernetes群集
我必须手动在MS Azure中创建Kubernetes群集,而不是使用AKS。因此:Azure外部负载平衡器和Kubernetes群集,azure,kubernetes,load-balancing,azure-load-balancer,Azure,Kubernetes,Load Balancing,Azure Load Balancer,我必须手动在MS Azure中创建Kubernetes群集,而不是使用AKS。因此: 我在一个可用性集中创建了两个虚拟机:一个用于k8s主机,另一个用于k8s节点 我已经创建了外部负载平衡器,并向后端池添加了2个VM 我用kubespray创建了k8s集群 我已创建部署和负载平衡器服务: apiVersion: apps/v1beta1 kind: Deployment metadata: name: wrapper spec: replicas: 2 template: m
apiVersion: apps/v1beta1
kind: Deployment
metadata:
name: wrapper
spec:
replicas: 2
template:
metadata:
labels:
app: wrapper
spec:
containers:
- name: wrapper
image: wrapper:latest
ports:
- containerPort: 8080
name: wrapper
---
apiVersion: v1
kind: Service
metadata:
name: wrapper
spec:
loadBalancerIP: <azure_loadbalancer_public_ip>
type: LoadBalancer
ports:
- port: 8080
selector:
app: wrapper
apiVersion:apps/v1beta1
种类:部署
元数据:
名称:包装器
规格:
副本:2份
模板:
元数据:
标签:
应用程序:包装器
规格:
容器:
-名称:包装器
图片:包装器:最新
端口:
-集装箱港口:8080
名称:包装器
---
版本:v1
种类:服务
元数据:
名称:包装器
规格:
负载均衡器IP:
类型:负载平衡器
端口:
-端口:8080
选择器:
应用程序:包装器
kubectl get services
NAME TYPE CLUSTER-IP EXTERNAL-IP
wrapper LoadBalancer 10.233.38.7 <pending>
kubectl获取服务
名称类型CLUSTER-IP EXTERNAL-IP
包装机负载平衡器10.233.38.7
此外,telnet azure_loadbalancer_public_ip不工作。我尝试使用NodePort而不是LoadBalancer,但在这种情况下,我的服务在k8s master和k8s node上有两个端点
我想要的是一个入口点:azure\u loadbalancer\u public\u ip
,它平衡集群中所有节点之间的流量
请您帮助我了解我做错了什么,是否可以将Azure外部负载平衡器与Kubernetes中的负载平衡器服务“绑定”起来 您不必这样做,k8s(在正确配置的情况下)会为您处理。你所要做的就是赋予它在Azure中创建负载平衡器的适当权限。它基本上无法与Azure API对话来创建负载平衡器。你基本上需要:
--cloud provider=azure
到您的kube-apiserver
、kube-controller-manager
以及节点上运行的所有kubelets
如果您已经安装了K8s 1.12中的Beta版,则不需要这样做。请注意,
--cloudprovider
选项将在某个时候被弃用以支持此选项。服务外部IP始终处于挂起状态。此外,“kubectl描述服务包装器”未显示任何事件。