Я должен создать кластер Kubernetes в MS Azure вручную, не используя AKS.Итак:
- Я создал 2 ВМ в одном наборе доступности: одну для мастера k8s и вторую для узла k8s.
- Я создал балансировщик внешней нагрузки и добавил 2 виртуальные машины ввнутренний пул.
- Я создал кластер k8s с помощью kubespray.
Я создал службу развертывания и загрузки:
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
Но служба LoadBalancer External-IP всегда ожидает:
kubectl get services
NAME TYPE CLUSTER-IP EXTERNAL-IP
wrapper LoadBalancer 10.233.38.7 <pending>
Кроме того, telnet azure_loadbalancer_public_ip не работает.Я попытался использовать NodePort вместо LoadBalancer, но в этом случае у меня есть две конечные точки для моей службы на главном сервере k8s и на узле k8s.
Мне нужна одна точка входа: azure_loadbalancer_public_ip
, то естьбалансирует трафик между всеми узлами в кластере.
Не могли бы вы помочь мне понять, что я делаю неправильно, и можно ли "привязать" Azure External Load Balancer к сервису LoadBalancer в Kubernetes?