tke-bridge-agent 会为节点生成 tke-bridge 配置 ,该配置组合了 bridge 和 host-local 插件。
- 设置节点
net.bridge.bridge-nf-call-iptables=1
- 依据节点
.spec.podCIDR
字段生成 tke-bridge CNI配置。 - 在节点
.spec.podCIDR
字段变化时重新生成 tke-bridge CNI配置。
tke-bridge-agent 通过 daemonset 部署
kubectl create -f https://raw.githubusercontent.com/qyzhaoxun/tke-bridge-agent/master/deploy/v0.0.4/tke-bridge-agent.yaml
注意:Kubelet 网络插件需要设置为 cni (--network-plugin=cni
,--cni-config-dir=/etc/cni/net.d
--cni-bin-dir=/opt/cni/bin
)
- golang 1.10
make
默认执行make build
会构建 Linux 平台二进制文件。make docker-build
使用 docker 构建 Linux 平台二进制文件。make docker
会构建tke-bridge-agent
镜像,镜像 tag 取自git describe --tags --always --dirty
。make push
会推送tke-bridge-agent
镜像,镜像 tag 取自git describe --tags --always --dirty
。
--mtu
含义:显示指定 MTU 大小。
默认:0,节点已有网卡 MTU 最小值。
变更风险:不会影响已有网卡。
示例:--mtu=1500
。
--add-rule
含义:是否添加策略路由 (from all to <subnet> lookup main pref 1024
)。
默认:添加。
变更风险:如果节点运行了 tke-route-eni 类型 Pod,可能会导致 tke-route-eni 类型 Pod 和 tke-bridge 类型 Pod 互访失败。
示例:--add-rule
。
--cni-conf-dir
含义:指定生成 tke-bridge.conf 配置路径。
默认:Pod/host/etc/cni/net.d/multus
路径,对应节点/etc/cni/net.d/multus
。
变更风险:确保能被加载到。
示例:--cni-conf-dir=/host/etc/cni/net.d/multus
。