首页 > 其他分享 >glb-director 部署

glb-director 部署

时间:2022-09-18 10:23:38浏览次数:90  
标签:部署 glb director xdp table forwarding root

源码下载:https://github.com/github/glb-director.git

2018年8月8日,GitHub 发布了开源负载均衡组件 GitHub Load Balancer Director (GLB) Director,GLB 是 GitHub 针对裸机数据中心的可扩展负载均衡解决方案,它支持大多数 GitHub 的对外服务,并且还为诸如高可用 MySQL 集群这样最为关键的内部系统提供负载均衡服务。

配置文件如下:

[root@junqiang glb-director]# cat /etc/glb/director.conf 
{
  "outbound_gateway_mac": "00:50:56:e3:57:e4", // 封装的目的MAC
  "outbound_src_ip": "192.168.220.105",        // 封装的源IP地址
  "forward_icmp_ping_responses": true,
  "num_worker_queues": 1,
  "flow_paths": [
    { "rx_port": 0, "rx_queue": 0, "tx_port": 0, "tx_queue": 0 }
  ]
}


[root@junqiang glb-director]# cat /etc/glb/forwarding_table.json 
{
    "tables": [
    {
        "name": "example1",
        "hash_key": "12345678901234561234567890123456",
        "seed": "34567890123456783456789012345678",
        "binds": [
            { "ip": "100.100.100.100", "proto": "tcp", "port": 80 } // VIP 地址和端口
        ],
        "backends": [
            { "ip": "192.168.220.102", "state": "active", "healthchecks": {"http": 80, "gue": 19523} }, // 后端地址
            { "ip": "192.168.220.103", "state": "active", "healthchecks": {"http": 80, "gue": 19523} }
        ]
    }
    ]
}

其中forwarding_table.json需要用glb-director-cli工具进行转换成forwarding_table.bin

glb-director-cli build-config /etc/glb/forwarding_table.json /etc/glb/forwarding_table.bin

需要启动两个进程:

# 指定那个接口跑xdp
./xdp-root-shim/xdp-root-shim bpf/tailcall.o /sys/fs/bpf/xdp_root_array@ens33 ens33

# 主要进程
./glb-director-xdp --xdp-root-path=/sys/fs/bpf/xdp_root_array@ens33 --pid-file=/run/glb-director-xdp.pid --config-file=/etc/glb/director.conf --forwarding-table=/etc/glb/forwarding_table.bin --bpf-program=bpf/glb_encap_trace.o

后端配置:

modprobe fou
ip fou add port 19523 gue
ip addr add 192.168.220.103/32 dev tunl0
# tunl0 接口将会进行解封装

 

抓包:

 

 

 

标签:部署,glb,director,xdp,table,forwarding,root
From: https://www.cnblogs.com/wangjq19920210/p/16704298.html

相关文章

  • ZLMediaKit + wvp-GB28181-pro windows部署
    1.在powershell中#国内用户推荐从同步镜像网站gitee下载gitclone--depth1https://gitee.com/xia-chu/ZLMediaKitcdZLMediaKit#千万不要忘记执行这句命令git......
  • Docker部署安装 windows
    Docker下载地https://www.docker.com/https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi   ......
  • 若依 微服务部署 Invalid bound statement (not found): com.ruoyi.system.mapper.Sys
     运行 ruoyi-auth和ruoyi-gateway都可以启动。但是,ruoyi-system不行报错:Causedby:org.springframework.beans.factory.BeanCreationException:Errorcreatingbeanw......
  • Docker 容器部署jenkins后忘记系统用户密码处理方案
    一、问题描述由于本地尝试使用docker部署jenkins来研究梳理工具的使用步骤,但隔了一段时间之后,重新拉起容器应用镜像,发现忘记了用户密码,无法登录系统。二、解决方案第......
  • redis集群部署文档
    1.部署的服务器ip地址172.16.0.151172.16.0.173172.16.0.2202.redis版本wgethttps://download.redis.io/releases/redis-6.2.5.tar.gz3.部署架......
  • kafka集群部署
    kafka集群1.部署的服务器ip地址 172.16.0.220 172.16.0.66 172.16.0.252.kafka版本 https://www.apache.org/dyn/closer.cgi?path=/kafka/3.2.0/kafka_2.13-3.2.0......
  • etcd集群部署文档
    1.部署的服务器ip地址172.16.0.151172.16.0.173172.16.0.2202.etcd版本 wgethttps://github.com/etcd-io/etcd/releases/download/v3.5.0/etcd-v3.5.0-li......
  • mongos集群部署
    mongos分片服务器https://blog.csdn.net/weixin_49724150/article/details/1217483651.部署的服务器ip地址172.16.0.151172.16.0.173172.16.0.2202.......
  • zookeeper集群部署
    1.部署的服务器ip地址172.16.0.151172.16.0.173172.16.0.2202.zookeeper版本wgethttps://mirrors.bfsu.edu.cn/apache/zookeeper/zookeeper-3.7.1/ap......
  • docker 启动失败 exec /start.sh: no such file or directory
    docker启动之后报错exec/start.sh:nosuchfileordirectory解决步骤:1、看看start.sh的权限。是否是可执行。2、看看start.sh的字符集......