MetalLB 部署
目录
安装 MetalLB
Istio 的 Ingress Gateway 需要使用 Loadbalancer 类型的 service 暴露,因此需要部署 MetalLB。此处使用二层模式即可。
kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.13.12/config/manifests/metallb-native.yaml
kubectl -n metallb-system get po
NAME READY STATUS RESTARTS AGE
controller-6c75847d5b-7jznb 1/1 Running 0 100s
speaker-7dpsv 1/1 Running 0 100s
speaker-drg4m 1/1 Running 0 100s
speaker-rxqjb 1/1 Running 0 100s
创建 MetalLB IPPool(cluster1):
cat > ippool1.yaml <<EOF
apiVersion: metallb.io/v1beta1
kind: IPAddressPool
metadata:
name: pool1
namespace: metallb-system
spec:
addresses:
- 10.10.50.75-10.10.50.90
autoAssign: true
---
apiVersion: metallb.io/v1beta1
kind: L2Advertisement
metadata:
name: default
namespace: metallb-system
spec:
ipAddressPools:
- pool1
EOF
kubectl apply -f ippool1.yaml
创建 MetalLB IPPool(cluster2):
cat > ippool2.yaml <<EOF
apiVersion: metallb.io/v1beta1
kind: IPAddressPool
metadata:
name: pool2
namespace: metallb-system
spec:
addresses:
- 10.29.8.75-10.29.8.90
autoAssign: true
---
apiVersion: metallb.io/v1beta1
kind: L2Advertisement
metadata:
name: default
namespace: metallb-system
spec:
ipAddressPools:
- pool2
EOF
kubectl apply -f ippool2.yaml