美文网首页
部署 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