kubernetes网络管理
2021-03-17 10:26
标签:mac nta 参数 int 要求 ann inter direct default 1、 容器间通信:同一个Pod内的多个容器间的通信,lo回环网口 CNI:CNI是Container Network Interface的缩写,它是一个通用的容器网络插件的k8s网络接口 支持多种后端传输的方式: vim kube-flannel.yml 添加直接路由模式 UDP:性能比较差,不推荐使用,很早版本前不兼容vxlan方式时,使用UDP calico:BGP 自动路由发现协议 默认192.168.0.0/16网段 不支持ipvs模式,只能使用iptables模式,每一台node节点都得部署calico 解决方案: kubernetes网络管理 标签:mac nta 参数 int 要求 ann inter direct default 原文地址:https://blog.51cto.com/14034751/2490647
2、 Pod通信:Pod IP Pod IP
3、 Pod 与Service通信:PodIPClusterIP kube-Porxy
4、 Service与集群外部客户端的通信:
flannel: (在每一个集群节点上面都得安装flannet,kubeadm安装情况下flanne为Daemoset)
flannel2.0 已继承了calico BGP
配置文件:
[root@Master ~]# cat /etc/cni/net.d/10-flannel.conflist {
"name": "cbr0",
"cniVersion": "0.3.1",
"plugins": [
{
"type": "flannel",
"delegate": {
"hairpinMode": true,
"isDefaultGateway": true
}
},
{
"type": "portmap",
"capabilities": {
"portMappings": true
}
}
]
}
VXlan 扩展的虚拟局域网,
host-gw:Host GatWay 容易造成路由表特别大,容易广播风暴,要求集群节点在同一个网段
vxlan+host-gw:两种方式结合使用,同网段使用host-gw,不同网段降级为vxlan net-conf.json: |
{
"Network": "10.244.0.0/16",
"Backend": {
"Type": "vxlan",
" Directrouting": true
}
}
flannel的配置参数:
Network:flannel使用的是CIDR格式的网络地址,用于为Pod配置网络功能
默认使用#也可以使用掩码为8的网段。
10.244.0.0/16
master:10.244.0.0/24
node01:10.244.1.0/24
……
node255:10.244.255.0/24
SubetLen:把Network切分子网供各节点使用时,使用多长的掩码进行切分,默认为24位;
SubetMin:10.244.10.0/24 最小分配子网网段使用
SubetMax:10.244.100.0/24
Backend:vxlan ,host-gw , upd
ingress:进栈
egress:出栈
如果定义仅ingress,egress默认允许,ingress拒绝所有,如果想放行指定pod或者是名称空间,可在定义network-policy ingress规则
canel
kube-router
虚拟网桥:纯软件的方式实现一个虚拟网络
多路复用:MacVLAN 根据物理节点的macvlan进行通信
硬件交换:SR-IOV 一个网卡可以虚拟出多个接口