k8s安装metallb-0.13.7
young 12/1/2022 metallb
# 下载配置文件
wget https://raw.githubusercontent.com/metallb/metallb/v0.13.7/config/manifests/metallb-native.yaml
1
# 修改kube-proxy
kubectl edit configmap -n kube-system kube-proxy
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
mode: "ipvs"
ipvs:
strictARP: true
1
2
3
4
5
6
7
2
3
4
5
6
7
# 运行配置文件
kubectl apply -f metallb-native.yaml
1
# IP池文件
vim ipaddress.yaml
apiVersion: metallb.io/v1beta1
kind: IPAddressPool
metadata:
name: ip-pool
namespace: metallb-system
spec:
addresses:
- 192.168.137.20-192.168.137.30 #机器同一个网段,不能是机器的IP会网络冲突
---
apiVersion: metallb.io/v1beta1
kind: L2Advertisement
metadata:
name: layer2
namespace: metallb-system
spec:
ipAddressPools:
- ip-pool
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 运行文件
kubectl apply -f ipaddress.yaml
1
# 验证,有EXTERNAL-IP代表成功了
[root@k8s-master dashboard]# kubectl get svc -n ingress-nginx
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
ingress-nginx-controller LoadBalancer 10.105.243.143 192.168.137.20 80:30147/TCP,443:31917/TCP 45h
ingress-nginx-controller-admission ClusterIP 10.109.237.68 <none> 443/TCP 45h
1
2
3
4
2
3
4