logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

K8S创建pod,CNI插件的网络配置过程

(5.2.2)在Calico项目中,CNI插件生成的veth pair设备一端连接容器的eth0,另一端连接宿主机的以cali开头的虚拟网卡。第一个创建的一定是 Infra 容器。host-local:从预定义的IP池(如`10.244.0.0/16`)中分配IP,并在本地文件(如`/var/lib/cni/networks/`)记录IP使用状态,避免冲突。CRI读取`/etc/cni/net.d

#kubernetes#网络#php
同宿主机下不同命名空间的容器间网络通信-案例

Container1 PINGContainer2 的过程当在 Container1 内部执行 `ping 172.17.0.3` 命令时,首先触发以下操作:应用层调用:PING程序通过系统调用向内核发送 ICMP 回显请求报文生成指令。目标 IP解析:Container1 检查目标 IP(172.17.0.3)是否在本地网络。

#网络#kubernetes
K8S-集群网络总览

flanneld程序持续监听着etcd中的关系变化,动态维护着flanneld的路由表。时刻保证节点间的通信)docker程序启动后,自动生成Veth Pair作为网线连接到docker0和宿主机)网卡回环设备路由表iptables rules。(虚拟网卡被建立后,程序为网卡设置子网IP,同时写入到etcd当中。(docker0虚拟网卡相当与是宿主机和容器之间的交换机。

#kubernetes#网络
容器声明共用宿主机网络栈

pod(-net=host)没有veth pair没有 pause容器没有cni地址。缺点 : 宿主机多pod都是声明宿主机网络栈,会造成共享网络资源抢占问题端口冲突问题。pod声明宿主机网络栈 =pod就相当于宿主机的一个没有秘密的进程。容器: 可以声明宿主机的网络栈 --nwt=host。

文章图片
#网络#kubernetes
跨节点容器和宿主机通信

跨节点的容器和宿主机的通信原理:1解析目标IP 地址2检查本地路由表3获取容器所在节点docker0的mac地址4 container1 通过eth0发送ICMP报文到docker0 网桥5 docker0网桥接收并检查报文,检查node1的路由表6 docker0网桥做网络地址转换处理 nat7 构建新的以太网帧头8发送arp请求,获取node2的mac地址,将数据包发送到node2。

#kubernetes#网络
同宿主机下同命名空间的容器间网络通信

解决方案:合理安排容器的启动顺序,可以通过编写脚本或使用容器编排工具(如 Docker Compose)来管理容器的启动依赖关系,确保被依赖的容器先启动。由于共享网络命名空间,数据会直接在该命名空间内的网络协议栈中进行处理,无需经过宿主机的网络协议栈转发,然后被接收方容器的进程接收。:对于一些简单的应用组合,将相关容器部署在同一网络命名空间内,可以快速实现它们之间的通信,简化了应用的部署和维护流程

#kubernetes#网络
跨节点的容器间网络通信

本文分析了跨节点容器通信中flannel网络的工作流程。数据包从源容器eth0发出后,依次经过docker网桥、宿主机路由表到达flannel0网卡,由flanneld程序进行UDP封装后发送至目标节点。目标节点的flanneld接收并解封装数据包,最终通过路由表将数据包传递至目标容器。整个过程实现了容器间跨主机的网络通信,flanneld动态维护路由规则确保了通信的可靠性。

#kubernetes#网络
K8S容器网络插件 - CNI

Flannel 的 CNI 配置文件(/etc/cni/net.d/10-flannel.conflist)里有一个字段,叫作 delegate:

#kubernetes#网络
K8S 网络限制的实现原理(NetworkPolicy api对象)

K8S的 Pod 默认网络 "允许所有"Pod 被 NetworkPolicy 对象选中,就会进入黑洞,无法对外访问 无法接收请求。: K8S的CNI插件支持NetworkPolicy对象,才可在集群中使用黑洞开窗 : 设置白名单 policyTypes字段。

文章图片
#kubernetes#网络
K8S对象-Service(ipvs rules)

Kubernetes的kube-proxy组件会根据Service的配置,利用iptables或ipvs规则(经过DNAT转换),将请求流量分发到后端的Pod上。kube-proxy 监听到 Service 变化后,通过调用 iptables 的 API,在宿主机上为该 Service 设置一系列转发规则。当客户端请求到达 Service 的虚拟 IP 时,IPVS 根据配置的负载均衡算法,将请求

文章图片
#kubernetes#网络
    共 37 条
  • 1
  • 2
  • 3
  • 4
  • 请选择