Kubernetes 网络
简介
本文单介绍kubernetes常用的几重cni插件,并做对比。各个cni插件的详细介绍参见相关文档。
常用cni插件
CNI插件 | 开发者 | 简介 |
---|---|---|
Flannel | 3层的voerlay网络,支持VXLAN,host-gw模式 | |
Calico | Tigera | 基于BGP的纯三层的网络方案 |
各个cni插件对比
功能 | Flannel | Calico | Weave |
---|---|---|---|
cni配置
kubelet使用cni的流程如下: 1. cni的默认配置文件为: /etc/cni/net.d 目录下的*.conflist 文件 例如:使用bridge的网络插件配置
{
"cniVersion": "0.3.1"
"name": "my-br"
"plugins": [
"type": "bridge",
"bridge": "cni0",
"isDefaultGateway": true,
"forceAddress": false,
"ipMasq": true,
"hairpinMode": true,
"ipam": {
"type": "host-local",
"subnet": "10.0.138.0/27",
"routes": [
{
"dst": "0.0.0.0/0"
}]
}
}]
}
-
cni的默认插件存放在:/opt/cni/bin目录下;
-
kubelet在使用插件时主要有3个参数配置:
--network-plugin=cni --cni-conf-dir=/etc/cni/net.d --cni-bin-dir=/opt/cni/bin