美文网首页
部署 metallb 裸金属负载均衡

部署 metallb 裸金属负载均衡

作者: akka9 | 来源:发表于2019-03-14 12:07 被阅读0次

kubernetes 在裸金属环境部署的时候,可以利用 metallb 创建负载均衡服务,
这样外部可以通过 ingress 的LoadBalance 模式访问集群的容器服务。
注意: metallb 不会持久化分配的地址,不推荐用在线上环境。

wget https://raw.githubusercontent.com/google/metallb/v0.8.1/manifests/metallb.yaml



cat <<EOF | tee metallb-conf.yaml
apiVersion: v1
kind: ConfigMap
metadata:
  namespace: metallb-system
  name: config
data:
  config: |
    address-pools:
    - name: default
      protocol: layer2
      addresses:
      - 10.10.6.240-10.10.6.250
      - 10.10.7.240-10.10.7.250
EOF

kubectl apply -f  metallb.yaml

kubectl get pods -n metallb-system  -o wide

kubectl apply -f metallb-conf.yaml

说明:
metallb 有两种运行模式: layer2 和 bgp。
bgp 配合 anycast 很强大,不过需要物理或是虚拟的路由器修改相应的配置。
layer2 则不需要任何网络设备的配置修改,只需要虚地址绑定到相同 VLAN 的节点上。

故障排查:arping -I eth0 -s 10.10.7.242 10.10.7.254

# vlan 选择
cat <<EOF | tee metallb-conf2.yaml
apiVersion: v1
kind: ConfigMap
metadata:
  namespace: metallb-system
  name: config
data:
  config: |
    address-pools:
    - name: default
      protocol: layer2
      addresses:
      - 10.10.6.240-10.10.6.250
    node-selectors:
    - match-labels:
        vlan: vlan6
    address-pools:
    - name: default
      protocol: layer2
      addresses:
      - 10.10.7.240-10.10.6.250
    node-selectors:
    - match-labels:
        vlan: vlan7

EOF

kubectl label nodes <node-name> vlan=vlan7
kubectl label nodes <node-name> vlan=vlan6

相关文章

网友评论

      本文标题:部署 metallb 裸金属负载均衡

      本文链接:https://www.haomeiwen.com/subject/vwgfmqtx.html