k8s网络calico之ipip数据流

1,用下面的nginx文件启动pod

(1)用下面的nginx文件启动pod
[root@FNSHB109 tmp]# cat nginx.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: web
  name: web
spec:
  replicas: 5
  selector:
    matchLabels:
      app: web
  template:
    metadata:
      labels:
        app: web
    spec:
      containers:
      - image: nginx:latest
        imagePullPolicy: Never
        name: nginx
k8s网络calico之ipip数据流

2,master里进到pod1上看路由信息

k8s网络calico之ipip数据流

根据路由信息,ping 20.244.166.136,会匹配到第一条。第一条路由的意思是:去往任何网段的数据包都发往网管169.254.1.1,然后从eth0网卡发送出去。

路由表中Flags标志的含义:

U up表示当前为启动状态

H host表示该路由为一个主机,多为达到数据包的路由

G Gateway 表示该路由是一个网关,如果没有说明目的地是直连的

D Dynamicaly 表示该路由是重定向报文修改

M 表示该路由已被重定向报文修改


3,master节点上的路由信息

k8s网络calico之ipip数据流

当ping包来到master节点上,会匹配到路由tunl0。该路由的意思是:去往20.244.166.128/26的网段的数据包都发往网关135.251.206.138.

4,node节点上路由信息

k8s网络calico之ipip数据流

当node节点网卡收到数据包之后,发现发往的目的ip为20.244.166.136,UH代表直连,直接发到caliecb6deff775。这个设备就是veth pair的一端。在创建pod2时calico会给pod2创建一个veth pair设备。一端是pod2的网卡,另一端就是我们看到的caliecb6deff775。

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章