kubernetes网络管理

kubernetes 网络通信

1、 容器间通信:同一个Pod内的多个容器间的通信,lo回环网口
2、 Pod通信:Pod IP <-->Pod IP
3、 Pod 与Service通信:PodIP<-->ClusterIP kube-Porxy
4、 Service与集群外部客户端的通信:

CNI:CNI是Container Network Interface的缩写,它是一个通用的容器网络插件的k8s网络接口
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 扩展的虚拟局域网,

  1. vxlan
  2. Directrouting vxlan
    host-gw:Host GatWay 容易造成路由表特别大,容易广播风暴,要求集群节点在同一个网段
    vxlan+host-gw:两种方式结合使用,同网段使用host-gw,不同网段降级为vxlan

vim kube-flannel.yml 添加直接路由模式

net-conf.json: |
    {
      "Network": "10.244.0.0/16",
      "Backend": {
        "Type": "vxlan",
        " Directrouting": true
      }
    }

UDP:性能比较差,不推荐使用,很早版本前不兼容vxlan方式时,使用UDP
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

calico:BGP 自动路由发现协议 默认192.168.0.0/16网段 不支持ipvs模式,只能使用iptables模式,每一台node节点都得部署calico
ingress:进栈
egress:出栈
如果定义仅ingress,egress默认允许,ingress拒绝所有,如果想放行指定pod或者是名称空间,可在定义network-policy ingress规则
canel
kube-router

解决方案:
虚拟网桥:纯软件的方式实现一个虚拟网络
多路复用:MacVLAN 根据物理节点的macvlan进行通信
硬件交换:SR-IOV 一个网卡可以虚拟出多个接口

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Cloud孙文波

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值