k8s安装metallb-0.13.7

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

# 运行配置文件

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

# 运行文件

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
Last Updated: 12/29/2022, 1:56:19 PM