先开启kube-proxystrictARP模式:

kubectl edit configmap -n kube-system kube-proxy
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
mode: "ipvs"
ipvs:
  strictARP: true

再安装metallb:

#https://metallb.universe.tf/installation/
kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.12.1/manifests/namespace.yaml
kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.12.1/manifests/metallb.yaml

地址池配置:

apiVersion: v1
kind: ConfigMap
metadata:
  namespace: metallb-system
  name: config
data:
  config: |
    peers:
    - peer-address: 10.0.0.1
      peer-asn: 64501
      my-asn: 64500
    address-pools:
    - name: default
      protocol: bgp
      addresses:
      - 192.168.10.0/24

使用:

apiVersion: v1
kind: Service
metadata:
  name: gin-base-svc
  namespace: sre
spec:
  selector:
    name: gin-base
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8081
  type: LoadBalancer    #类型选择LoadBalancer

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

Captcha Code