zoukankan      html  css  js  c++  java
  • flannel vxlan

     dialing dial unix /var/run/antrea/cni.sock: connect: connection refused

     Failed to create pod sandbox: rpc error: code = Unknown desc = [failed to set up sandbox container "63a01c2405a404eb56920f2d7af34f19ed88fef0519e76cb4e493fa3f0c4bba9" network for pod "web-nginx-5f769fdc6-dlnqq": 
    networkPlugin cni failed to set up pod "web-nginx-5f769fdc6-dlnqq_default" network: rpc error:
    code = Unavailable desc = connection error: desc = "transport: Error while dialing dial unix /var/run/antrea/cni.sock: connect: connection refused",
    failed to clean up sandbox container "63a01c2405a404eb56920f2d7af34f19ed88fef0519e76cb4e493fa3f0c4bba9" network for pod "web-nginx-5f769fdc6-dlnqq": networkPlugin cni failed to teardown
    pod "web-nginx-5f769fdc6-dlnqq_default" network: rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing dial unix /var/run/antrea/cni.sock: connect: connection refused"]
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: web-nginx
    spec:
      selector:
        matchLabels:
          app: web-nginx
      replicas: 2
      template:
        metadata:
          labels:
            app: web-nginx
        spec:
          affinity:
                  #pod 反亲和性, 打散 web-nginx 各个副本
            podAntiAffinity:
              requiredDuringSchedulingIgnoredDuringExecution:
              - labelSelector:
                  matchExpressions:
                  - key: web 
                    operator: In
                    values:
                    - nginx
                topologyKey: "kubernetes.io/hostname"
          containers:
          - image: nginx
            imagePullPolicy: IfNotPresent
            name: web2-worker
            ports:
            - containerPort: 8087
              protocol: TCP
    root@ubuntu:~# kubectl describe pod web-nginx-5f769fdc6-dlnqq
    Name:           web-nginx-5f769fdc6-dlnqq
    Namespace:      default
    Priority:       0
    Node:           cloud/10.10.16.47
    Start Time:     Fri, 18 Jun 2021 10:03:43 +0800
    Labels:         app=web-nginx
                    pod-template-hash=5f769fdc6
    Annotations:    <none>
    Status:         Pending
    IP:             
    IPs:            <none>
    Controlled By:  ReplicaSet/web-nginx-5f769fdc6
    Containers:
      web2-worker:
        Container ID:   
        Image:          nginx
        Image ID:       
        Port:           8087/TCP
        Host Port:      0/TCP
        State:          Waiting
          Reason:       ContainerCreating
        Ready:          False
        Restart Count:  0
        Environment:    <none>
        Mounts:
          /var/run/secrets/kubernetes.io/serviceaccount from default-token-ckv9x (ro)
    Conditions:
      Type              Status
      Initialized       True 
      Ready             False 
      ContainersReady   False 
      PodScheduled      True 
    Volumes:
      default-token-ckv9x:
        Type:        Secret (a volume populated by a Secret)
        SecretName:  default-token-ckv9x
        Optional:    false
    QoS Class:       BestEffort
    Node-Selectors:  <none>
    Tolerations:     node.kubernetes.io/not-ready:NoExecute for 300s
                     node.kubernetes.io/unreachable:NoExecute for 300s
    Events:
      Type     Reason                  Age               From               Message
      ----     ------                  ----              ----               -------
      Normal   Scheduled               <unknown>         default-scheduler  Successfully assigned default/web-nginx-5f769fdc6-dlnqq to cloud
      Warning  FailedCreatePodSandBox  51s               kubelet, cloud     Failed to create pod sandbox: rpc error: code = Unknown desc = [failed to set up sandbox container "63a01c2405a404eb56920f2d7af34f19ed88fef0519e76cb4e493fa3f0c4bba9" network for pod "web-nginx-5f769fdc6-dlnqq": networkPlugin cni failed to set up pod "web-nginx-5f769fdc6-dlnqq_default" network: rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing dial unix /var/run/antrea/cni.sock: connect: connection refused", failed to clean up sandbox container "63a01c2405a404eb56920f2d7af34f19ed88fef0519e76cb4e493fa3f0c4bba9" network for pod "web-nginx-5f769fdc6-dlnqq": networkPlugin cni failed to teardown pod "web-nginx-5f769fdc6-dlnqq_default" network: rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing dial unix /var/run/antrea/cni.sock: connect: connection refused"]
      Normal   SandboxChanged          2s (x5 over 51s)  kubelet, cloud     Pod sandbox changed, it will be killed and re-created.
    root@cloud:~# journalctl  -u kubelet -f
    -- Logs begin at Tue 2020-10-20 19:26:58 CST. --
    Jun 18 10:09:23 cloud kubelet[406675]: E0618 10:09:23.235161  406675 remote_runtime.go:144] "StopPodSandbox from runtime service failed" err="rpc error: code = Unknown desc = networkPlugin cni failed to teardown pod "web-nginx-5f769fdc6-tt8mf_default" network: rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing dial unix /var/run/antrea/cni.sock: connect: connection refused"" podSandboxID="3eca7a32f1c2fb9d72ad58ab7dae887b4c6db5bf7892809a2d3e6897c48655b8"
    Jun 18 10:09:23 cloud kubelet[406675]: E0618 10:09:23.235212  406675 kuberuntime_manager.go:958] "Failed to stop sandbox" podSandboxID={Type:docker ID:3eca7a32f1c2fb9d72ad58ab7dae887b4c6db5bf7892809a2d3e6897c48655b8}
    Jun 18 10:09:23 cloud kubelet[406675]: E0618 10:09:23.235301  406675 kuberuntime_manager.go:729] "killPodWithSyncResult failed" err="failed to "KillPodSandbox" for "b045617d-721d-477f-8db4-62c4fdc0c358" with KillPodSandboxError: "rpc error: code = Unknown desc = networkPlugin cni failed to teardown pod \"web-nginx-5f769fdc6-tt8mf_default\" network: rpc error: code = Unavailable desc = connection error: desc = \"transport: Error while dialing dial unix /var/run/antrea/cni.sock: connect: connection refused\"""
    Jun 18 10:09:23 cloud kubelet[406675]: E0618 10:09:23.235369  406675 pod_workers.go:190] "Error syncing pod, skipping" err="failed to "KillPodSandbox" for "b045617d-721d-477f-8db4-62c4fdc0c358" with KillPodSandboxError: "rpc error: code = Unknown desc = networkPlugin cni failed to teardown pod \"web-nginx-5f769fdc6-tt8mf_default\" network: rpc error: code = Unavailable desc = connection error: desc = \"transport: Error while dialing dial unix /var/run/antrea/cni.sock: connect: connection refused\""" pod="default/web-nginx-5f769fdc6-tt8mf" podUID=b045617d-721d-477f-8db4-62c4fdc0c358
    Jun 18 10:09:28 cloud kubelet[406675]: I0618 10:09:28.217152  406675 cni.go:333] "CNI failed to retrieve network namespace path" err="cannot find network namespace for the terminated container "63a01c2405a404eb56920f2d7af34f19ed88fef0519e76cb4e493fa3f0c4bba9""
    Jun 18 10:09:28 cloud kubelet[406675]: E0618 10:09:28.233226  406675 cni.go:380] "Error deleting pod from network" err="rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing dial unix /var/run/antrea/cni.sock: connect: connection refused"" pod="default/web-nginx-5f769fdc6-dlnqq" podSandboxID={Type:docker ID:63a01c2405a404eb56920f2d7af34f19ed88fef0519e76cb4e493fa3f0c4bba9} podNetnsPath="" networkType="antrea" networkName="antrea"
    Jun 18 10:09:28 cloud kubelet[406675]: E0618 10:09:28.233972  406675 remote_runtime.go:144] "StopPodSandbox from runtime service failed" err="rpc error: code = Unknown desc = networkPlugin cni failed to teardown pod "web-nginx-5f769fdc6-dlnqq_default" network: rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing dial unix /var/run/antrea/cni.sock: connect: connection refused"" podSandboxID="63a01c2405a404eb56920f2d7af34f19ed88fef0519e76cb4e493fa3f0c4bba9"
    Jun 18 10:09:28 cloud kubelet[406675]: E0618 10:09:28.234021  406675 kuberuntime_manager.go:958] "Failed to stop sandbox" podSandboxID={Type:docker ID:63a01c2405a404eb56920f2d7af34f19ed88fef0519e76cb4e493fa3f0c4bba9}
    Jun 18 10:09:28 cloud kubelet[406675]: E0618 10:09:28.234103  406675 kuberuntime_manager.go:729] "killPodWithSyncResult failed" err="failed to "KillPodSandbox" for "b44537e7-292f-481d-b347-f6df12f1e53a" with KillPodSandboxError: "rpc error: code = Unknown desc = networkPlugin cni failed to teardown pod \"web-nginx-5f769fdc6-dlnqq_default\" network: rpc error: code = Unavailable desc = connection error: desc = \"transport: Error while dialing dial unix /var/run/antrea/cni.sock: connect: connection refused\"""
    Jun 18 10:09:28 cloud kubelet[406675]: E0618 10:09:28.234183  406675 pod_workers.go:190] "Error syncing pod, skipping" err="failed to "KillPodSandbox" for "b44537e7-292f-481d-b347-f6df12f1e53a" with KillPodSandboxError: "rpc error: code = Unknown desc = networkPlugin cni failed to teardown pod \"web-nginx-5f769fdc6-dlnqq_default\" network: rpc error: code = Unavailable desc = connection error: desc = \"transport: Error while dialing dial unix /var/run/antrea/cni.sock: connect: connection refused\""" pod="default/web-nginx-5f769fdc6-dlnqq" podUID=b44537e7-292f-481d-b347-f6df12f1e53a
    Jun 18 10:09:35 cloud kubelet[406675]: I0618 10:09:35.217071  406675 cni.go:333] "CNI failed to retrieve network namespace path" err="cannot find network namespace for the terminated container "3eca7a32f1c2fb9d72ad58ab7dae887b4c6db5bf7892809a2d3e6897c48655b8""
    Jun 18 10:09:35 cloud kubelet[406675]: E0618 10:09:35.232950  406675 cni.go:380] "Error deleting pod from network" err="rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing dial unix /var/run/antrea/cni.sock: connect: connection refused"" pod="default/web-nginx-5f769fdc6-tt8mf" podSandboxID={Type:docker ID:3eca7a32f1c2fb9d72ad58ab7dae887b4c6db5bf7892809a2d3e6897c48655b8} podNetnsPath="" networkType="antrea" networkName="antrea"
    Jun 18 10:09:35 cloud kubelet[406675]: E0618 10:09:35.233568  406675 remote_runtime.go:144] "StopPodSandbox from runtime service failed" err="rpc error: code = Unknown desc = networkPlugin cni failed to teardown pod "web-nginx-5f769fdc6-tt8mf_default" network: rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing dial unix /var/run/antrea/cni.sock: connect: connection refused"" podSandboxID="3eca7a32f1c2fb9d72ad58ab7dae887b4c6db5bf7892809a2d3e6897c48655b8"
    Jun 18 10:09:35 cloud kubelet[406675]: E0618 10:09:35.233611  406675 kuberuntime_manager.go:958] "Failed to stop sandbox" podSandboxID={Type:docker ID:3eca7a32f1c2fb9d72ad58ab7dae887b4c6db5bf7892809a2d3e6897c48655b8}
    Jun 18 10:09:35 cloud kubelet[406675]: E0618 10:09:35.234523  406675 kuberuntime_manager.go:729] "killPodWithSyncResult failed" err="failed to "KillPodSandbox" for "b045617d-721d-477f-8db4-62c4fdc0c358" with KillPodSandboxError: "rpc error: code = Unknown desc = networkPlugin cni failed to teardown pod \"web-nginx-5f769fdc6-tt8mf_default\" network: rpc error: code = Unavailable desc = connection error: desc = \"transport: Error while dialing dial unix /var/run/antrea/cni.sock: connect: connection refused\"""
    Jun 18 10:09:35 cloud kubelet[406675]: E0618 10:09:35.234612  406675 pod_workers.go:190] "Error syncing pod, skipping" err="failed to "KillPodSandbox" for "b045617d-721d-477f-8db4-62c4fdc0c358" with KillPodSandboxError: "rpc error: code = Unknown desc = networkPlugin cni failed to teardown pod \"web-nginx-5f769fdc6-tt8mf_default\" network: rpc error: code = Unavailable desc = connection error: desc = \"transport: Error while dialing dial unix /var/run/antrea/cni.sock: connect: connection refused\""" pod="default/web-nginx-5f769fdc6-tt8mf" podUID=b045617d-721d-477f-8db4-62c4fdc0c358
    ^C
    root@cloud:~# 
    root@ubuntu:~# kubectl get pods
    NAME                                READY   STATUS              RESTARTS   AGE
    debian-6c44fc6956-ltsrt             0/1     CrashLoopBackOff    5065       17d
    mc1                                 2/2     Running             0          17d
    my-deployment-68bdbbb5cc-bbszv      0/1     ImagePullBackOff    0          36d
    my-deployment-68bdbbb5cc-nrst9      0/1     ImagePullBackOff    0          36d
    my-deployment-68bdbbb5cc-rlgzt      0/1     ImagePullBackOff    0          36d
    my-nginx-5dc4865748-jqx54           1/1     Running             2          36d
    my-nginx-5dc4865748-pcrbg           1/1     Running             2          36d
    nginx                               0/1     ImagePullBackOff    0          36d
    nginx-deployment-6b474476c4-r6z5b   1/1     Running             0          9d
    nginx-deployment-6b474476c4-w6xh9   1/1     Running             0          9d
    web-nginx-5f769fdc6-dlnqq           0/1     ContainerCreating   0          7m49s
    web-nginx-5f769fdc6-tt8mf           0/1     ContainerCreating   0          7m49s
    root@ubuntu:~# kubectl describe daemonset cloud  -n kube-system | grep Image | cut -d "/" -f 2
    Error from server (NotFound): daemonsets.apps "cloud" not found
    root@ubuntu:~# kubectl describe daemonset web-nginx-5f769fdc6-dlnqq   -n default | grep Image | cut -d "/" -f 2
    Error from server (NotFound): daemonsets.apps "web-nginx-5f769fdc6-dlnqq" not found
     
    root@ubuntu:~# 
    root@ubuntu:~# kubectl delete --namespace=default deployment web-nginx
    deployment.apps "web-nginx" deleted
    root@ubuntu:~# kubectl get pods
    NAME                                READY   STATUS             RESTARTS   AGE
    debian-6c44fc6956-ltsrt             0/1     CrashLoopBackOff   5067       17d
    mc1                                 2/2     Running            0          17d
    my-deployment-68bdbbb5cc-bbszv      0/1     ImagePullBackOff   0          36d
    my-deployment-68bdbbb5cc-nrst9      0/1     ImagePullBackOff   0          36d
    my-deployment-68bdbbb5cc-rlgzt      0/1     ImagePullBackOff   0          36d
    my-nginx-5dc4865748-jqx54           1/1     Running            2          36d
    my-nginx-5dc4865748-pcrbg           1/1     Running            2          36d
    nginx                               0/1     ImagePullBackOff   0          36d
    nginx-deployment-6b474476c4-r6z5b   1/1     Running            0          9d
    nginx-deployment-6b474476c4-w6xh9   1/1     Running            0          9d
    web-nginx-5f769fdc6-dlnqq           0/1     Terminating        0          14m
    web-nginx-5f769fdc6-tt8mf           0/1     Terminating        0          14m
    root@ubuntu:~# 

    /etc/cni/net.d/10-antrea.conflist 删除

    root@cloud:~# ls /var/lib/cni/
    cache
    root@cloud:~# ls /etc/cni/net.d/
    10-antrea.conflist  10-flannel.conflist
    root@cloud:~# rm -rf  /etc/cni/net.d/10-antrea.conflist 
    root@cloud:~# 

    kubectl apply  -f  web-anti-affinity.yaml  成功了

    root@ubuntu:~# kubectl get pods
    NAME                                READY   STATUS             RESTARTS   AGE
    debian-6c44fc6956-ltsrt             0/1     Completed          5069       18d
    mc1                                 2/2     Running            0          17d
    my-deployment-68bdbbb5cc-bbszv      0/1     ImagePullBackOff   0          36d
    my-deployment-68bdbbb5cc-nrst9      0/1     ImagePullBackOff   0          36d
    my-deployment-68bdbbb5cc-rlgzt      0/1     ImagePullBackOff   0          36d
    my-nginx-5dc4865748-jqx54           1/1     Running            2          36d
    my-nginx-5dc4865748-pcrbg           1/1     Running            2          36d
    nginx                               0/1     ImagePullBackOff   0          36d
    nginx-deployment-6b474476c4-r6z5b   1/1     Running            0          9d
    nginx-deployment-6b474476c4-w6xh9   1/1     Running            0          9d
    web-nginx-5f769fdc6-779lg           1/1     Running            0          2s
    web-nginx-5f769fdc6-sstj4           1/1     Running            0          2s
    root@ubuntu:~# 
    root@ubuntu:~# kubectl get pods web-nginx-5f769fdc6-779lg -o wide
    NAME                        READY   STATUS    RESTARTS   AGE    IP           NODE    NOMINATED NODE   READINESS GATES
    web-nginx-5f769fdc6-779lg   1/1     Running   0          102s   10.244.2.4   cloud   <none>           <none>
    root@ubuntu:~# kubectl get pods web-nginx-5f769fdc6-sstj4 -o wide
    NAME                        READY   STATUS    RESTARTS   AGE    IP           NODE    NOMINATED NODE   READINESS GATES
    web-nginx-5f769fdc6-sstj4   1/1     Running   0          111s   10.244.2.5   cloud   <none>           <none>
    root@ubuntu:~# 
    root@ubuntu:~# kubectl get nodes --show-labels
    NAME     STATUS   ROLES    AGE    VERSION   LABELS
    cloud    Ready    worker   15h    v1.21.1   beta.kubernetes.io/arch=arm64,beta.kubernetes.io/os=linux,kubernetes.io/arch=arm64,kubernetes.io/hostname=cloud,kubernetes.io/os=linux,node-role.kubernetes.io/worker=worker
    ubuntu   Ready    master   244d   v1.18.1   beta.kubernetes.io/arch=arm64,beta.kubernetes.io/os=linux,kubernetes.io/arch=arm64,kubernetes.io/hostname=ubuntu,kubernetes.io/os=linux,node-role.kubernetes.io/master=
    root@ubuntu:~# 

    两个pod没有打散哦

    root@ubuntu:~# cat  web-anti-affinity.yaml 
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: web-nginx
    spec:
      selector:
        matchLabels:
          app: web-nginx
      replicas: 2
      template:
        metadata:
          labels:
            app: web-nginx
        spec:
          affinity:
                  #pod 反亲和性, 打散 web-nginx 各个副本
            podAntiAffinity:
              requiredDuringSchedulingIgnoredDuringExecution:
              - labelSelector:
                  matchExpressions:
                  - key: app
                    operator: In
                    values:
                    - web-nginx
                topologyKey: "kubernetes.io/hostname"
          containers:
          - image: nginx
            imagePullPolicy: IfNotPresent
            name: web2-worker
            ports:
            - containerPort: 8087
              protocol: TCP
    root@ubuntu:~# kubectl apply  -f  web-anti-affinity.yaml 
    deployment.apps/web-nginx created
    root@ubuntu:~# kubectl get pods
    NAME                                READY   STATUS             RESTARTS   AGE
    debian-6c44fc6956-ltsrt             0/1     CrashLoopBackOff   5071       18d
    mc1                                 2/2     Running            0          17d
    my-deployment-68bdbbb5cc-bbszv      0/1     ImagePullBackOff   0          36d
    my-deployment-68bdbbb5cc-nrst9      0/1     ImagePullBackOff   0          36d
    my-deployment-68bdbbb5cc-rlgzt      0/1     ImagePullBackOff   0          36d
    my-nginx-5dc4865748-jqx54           1/1     Running            2          36d
    my-nginx-5dc4865748-pcrbg           1/1     Running            2          36d
    nginx                               0/1     ImagePullBackOff   0          36d
    nginx-deployment-6b474476c4-r6z5b   1/1     Running            0          9d
    nginx-deployment-6b474476c4-w6xh9   1/1     Running            0          9d
    web-nginx-7bdc6b976b-br45g          1/1     Running            0          9s
    web-nginx-7bdc6b976b-p9rxc          1/1     Running            0          9s
    root@ubuntu:~# kubectl get pods web-nginx-7bdc6b976b-br45g  -o wide
    NAME                         READY   STATUS    RESTARTS   AGE   IP            NODE     NOMINATED NODE   READINESS GATES
    web-nginx-7bdc6b976b-br45g   1/1     Running   0          23s   10.244.0.22   ubuntu   <none>           <none>
    root@ubuntu:~# kubectl get pods web-nginx-7bdc6b976b-p9rxc  -o wide
    NAME                         READY   STATUS    RESTARTS   AGE   IP           NODE    NOMINATED NODE   READINESS GATES
    web-nginx-7bdc6b976b-p9rxc   1/1     Running   0          34s   10.244.2.6   cloud   <none>           <none>
    root@ubuntu:~# cat  web-anti-affinity.yaml 

     

    root@ubuntu:~# crictl inspect ca1b5c5a7aa2905d75a1f680ec774b09298ac09f03799b083e5eabffe0b5124a  | grep -i pid
        "pid": 30603,
                "pid": 1
                "type": "pid"
    root@ubuntu:~# nsenter -n --target   30603
    root@ubuntu:~# ip a
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
        inet6 ::1/128 scope host 
           valid_lft forever preferred_lft forever
    3: eth0@if673: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UP group default 
        link/ether ee:ee:d4:3a:73:67 brd ff:ff:ff:ff:ff:ff link-netnsid 0
        inet 10.244.0.22/24 brd 10.244.0.255 scope global eth0
           valid_lft forever preferred_lft forever
        inet6 fe80::ecee:d4ff:fe3a:7367/64 scope link 
           valid_lft forever preferred_lft forever
    root@ubuntu:~# ping  10.244.2.6    ----------访问不了
    PING 10.244.2.6 (10.244.2.6) 56(84) bytes of data.
    From 10.244.2.0 icmp_seq=1 Destination Host Unreachable
    From 10.244.2.0 icmp_seq=2 Destination Host Unreachable
    From 10.244.2.0 icmp_seq=3 Destination Host Unreachable
    From 10.244.2.0 icmp_seq=4 Destination Host Unreachable
    From 10.244.2.0 icmp_seq=5 Destination Host Unreachable
    From 10.244.2.0 icmp_seq=6 Destination Host Unreachable
    From 10.244.2.0 icmp_seq=7 Destination Host Unreachable
    ^C
    --- 10.244.2.6 ping statistics ---
    8 packets transmitted, 0 received, +7 errors, 100% packet loss, time 7112ms
    pipe 4
    root@ubuntu:~# route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    0.0.0.0         10.244.0.1      0.0.0.0         UG    0      0        0 eth0
    10.244.0.0      0.0.0.0         255.255.255.0   U     0      0        0 eth0
    10.244.0.0      10.244.0.1      255.255.0.0     UG    0      0        0 eth0
    root@ubuntu:~# 

    原来是antrea-gw0没有卸载干净,

     

     

    root@ubuntu:~# ip a | grep  10.244.0.1
        inet 10.244.0.1/24 brd 10.244.0.255 scope global antrea-gw0
        inet 10.244.0.1/24 brd 10.244.0.255 scope global cni0
    root@ubuntu:~# ip l del  antrea-gw0
    RTNETLINK answers: Operation not supported
    root@ubuntu:~# ip link  del dev  antrea-gw0
    RTNETLINK answers: Operation not supported
    root@ubuntu:~# ip link delete  antrea-gw0
    RTNETLINK answers: Operation not supported
    root@ubuntu:~# ip a sh antrea-gw0
    658: antrea-gw0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UNKNOWN group default qlen 1000
        link/ether f2:c9:55:a9:35:ad brd ff:ff:ff:ff:ff:ff
        inet 10.244.0.1/24 brd 10.244.0.255 scope global antrea-gw0
           valid_lft forever preferred_lft forever
        inet6 fe80::f0c9:55ff:fea9:35ad/64 scope link 
           valid_lft forever preferred_lft forever
    root@ubuntu:~# ip a flush antrea-gw0
    root@ubuntu:~# ip a | grep  10.244.0.1
        inet 10.244.0.1/24 brd 10.244.0.255 scope global cni0

     

    root@ubuntu:~# route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    0.0.0.0         10.244.0.1      0.0.0.0         UG    0      0        0 eth0
    10.244.0.0      0.0.0.0         255.255.255.0   U     0      0        0 eth0
    10.244.0.0      10.244.0.1      255.255.0.0     UG    0      0        0 eth0
    root@ubuntu:~# ping  10.244.2.6
    PING 10.244.2.6 (10.244.2.6) 56(84) bytes of data.
    64 bytes from 10.244.2.6: icmp_seq=1 ttl=62 time=0.442 ms
    64 bytes from 10.244.2.6: icmp_seq=2 ttl=62 time=0.327 ms
    ^C
    --- 10.244.2.6 ping statistics ---
    2 packets transmitted, 2 received, 0% packet loss, time 1004ms
    rtt min/avg/max/mdev = 0.327/0.384/0.442/0.060 ms
    root@ubuntu:~# 
    root@ubuntu:~# kubectl exec -it web-nginx-7bdc6b976b-p9rxc  -- /bin/bash
    root@web-nginx-7bdc6b976b-p9rxc:/# ip a
    bash: ip: command not found
    root@web-nginx-7bdc6b976b-p9rxc:/# 
    root@ubuntu:~# brctl show 
    bridge name     bridge id               STP enabled     interfaces
    cni0            8000.beca862286b8       no              veth0dff33d9
                                                            veth224c8103
                                                            veth29d9bae9
                                                            veth38f93c57
                                                            veth3e31adfe
                                                            veth45f94c26
                                                            veth7c984be7
                                                            veth8c55c45e
                                                            veth8e1ca39c
    docker0         8000.02427319673d       no              vethc2ba676
                                                            vethf6368c9
    virbr1          8000.cedad4f6fb17       no              ftap0
    root@ubuntu:~# ip a | grep 673
        inet6 fe80::42:73ff:fe19:673d/64 scope link 
    673: veth8e1ca39c@if3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue master cni0 state UP group default 
    root@ubuntu:~# 
    root@ubuntu:~# route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    0.0.0.0         10.10.16.254    0.0.0.0         UG    0      0        0 enahisic2i0
    10.10.16.0      0.0.0.0         255.255.255.0   U     0      0        0 enahisic2i0
    10.10.34.0      0.0.0.0         255.255.255.0   U     0      0        0 enahisic2i3
    10.10.100.0     0.0.0.0         255.255.255.0   U     0      0        0 peerh
    10.10.104.0     0.0.0.0         255.255.255.0   U     0      0        0 virbr1
    10.10.104.0     0.0.0.0         255.255.255.0   U     0      0        0 enahisic2i2
    10.244.0.0      0.0.0.0         255.255.255.0   U     0      0        0 cni0
    10.244.2.0      10.244.2.0      255.255.255.0   UG    0      0        0 flannel.1
    172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
    root@ubuntu:~# 

     由于flannel.1是一个vtep二层设备,所以需要根据vxlan的协议标准进行二层封装转发

    mtu是1450

    root@ubuntu:~# ip a show  flannel.1
    198: flannel.1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UNKNOWN group default 
        link/ether 3a:2b:ed:85:2f:74 brd ff:ff:ff:ff:ff:ff
        inet 10.244.0.0/32 scope global flannel.1
           valid_lft forever preferred_lft forever
        inet6 fe80::382b:edff:fe85:2f74/64 scope link 
           valid_lft forever preferred_lft forever
    root@ubuntu:~# tcpdump -i flannel.1 icmp -nv
    tcpdump: listening on flannel.1, link-type EN10MB (Ethernet), capture size 262144 bytes
    11:02:45.407622 IP (tos 0x0, ttl 63, id 23793, offset 0, flags [DF], proto ICMP (1), length 84)
        10.244.0.22 > 10.244.2.6: ICMP echo request, id 41718, seq 1, length 64
    11:02:45.408285 IP (tos 0x0, ttl 63, id 8634, offset 0, flags [none], proto ICMP (1), length 84)
        10.244.2.6 > 10.244.0.22: ICMP echo reply, id 41718, seq 1, length 64
    11:02:46.426314 IP (tos 0x0, ttl 63, id 23814, offset 0, flags [DF], proto ICMP (1), length 84)
        10.244.0.22 > 10.244.2.6: ICMP echo request, id 41718, seq 2, length 64
    11:02:46.426436 IP (tos 0x0, ttl 63, id 8844, offset 0, flags [none], proto ICMP (1), length 84)
        10.244.2.6 > 10.244.0.22: ICMP echo reply, id 41718, seq 2, length 64
    ^C
    root@ubuntu:~# bridge fdb show | grep flannel
    72:d3:9a:47:fd:43 dev flannel.1 dst 10.10.16.47 self permanent
    root@ubuntu:~# 

    woker节点上

    72:d3:9a:47:fd:43是flannel.1的mac
    root@cloud:~# ip a sh  flannel.1
    14: flannel.1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UNKNOWN group default 
        link/ether 72:d3:9a:47:fd:43 brd ff:ff:ff:ff:ff:ff
        inet 10.244.2.0/32 scope global flannel.1
           valid_lft forever preferred_lft forever
        inet6 fe80::70d3:9aff:fe47:fd43/64 scope link 
           valid_lft forever preferred_lft forever
    root@cloud:~# 
    root@ubuntu:~# ping  10.244.2.6
    PING 10.244.2.6 (10.244.2.6) 56(84) bytes of data.
    64 bytes from 10.244.2.6: icmp_seq=1 ttl=62 time=0.425 ms
    ^C
    --- 10.244.2.6 ping statistics ---
    1 packets transmitted, 1 received, 0% packet loss, time 0ms
    rtt min/avg/max/mdev = 0.425/0.425/0.425/0.000 ms
    root@ubuntu:~# ip n
    10.244.0.1 dev eth0 lladdr be:ca:86:22:86:b8 DELAY
    root@ubuntu:~# 
    3a:2b:ed:85:2f:74 > 72:d3:9a:47:fd:43
    3a:2b:ed:85:2f:74是master flannel
    root@ubuntu:~# ip link show  flannel.1
    198: flannel.1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UNKNOWN mode DEFAULT group default 
        link/ether 3a:2b:ed:85:2f:74 brd ff:ff:ff:ff:ff:ff


    root@ubuntu:~# tcpdump -i enahisic2i0 host 10.10.16.47 and udp  -eennv  
    tcpdump: listening on enahisic2i0, link-type EN10MB (Ethernet), capture size 262144 bytes
    11:15:48.634354 48:57:02:64:e7:ab > 9c:52:f8:67:c4:d3, ethertype IPv4 (0x0800), length 148: (tos 0x0, ttl 64, id 36729, offset 0, flags [none], proto UDP (17), length 134)
        10.10.16.82.47009 > 10.10.16.47.8472: OTV, flags [I] (0x08), overlay 0, instance 1
    3a:2b:ed:85:2f:74 > 72:d3:9a:47:fd:43, ethertype IPv4 (0x0800), length 98: (tos 0x0, ttl 63, id 27945, offset 0, flags [DF], proto ICMP (1), length 84)
        10.244.0.22 > 10.244.2.6: ICMP echo request, id 47832, seq 12, length 64
    11:15:48.634440 9c:52:f8:67:c4:d3 > 48:57:02:64:e7:ab, ethertype IPv4 (0x0800), length 148: (tos 0x0, ttl 64, id 53685, offset 0, flags [none], proto UDP (17), length 134)
        10.10.16.47.55810 > 10.10.16.82.8472: OTV, flags [I] (0x08), overlay 0, instance 1
    72:d3:9a:47:fd:43 > 3a:2b:ed:85:2f:74, ethertype IPv4 (0x0800), length 98: (tos 0x0, ttl 63, id 51026, offset 0, flags [none], proto ICMP (1), length 84)
        10.244.2.6 > 10.244.0.22: ICMP echo reply, id 47832, seq 12, length 64
    11:15:49.658347 48:57:02:64:e7:ab > 9c:52:f8:67:c4:d3, ethertype IPv4 (0x0800), length 148: (tos 0x0, ttl 64, id 36859, offset 0, flags [none], proto UDP (17), length 134)
        10.10.16.82.47009 > 10.10.16.47.8472: OTV, flags [I] (0x08), overlay 0, instance 1
    3a:2b:ed:85:2f:74 > 72:d3:9a:47:fd:43, ethertype IPv4 (0x0800), length 98: (tos 0x0, ttl 63, id 27961, offset 0, flags [DF], proto ICMP (1), length 84)
        10.244.0.22 > 10.244.2.6: ICMP echo request, id 47832, seq 13, length 64
    11:15:49.658438 9c:52:f8:67:c4:d3 > 48:57:02:64:e7:ab, ethertype IPv4 (0x0800), length 148: (tos 0x0, ttl 64, id 53714, offset 0, flags [none], proto UDP (17), length 134)
        10.10.16.47.55810 > 10.10.16.82.8472: OTV, flags [I] (0x08), overlay 0, instance 1
    72:d3:9a:47:fd:43 > 3a:2b:ed:85:2f:74, ethertype IPv4 (0x0800), length 98: (tos 0x0, ttl 63, id 51066, offset 0, flags [none], proto ICMP (1), length 84)
        10.244.2.6 > 10.244.0.22: ICMP echo reply, id 47832, seq 13, length 64
    ^C
    4 packets captured
    4 packets received by filter
    0 packets dropped by kernel

    worker节点上

    root@cloud:~#  kubectl get pods
    NAME                                READY   STATUS             RESTARTS   AGE
    debian-6c44fc6956-ltsrt             0/1     CrashLoopBackOff   5077       18d
    mc1                                 2/2     Running            0          18d
    my-deployment-68bdbbb5cc-bbszv      0/1     ImagePullBackOff   0          36d
    my-deployment-68bdbbb5cc-nrst9      0/1     ImagePullBackOff   0          36d
    my-deployment-68bdbbb5cc-rlgzt      0/1     ImagePullBackOff   0          36d
    my-nginx-5dc4865748-jqx54           1/1     Running            2          36d
    my-nginx-5dc4865748-pcrbg           1/1     Running            2          36d
    nginx                               0/1     ImagePullBackOff   0          36d
    nginx-deployment-6b474476c4-r6z5b   1/1     Running            0          9d
    nginx-deployment-6b474476c4-w6xh9   1/1     Running            0          9d
    web-nginx-7bdc6b976b-br45g          1/1     Running            0          29m
    web-nginx-7bdc6b976b-p9rxc          1/1     Running            0          29m
    root@cloud:~# kubectl -n  default     describe pod  web-nginx-7bdc6b976b-p9rxc | grep  Container
    Containers:
        Container ID:   docker://eb20022b723803ef0cac93ba07c7584751821e388abc482709336777e7ba7c0a
      ContainersReady   True 
      Normal  Pulled     29m        kubelet, cloud     Container image "nginx" already present on machine
    root@cloud:~# crictl inspect eb20022b723803ef0cac93ba07c7584751821e388abc482709336777e7ba7c0a | grep -i pid
    root@cloud:~# docker ps
    CONTAINER ID        IMAGE                  COMMAND                  CREATED             STATUS              PORTS               NAMES
    eb20022b7238        d0f910f78b97           "/docker-entrypoint.…"   30 minutes ago      Up 30 minutes                           k8s_web2-worker_web-nginx-7bdc6b976b-p9rxc_default_30a12f33-be07-4294-bc43-88c6adb3ea18_0
    01ddc519e9aa        k8s.gcr.io/pause:3.2   "/pause"                 30 minutes ago      Up 30 minutes                           k8s_POD_web-nginx-7bdc6b976b-p9rxc_default_30a12f33-be07-4294-bc43-88c6adb3ea18_0
    1812049e5eb5        7cf4a417daaa           "/opt/bin/flanneld -…"   About an hour ago   Up About an hour                        k8s_kube-flannel_kube-flannel-ds-arm64-28rkj_kube-system_d683b27b-a6e8-448b-870b-709f07149187_0
    9f396b91c6ea        k8s.gcr.io/pause:3.2   "/pause"                 About an hour ago   Up About an hour                        k8s_POD_kube-flannel-ds-arm64-28rkj_kube-system_d683b27b-a6e8-448b-870b-709f07149187_0
    813710f5eac2        f782b1121865           "/usr/local/bin/kube…"   16 hours ago        Up 16 hours                             k8s_kube-proxy_kube-proxy-nh2cp_kube-system_20b8a4ec-96e5-419f-8b6e-ff6137017318_0
    596b821e1709        k8s.gcr.io/pause:3.2   "/pause"                 16 hours ago        Up 16 hours                             k8s_POD_kube-proxy-nh2cp_kube-system_20b8a4ec-96e5-419f-8b6e-ff6137017318_0
    d8d153f65ace        alpine                 "/bin/sh"                5 weeks ago         Up 5 weeks                              alpine
    root@cloud:~# docker inspect eb20022b7238 | grep -i pid
                "Pid": 126118,
                "PidMode": "",
                "PidsLimit": null,
    root@cloud:~# 
    root@cloud:~# docker inspect eb20022b7238 | grep -i pid
                "Pid": 126118,
                "PidMode": "",
                "PidsLimit": null,
    root@cloud:~# nsenter -n --target  126118
    root@cloud:~# ip a
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
    3: eth0@if20: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UP group default 
        link/ether 82:ea:86:37:c3:8d brd ff:ff:ff:ff:ff:ff link-netnsid 0
        inet 10.244.2.6/24 brd 10.244.2.255 scope global eth0
           valid_lft forever preferred_lft forever
    root@cloud:~# 
    root@cloud:~# ip a
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
    3: eth0@if20: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UP group default 
        link/ether 82:ea:86:37:c3:8d brd ff:ff:ff:ff:ff:ff link-netnsid 0
        inet 10.244.2.6/24 brd 10.244.2.255 scope global eth0
           valid_lft forever preferred_lft forever
    root@cloud:~# route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    0.0.0.0         10.244.2.1      0.0.0.0         UG    0      0        0 eth0
    10.244.0.0      10.244.2.1      255.255.0.0     UG    0      0        0 eth0
    10.244.2.0      0.0.0.0         255.255.255.0   U     0      0        0 eth0
    root@cloud:~# 
    root@cloud:~# brctl show 
    bridge name     bridge id               STP enabled     interfaces
    cni0            8000.0af9a27f2f2a       no              veth9cd09543
    docker0         8000.0242c28bb536       no              veth3c8f176
    root@cloud:~# ip a | grep 20
    7: dm-493626720dc1: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default 
    20: veth9cd09543@if3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue master cni0 state UP group default 
    root@cloud:~# route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    0.0.0.0         10.10.16.254    0.0.0.0         UG    0      0        0 enahisic2i0
    9.251.0.0       172.17.0.1      255.255.0.0     UG    0      0        0 docker0
    10.10.16.0      0.0.0.0         255.255.255.0   U     0      0        0 enahisic2i0
    10.99.1.231     10.10.16.82     255.255.255.255 UGH   0      0        0 enahisic2i0
    10.110.79.116   10.10.16.82     255.255.255.255 UGH   0      0        0 enahisic2i0
    10.110.171.213  10.10.16.82     255.255.255.255 UGH   0      0        0 enahisic2i0
    10.244.0.0      10.244.0.0      255.255.255.0   UG    0      0        0 flannel.1
    10.244.2.0      0.0.0.0         255.255.255.0   U     0      0        0 cni0
    172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
    root@cloud:~# ip n
    10.10.16.252 dev enahisic2i0 lladdr 00:23:81:26:93:6e STALE
    10.10.16.81 dev enahisic2i0 lladdr 48:57:02:64:ea:1b STALE
    10.244.2.6 dev cni0 lladdr 82:ea:86:37:c3:8d STALE
    10.244.0.0 dev flannel.1 lladdr 3a:2b:ed:85:2f:74 PERMANENT
    10.10.16.82 dev enahisic2i0 lladdr 48:57:02:64:e7:ab REACHABLE
    10.10.16.253 dev enahisic2i0 lladdr 00:23:81:26:94:a0 STALE
    10.10.16.254 dev enahisic2i0 lladdr f4:1d:6b:87:53:2a REACHABLE
    10.10.16.250 dev enahisic2i0 lladdr 48:57:02:64:e7:ab STALE
    root@cloud:~# ip a sh flannel.1
    14: flannel.1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UNKNOWN group default 
        link/ether 72:d3:9a:47:fd:43 brd ff:ff:ff:ff:ff:ff
        inet 10.244.2.0/32 scope global flannel.1
           valid_lft forever preferred_lft forever
        inet6 fe80::70d3:9aff:fe47:fd43/64 scope link 
           valid_lft forever preferred_lft forever
    root@cloud:~# ip a sh cni0
    15: cni0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UP group default qlen 1000
        link/ether 0a:f9:a2:7f:2f:2a brd ff:ff:ff:ff:ff:ff
        inet 10.244.2.1/24 brd 10.244.2.255 scope global cni0
           valid_lft forever preferred_lft forever
        inet6 fe80::8f9:a2ff:fe7f:2f2a/64 scope link 
           valid_lft forever preferred_lft forever
    root@cloud:~# 
    root@cloud:~# bridge fdb show | grep  flannel.1
    3a:2b:ed:85:2f:74 dev flannel.1 dst 10.10.16.82 self permanent
    root@cloud:~# 

    master节点看不到worker节点上的容器

    root@ubuntu:~# crictl inspect eb20022b723803ef0cac93ba07c7584751821e388abc482709336777e7ba7c0a | grep -i pid
    FATA[0000] Getting the status of the container "eb20022b723803ef0cac93ba07c7584751821e388abc482709336777e7ba7c0a" failed: rpc error: code = Unknown desc = an error occurred when try to find container "eb20022b723803ef0cac93ba07c7584751821e388abc482709336777e7ba7c0a": does not exist 
    root@ubuntu:~# 
    root@cloud:~# bridge fdb show | grep  3a:2b:ed:85:2f:74
    3a:2b:ed:85:2f:74 dev flannel.1 dst 10.10.16.82 self permanent
    root@cloud:~# 

    vxlan 封装

    root@ubuntu:~# tcpdump -i enahisic2i0 host 10.10.16.47 and udp  -nv  
    tcpdump: listening on enahisic2i0, link-type EN10MB (Ethernet), capture size 262144 bytes
    11:06:43.999084 IP (tos 0x0, ttl 64, id 45401, offset 0, flags [none], proto UDP (17), length 134)
        10.10.16.82.47009 > 10.10.16.47.8472: OTV, flags [I] (0x08), overlay 0, instance 1
    IP (tos 0x0, ttl 63, id 56784, offset 0, flags [DF], proto ICMP (1), length 84)
        10.244.0.22 > 10.244.2.6: ICMP echo request, id 43612, seq 1, length 64
    11:06:43.999600 IP (tos 0x0, ttl 64, id 23676, offset 0, flags [none], proto UDP (17), length 134)
        10.10.16.47.55810 > 10.10.16.82.8472: OTV, flags [I] (0x08), overlay 0, instance 1
    IP (tos 0x0, ttl 63, id 45400, offset 0, flags [none], proto ICMP (1), length 84)
        10.244.2.6 > 10.244.0.22: ICMP echo reply, id 43612, seq 1, length 64
    11:06:45.018332 IP (tos 0x0, ttl 64, id 45473, offset 0, flags [none], proto UDP (17), length 134)
        10.10.16.82.47009 > 10.10.16.47.8472: OTV, flags [I] (0x08), overlay 0, instance 1
    IP (tos 0x0, ttl 63, id 56853, offset 0, flags [DF], proto ICMP (1), length 84)
        10.244.0.22 > 10.244.2.6: ICMP echo request, id 43612, seq 2, length 64
    11:06:45.018876 IP (tos 0x0, ttl 64, id 23723, offset 0, flags [none], proto UDP (17), length 134)
        10.10.16.47.55810 > 10.10.16.82.8472: OTV, flags [I] (0x08), overlay 0, instance 1
    IP (tos 0x0, ttl 63, id 45528, offset 0, flags [none], proto ICMP (1), length 84)
        10.244.2.6 > 10.244.0.22: ICMP echo reply, id 43612, seq 2, length 64

    内层报文mac是两个flannel.1设备的mac

    root@ubuntu:~# tcpdump -i enahisic2i0 host 10.10.16.47 and udp  -eennv  
    tcpdump: listening on enahisic2i0, link-type EN10MB (Ethernet), capture size 262144 bytes
    11:15:48.634354 48:57:02:64:e7:ab > 9c:52:f8:67:c4:d3, ethertype IPv4 (0x0800), length 148: (tos 0x0, ttl 64, id 36729, offset 0, flags [none], proto UDP (17), length 134)
        10.10.16.82.47009 > 10.10.16.47.8472: OTV, flags [I] (0x08), overlay 0, instance 1
    3a:2b:ed:85:2f:74 > 72:d3:9a:47:fd:43, ethertype IPv4 (0x0800), length 98: (tos 0x0, ttl 63, id 27945, offset 0, flags [DF], proto ICMP (1), length 84)
        10.244.0.22 > 10.244.2.6: ICMP echo request, id 47832, seq 12, length 64
    11:15:48.634440 9c:52:f8:67:c4:d3 > 48:57:02:64:e7:ab, ethertype IPv4 (0x0800), length 148: (tos 0x0, ttl 64, id 53685, offset 0, flags [none], proto UDP (17), length 134)
        10.10.16.47.55810 > 10.10.16.82.8472: OTV, flags [I] (0x08), overlay 0, instance 1
    72:d3:9a:47:fd:43 > 3a:2b:ed:85:2f:74, ethertype IPv4 (0x0800), length 98: (tos 0x0, ttl 63, id 51026, offset 0, flags [none], proto ICMP (1), length 84)
        10.244.2.6 > 10.244.0.22: ICMP echo reply, id 47832, seq 12, length 64
    11:15:49.658347 48:57:02:64:e7:ab > 9c:52:f8:67:c4:d3, ethertype IPv4 (0x0800), length 148: (tos 0x0, ttl 64, id 36859, offset 0, flags [none], proto UDP (17), length 134)
        10.10.16.82.47009 > 10.10.16.47.8472: OTV, flags [I] (0x08), overlay 0, instance 1
    3a:2b:ed:85:2f:74 > 72:d3:9a:47:fd:43, ethertype IPv4 (0x0800), length 98: (tos 0x0, ttl 63, id 27961, offset 0, flags [DF], proto ICMP (1), length 84)
        10.244.0.22 > 10.244.2.6: ICMP echo request, id 47832, seq 13, length 64
    11:15:49.658438 9c:52:f8:67:c4:d3 > 48:57:02:64:e7:ab, ethertype IPv4 (0x0800), length 148: (tos 0x0, ttl 64, id 53714, offset 0, flags [none], proto UDP (17), length 134)
        10.10.16.47.55810 > 10.10.16.82.8472: OTV, flags [I] (0x08), overlay 0, instance 1
    72:d3:9a:47:fd:43 > 3a:2b:ed:85:2f:74, ethertype IPv4 (0x0800), length 98: (tos 0x0, ttl 63, id 51066, offset 0, flags [none], proto ICMP (1), length 84)
        10.244.2.6 > 10.244.0.22: ICMP echo reply, id 47832, seq 13, length 64

    flannel 设备

    root@ubuntu:~# ip -d link show flannel.1
    198: flannel.1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UNKNOWN mode DEFAULT group default 
        link/ether 3a:2b:ed:85:2f:74 brd ff:ff:ff:ff:ff:ff promiscuity 0 
        vxlan id 1 local 10.10.16.82 dev enahisic2i0 srcport 0 0 dstport 8472 nolearning ttl inherit ageing 300 udpcsum noudp6zerocsumtx noudp6zerocsumrx addrgenmode eui64 numtxqueues 1 numrxqueues 1 gso_max_size 28672 gso_max_segs 65535 
    root@ubuntu:~# 
    root@ubuntu:~# bridge fdb show dev flannel.1
    72:d3:9a:47:fd:43 dst 10.10.16.47 self permanent
    10.244.2.0/24的下一跳是 10.244.2.0(worker节点flannel.1的ip)
    root@ubuntu:~# route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    0.0.0.0         10.10.16.254    0.0.0.0         UG    0      0        0 enahisic2i0
    10.10.16.0      0.0.0.0         255.255.255.0   U     0      0        0 enahisic2i0
    10.10.34.0      0.0.0.0         255.255.255.0   U     0      0        0 enahisic2i3
    10.10.100.0     0.0.0.0         255.255.255.0   U     0      0        0 peerh
    10.10.104.0     0.0.0.0         255.255.255.0   U     0      0        0 virbr1
    10.10.104.0     0.0.0.0         255.255.255.0   U     0      0        0 enahisic2i2
    10.244.0.0      0.0.0.0         255.255.255.0   U     0      0        0 cni0
    10.244.2.0      10.244.2.0      255.255.255.0   UG    0      0        0 flannel.1
    172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
    10.244.2.0的mac是72:d3:9a:47:fd:43
    root@ubuntu:~# ip n
    10.244.0.2 dev cni0 lladdr 22:44:c3:88:d4:a4 REACHABLE
    10.244.2.0 dev flannel.1 lladdr 72:d3:9a:47:fd:43 PERMANENT
    10.10.16.81 dev enahisic2i0 lladdr 48:57:02:64:ea:1b STALE
    10.10.100.82 dev peerh lladdr 1a:46:0b:ca:bc:7b STALE
    10.10.16.254 dev enahisic2i0 lladdr f4:1d:6b:87:53:2a REACHABLE
    10.10.16.47 dev enahisic2i0 lladdr 9c:52:f8:67:c4:d3 REACHABLE
    10.244.0.20 dev cni0 lladdr 6e:5a:30:bc:6d:5b STALE
    10.10.34.251 dev enahisic2i3  FAILED
    10.10.16.250 dev enahisic2i0 lladdr 48:57:02:64:ea:1b STALE
    10.244.0.3 dev cni0 lladdr b6:3f:e6:3b:a0:cc REACHABLE
    10.10.16.27 dev enahisic2i0 lladdr 9c:52:f8:67:c6:47 STALE
    10.244.0.4 dev cni0 lladdr 22:9a:d3:1f:e3:49 STALE
    10.244.0.22 dev cni0 lladdr ee:ee:d4:3a:73:67 STALE
    172.17.0.4 dev docker0 lladdr 02:42:ac:11:00:04 STALE
    172.17.0.3 dev docker0 lladdr 02:42:ac:11:00:03 STALE
    10.10.16.48 dev enahisic2i0  FAILED
    10.244.0.19 dev cni0 lladdr fa:66:b3:ab:05:9f STALE
    10.244.0.5 dev cni0 lladdr 32:26:5a:e7:0d:83 STALE
    10.10.16.1 dev enahisic2i0 lladdr 48:57:02:64:ee:9b STALE
    root@ubuntu:~# 
    72:d3:9a:47:fd:43的remote vtep ip 是10.10.16.47
    root@ubuntu:~# bridge fdb show dev flannel.1
    72:d3:9a:47:fd:43 dst 10.10.16.47 self permanent

    flannel配置

    root@ubuntu:~# cat /run/flannel/subnet.env
    FLANNEL_NETWORK=10.244.0.0/16
    FLANNEL_SUBNET=10.244.0.1/24
    FLANNEL_MTU=1450
    FLANNEL_IPMASQ=true
    root@ubuntu:~# 
    root@cloud:~#  cat /run/flannel/subnet.env
    FLANNEL_NETWORK=10.244.0.0/16
    FLANNEL_SUBNET=10.244.2.1/24
    FLANNEL_MTU=1450
    FLANNEL_IPMASQ=true
    root@cloud:~# 

    node port 

    root@cloud:~# telnet 10.244.0.22  8087  ------无法访问
    Trying 10.244.0.22...
    telnet: Unable to connect to remote host: Connection refused
    root@cloud:~# telnet 10.244.0.22  80  
    Trying 10.244.0.22...
    Connected to 10.244.0.22.
    Escape character is '^]'.
    ^CConnection closed by foreign host.
    root@cloud:~# 
    root@ubuntu:~# kubectl apply -f web-ngx-svc.yml 
    service/nodeport-svc created
    root@ubuntu:~#  kubectl get svc
    NAME           TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)          AGE
    kubernetes     ClusterIP   10.96.0.1        <none>        443/TCP          244d
    my-nginx       ClusterIP   10.110.79.116    <none>        8280/TCP         36d
    my-nginx-np    NodePort    10.99.1.231      <none>        8081:31199/TCP   36d
    nodeport-svc   NodePort    10.97.11.232     <none>        3000:30090/TCP   5s
    web2           NodePort    10.110.171.213   <none>        8097:31866/TCP   20d
    root@ubuntu:~# cat web-ngx-svc.yml 
    apiVersion: v1
    kind: Service
    metadata: 
      name: nodeport-svc
    spec:
      type: NodePort
      selector:
        app: web-nginx
      ports:
      - protocol: TCP
        port: 3000
        targetPort: 8087
        nodePort: 30090
     root@ubuntu:~# 
    1. nodePort 是节点上监听的端口
    2. port ClusterIP 上监听的端口
    3. targetPort Pod 监听的端口

    port

    port是k8s集群内部访问service的端口,即通过clusterIP: port可以访问到某个service

    nodePort

    nodePort是外部访问k8s集群中service的端口,通过nodeIP: nodePort可以从外部访问到某个service。

    targetPort

    targetPort是pod的端口,从port和nodePort来的流量经过kube-proxy流入到后端pod的targetPort上,最后进入容器。

    containerPort

    containerPort是pod内部容器的端口,targetPort映射到containerPort。

    图解

    Gpm92D.png

     

    nodeport-svc   NodePort    10.97.11.232     <none>        3000:30090/TCP   5m25s

    从10.10.16.81上访问,无法访问

    [root@bogon ~]# telnet 10.10.16.82 3000
    Trying 10.10.16.82...
    telnet: connect to address 10.10.16.82: Connection refused
    [root@bogon ~]# 
    [root@bogon ~]# telnet 10.10.16.82 30090
    Trying 10.10.16.82...
    containerPort有问题
    root@ubuntu:~# cat web-anti-affinity.yaml
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: web-nginx
    spec:
      selector:
        matchLabels:
          app: web-nginx
      replicas: 2
      template:
        metadata:
          labels:
            app: web-nginx
        spec:
          affinity:
                  #pod 反亲和性, 打散 web-nginx 各个副本
            podAntiAffinity:
              requiredDuringSchedulingIgnoredDuringExecution:
              - labelSelector:
                  matchExpressions:
                  - key: app
                    operator: In
                    values:
                    - web-nginx
                topologyKey: "kubernetes.io/hostname"
          containers:
          - image: nginx
            imagePullPolicy: IfNotPresent
            name: web2-worker
            ports:
            - containerPort: 8087
              protocol: TCP

    更改

    kubectl edit  deployment  web-nginx 

    - containerPort: 80

    编辑

    kubectl edit svc/nodeport-svc
    更改nodeport-svc

     

    [root@bogon ~]# telnet 10.10.16.82 30090
    Trying 10.10.16.82...
    Connected to 10.10.16.82.
    Escape character is '^]'.
    ^CConnection closed by foreign host.
    You have new mail in /var/spool/mail/root
    [root@bogon ~]# 

     

    node port 上抓包

    root@ubuntu:~# tcpdump -i enahisic2i0  tcp and port 30090 -ennvv
    tcpdump: listening on enahisic2i0, link-type EN10MB (Ethernet), capture size 262144 bytes
    14:51:19.081510 48:57:02:64:ea:1b > 48:57:02:64:e7:ab, ethertype IPv4 (0x0800), length 74: (tos 0x10, ttl 64, id 60738, offset 0, flags [DF], proto TCP (6), length 60)
        10.10.16.81.59402 > 10.10.16.82.30090: Flags [S], cksum 0xc918 (correct), seq 2066571357, win 29200, options [mss 1460,sackOK,TS val 16096779 ecr 0,nop,wscale 7], length 0
    14:51:19.082383 48:57:02:64:e7:ab > 48:57:02:64:ea:1b, ethertype IPv4 (0x0800), length 74: (tos 0x0, ttl 62, id 0, offset 0, flags [DF], proto TCP (6), length 60)
        10.10.16.82.30090 > 10.10.16.81.59402: Flags [S.], cksum 0x18f4 (correct), seq 2393608867, ack 2066571358, win 64308, options [mss 1410,sackOK,TS val 2683332065 ecr 16096779,nop,wscale 7], length 0
    14:51:19.082441 48:57:02:64:ea:1b > 48:57:02:64:e7:ab, ethertype IPv4 (0x0800), length 66: (tos 0x10, ttl 64, id 60739, offset 0, flags [DF], proto TCP (6), length 52)
        10.10.16.81.59402 > 10.10.16.82.30090: Flags [.], cksum 0x41dd (correct), seq 1, ack 1, win 229, options [nop,nop,TS val 16096780 ecr 2683332065], length 0
    14:51:21.830731 48:57:02:64:ea:1b > 48:57:02:64:e7:ab, ethertype IPv4 (0x0800), length 71: (tos 0x10, ttl 64, id 60740, offset 0, flags [DF], proto TCP (6), length 57)
        10.10.16.81.59402 > 10.10.16.82.30090: Flags [P.], cksum 0x3121 (correct), seq 1:6, ack 1, win 229, options [nop,nop,TS val 16099528 ecr 2683332065], length 5
    14:51:21.831085 48:57:02:64:e7:ab > 48:57:02:64:ea:1b, ethertype IPv4 (0x0800), length 66: (tos 0x0, ttl 62, id 31192, offset 0, flags [DF], proto TCP (6), length 52)
        10.10.16.82.30090 > 10.10.16.81.59402: Flags [.], cksum 0x2b4d (correct), seq 1, ack 6, win 503, options [nop,nop,TS val 2683334814 ecr 16099528], length 0
    14:51:21.831218 48:57:02:64:e7:ab > 48:57:02:64:ea:1b, ethertype IPv4 (0x0800), length 375: (tos 0x0, ttl 62, id 31193, offset 0, flags [DF], proto TCP (6), length 361)
        10.10.16.82.30090 > 10.10.16.81.59402: Flags [P.], cksum 0x81f9 (correct), seq 1:310, ack 6, win 503, options [nop,nop,TS val 2683334814 ecr 16099528], length 309
    14:51:21.831260 48:57:02:64:e7:ab > 48:57:02:64:ea:1b, ethertype IPv4 (0x0800), length 66: (tos 0x0, ttl 62, id 31194, offset 0, flags [DF], proto TCP (6), length 52)
        10.10.16.82.30090 > 10.10.16.81.59402: Flags [F.], cksum 0x2a17 (correct), seq 310, ack 6, win 503, options [nop,nop,TS val 2683334814 ecr 16099528], length 0
    14:51:21.831270 48:57:02:64:ea:1b > 48:57:02:64:e7:ab, ethertype IPv4 (0x0800), length 66: (tos 0x10, ttl 64, id 60741, offset 0, flags [DF], proto TCP (6), length 52)
        10.10.16.81.59402 > 10.10.16.82.30090: Flags [.], cksum 0x2b22 (correct), seq 6, ack 310, win 237, options [nop,nop,TS val 16099528 ecr 2683334814], length 0
    14:51:21.831341 48:57:02:64:ea:1b > 48:57:02:64:e7:ab, ethertype IPv4 (0x0800), length 66: (tos 0x10, ttl 64, id 60742, offset 0, flags [DF], proto TCP (6), length 52)
        10.10.16.81.59402 > 10.10.16.82.30090: Flags [F.], cksum 0x2b20 (correct), seq 6, ack 311, win 237, options [nop,nop,TS val 16099528 ecr 2683334814], length 0
    14:51:21.831464 48:57:02:64:e7:ab > 48:57:02:64:ea:1b, ethertype IPv4 (0x0800), length 66: (tos 0x0, ttl 62, id 31195, offset 0, flags [DF], proto TCP (6), length 52)
        10.10.16.82.30090 > 10.10.16.81.59402: Flags [.], cksum 0x2a16 (correct), seq 311, ack 7, win 503, options [nop,nop,TS val 2683334814 ecr 16099528], length 0

    worker 节点 pod  ns tcpdump

    root@cloud:~# ip a
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
    3: eth0@if20: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UP group default 
        link/ether 82:ea:86:37:c3:8d brd ff:ff:ff:ff:ff:ff link-netnsid 0
        inet 10.244.2.6/24 brd 10.244.2.255 scope global eth0
           valid_lft forever preferred_lft forever
    root@cloud:~# ip a | grep 72:d3:9a:47:fd:43
    root@cloud:~# ip a
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
    3: eth0@if20: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UP group default 
        link/ether 82:ea:86:37:c3:8d brd ff:ff:ff:ff:ff:ff link-netnsid 0
        inet 10.244.2.6/24 brd 10.244.2.255 scope global eth0
           valid_lft forever preferred_lft forever
    root@cloud:~# route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    0.0.0.0         10.244.2.1      0.0.0.0         UG    0      0        0 eth0
    10.244.0.0      10.244.2.1      255.255.0.0     UG    0      0        0 eth0
    10.244.2.0      0.0.0.0         255.255.255.0   U     0      0        0 eth0
    root@cloud:~# telnet 10.244.0.22  8087
    Trying 10.244.0.22...
    telnet: Unable to connect to remote host: Connection refused
    root@cloud:~# telnet 10.244.0.22  80
    Trying 10.244.0.22...
    Connected to 10.244.0.22.
    Escape character is '^]'.
    ^CConnection closed by foreign host.
    root@cloud:~# telnet 10.244.0.22  8087
    Trying 10.244.0.22...
    telnet: Unable to connect to remote host: Connection refused
      

    root@cloud:~# tcpdump -i eth0 tcp and port 80 -ennvv
    tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
    14:51:19.079556 0a:f9:a2:7f:2f:2a > 82:ea:86:37:c3:8d, ethertype IPv4 (0x0800), length 74: (tos 0x10, ttl 62, id 60738, offset 0, flags [DF], proto TCP (6), length 60)
    10.244.0.0.51150 > 10.244.2.6.80: Flags [S], cksum 0x7b58 (correct), seq 2066571357, win 29200, options [mss 1460,sackOK,TS val 16096779 ecr 0,nop,wscale 7], length 0
    14:51:19.079633 82:ea:86:37:c3:8d > 0a:f9:a2:7f:2f:2a, ethertype IPv4 (0x0800), length 74: (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto TCP (6), length 60)
    10.244.2.6.80 > 10.244.0.0.51150: Flags [S.], cksum 0x181c (incorrect -> 0xcb33), seq 2393608867, ack 2066571358, win 64308, options [mss 1410,sackOK,TS val 2683332065 ecr 16096779,nop,wscale 7], length 0
    14:51:19.079874 0a:f9:a2:7f:2f:2a > 82:ea:86:37:c3:8d, ethertype IPv4 (0x0800), length 66: (tos 0x10, ttl 62, id 60739, offset 0, flags [DF], proto TCP (6), length 52)
    10.244.0.0.51150 > 10.244.2.6.80: Flags [.], cksum 0xf41c (correct), seq 1, ack 1, win 229, options [nop,nop,TS val 16096780 ecr 2683332065], length 0
    14:51:21.828291 0a:f9:a2:7f:2f:2a > 82:ea:86:37:c3:8d, ethertype IPv4 (0x0800), length 71: (tos 0x10, ttl 62, id 60740, offset 0, flags [DF], proto TCP (6), length 57)
    10.244.0.0.51150 > 10.244.2.6.80: Flags [P.], cksum 0xe360 (correct), seq 1:6, ack 1, win 229, options [nop,nop,TS val 16099528 ecr 2683332065], length 5: HTTP
    14:51:21.828347 82:ea:86:37:c3:8d > 0a:f9:a2:7f:2f:2a, ethertype IPv4 (0x0800), length 66: (tos 0x0, ttl 64, id 31192, offset 0, flags [DF], proto TCP (6), length 52)
    10.244.2.6.80 > 10.244.0.0.51150: Flags [.], cksum 0x1814 (incorrect -> 0xdd8c), seq 1, ack 6, win 503, options [nop,nop,TS val 2683334814 ecr 16099528], length 0
    14:51:21.828441 82:ea:86:37:c3:8d > 0a:f9:a2:7f:2f:2a, ethertype IPv4 (0x0800), length 375: (tos 0x0, ttl 64, id 31193, offset 0, flags [DF], proto TCP (6), length 361)
    10.244.2.6.80 > 10.244.0.0.51150: Flags [P.], cksum 0x1949 (incorrect -> 0x3439), seq 1:310, ack 6, win 503, options [nop,nop,TS val 2683334814 ecr 16099528], length 309: HTTP, length: 309
    HTTP/1.1 400 Bad Request
    Server: nginx/1.19.5
    Date: Fri, 18 Jun 2021 06:51:21 GMT
    Content-Type: text/html
    Content-Length: 157
    Connection: close

    
    

    <html>
    <head><title>400 Bad Request</title></head>
    <body>
    <center><h1>400 Bad Request</h1></center>
    <hr><center>nginx/1.19.5</center>
    </body>
    </html>
    14:51:21.828560 82:ea:86:37:c3:8d > 0a:f9:a2:7f:2f:2a, ethertype IPv4 (0x0800), length 66: (tos 0x0, ttl 64, id 31194, offset 0, flags [DF], proto TCP (6), length 52)
    10.244.2.6.80 > 10.244.0.0.51150: Flags [F.], cksum 0x1814 (incorrect -> 0xdc56), seq 310, ack 6, win 503, options [nop,nop,TS val 2683334814 ecr 16099528], length 0
    14:51:21.828678 0a:f9:a2:7f:2f:2a > 82:ea:86:37:c3:8d, ethertype IPv4 (0x0800), length 66: (tos 0x10, ttl 62, id 60741, offset 0, flags [DF], proto TCP (6), length 52)
    10.244.0.0.51150 > 10.244.2.6.80: Flags [.], cksum 0xdd61 (correct), seq 6, ack 310, win 237, options [nop,nop,TS val 16099528 ecr 2683334814], length 0
    14:51:21.828747 0a:f9:a2:7f:2f:2a > 82:ea:86:37:c3:8d, ethertype IPv4 (0x0800), length 66: (tos 0x10, ttl 62, id 60742, offset 0, flags [DF], proto TCP (6), length 52)
    10.244.0.0.51150 > 10.244.2.6.80: Flags [F.], cksum 0xdd5f (correct), seq 6, ack 311, win 237, options [nop,nop,TS val 16099528 ecr 2683334814], length 0
    14:51:21.828765 82:ea:86:37:c3:8d > 0a:f9:a2:7f:2f:2a, ethertype IPv4 (0x0800), length 66: (tos 0x0, ttl 64, id 31195, offset 0, flags [DF], proto TCP (6), length 52)
    10.244.2.6.80 > 10.244.0.0.51150: Flags [.], cksum 0x1814 (incorrect -> 0xdc55), seq 311, ack 7, win 503, options [nop,nop,TS val 2683334814 ecr 16099528], length 0

     
    10.244.0.0 是 master flannel.1的ip
    root@ubuntu:~# ip a | grep 10.244.0.0
        inet 10.244.0.0/32 scope global flannel.1
    root@ubuntu:~# 
    root@ubuntu:~# ip a sh flannel.1
    198: flannel.1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UNKNOWN group default 
        link/ether 3a:2b:ed:85:2f:74 brd ff:ff:ff:ff:ff:ff
        inet 10.244.0.0/32 scope global flannel.1
           valid_lft forever preferred_lft forever
        inet6 fe80::382b:edff:fe85:2f74/64 scope link 
           valid_lft forever preferred_lft forever
    root@ubuntu:~# 
     0a:f9:a2:7f:2f:2a 是cni0的mac
    root@cloud:~# ip a | grep 0a:f9:a2:7f:2f:2a
        link/ether 0a:f9:a2:7f:2f:2a brd ff:ff:ff:ff:ff:ff
    root@cloud:~# ip a | grep 0a:f9:a2:7f:2f:2a -A 3
        link/ether 0a:f9:a2:7f:2f:2a brd ff:ff:ff:ff:ff:ff
        inet 10.244.2.1/24 brd 10.244.2.255 scope global cni0
           valid_lft forever preferred_lft forever
        inet6 fe80::8f9:a2ff:fe7f:2f2a/64 scope link 
    root@cloud:~# ip a sh cni0
    15: cni0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UP group default qlen 1000
        link/ether 0a:f9:a2:7f:2f:2a brd ff:ff:ff:ff:ff:ff
        inet 10.244.2.1/24 brd 10.244.2.255 scope global cni0
           valid_lft forever preferred_lft forever
        inet6 fe80::8f9:a2ff:fe7f:2f2a/64 scope link 
           valid_lft forever preferred_lft forever
    root@cloud:~# 
    82:ea:86:37:c3:8d
    root@cloud:~# ip a | grep 82:ea:86:37:c3:8d
        link/ether 82:ea:86:37:c3:8d brd ff:ff:ff:ff:ff:ff link-netnsid 0
    root@cloud:~# ip a
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
    3: eth0@if20: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UP group default 
        link/ether 82:ea:86:37:c3:8d brd ff:ff:ff:ff:ff:ff link-netnsid 0
        inet 10.244.2.6/24 brd 10.244.2.255 scope global eth0
           valid_lft forever preferred_lft forever
    root@cloud:~# 

    在cloud 节点上抓vxlan报文

    root@cloud:~# tcpdump  -i enahisic2i0  udp and host 10.10.16.82 -eennv
    tcpdump: listening on enahisic2i0, link-type EN10MB (Ethernet), capture size 262144 bytes
    14:51:19.079030 48:57:02:64:e7:ab > 9c:52:f8:67:c4:d3, ethertype IPv4 (0x0800), length 124: (tos 0x0, ttl 64, id 32281, offset 0, flags [none], proto UDP (17), length 110)
        10.10.16.82.22431 > 10.10.16.47.8472: OTV, flags [I] (0x08), overlay 0, instance 1
    3a:2b:ed:85:2f:74 > 72:d3:9a:47:fd:43, ethertype IPv4 (0x0800), length 74: (tos 0x10, ttl 63, id 60738, offset 0, flags [DF], proto TCP (6), length 60)
        10.244.0.0.51150 > 10.244.2.6.80: Flags [S], cksum 0x7b58 (correct), seq 2066571357, win 29200, options [mss 1460,sackOK,TS val 16096779 ecr 0,nop,wscale 7], length 0
    14:51:19.079680 9c:52:f8:67:c4:d3 > 48:57:02:64:e7:ab, ethertype IPv4 (0x0800), length 124: (tos 0x0, ttl 64, id 9365, offset 0, flags [none], proto UDP (17), length 110)
        10.10.16.47.48491 > 10.10.16.82.8472: OTV, flags [I] (0x08), overlay 0, instance 1
    72:d3:9a:47:fd:43 > 3a:2b:ed:85:2f:74, ethertype IPv4 (0x0800), length 74: (tos 0x0, ttl 63, id 0, offset 0, flags [DF], proto TCP (6), length 60)
    回复报文
    10.244.2.6.80 > 10.244.0.0.51150: Flags [S.], cksum 0xcb33 (correct), seq 2393608867, ack 2066571358, win 64308, options [mss 1410,sackOK,TS val 2683332065 ecr 16096779,nop,wscale 7], length 0 14:51:19.079853 48:57:02:64:e7:ab > 9c:52:f8:67:c4:d3, ethertype IPv4 (0x0800), length 116: (tos 0x0, ttl 64, id 32282, offset 0, flags [none], proto UDP (17), length 102) 10.10.16.82.22431 > 10.10.16.47.8472: OTV, flags [I] (0x08), overlay 0, instance 1 3a:2b:ed:85:2f:74 > 72:d3:9a:47:fd:43, ethertype IPv4 (0x0800), length 66: (tos 0x10, ttl 63, id 60739, offset 0, flags [DF], proto TCP (6), length 52) 10.244.0.0.51150 > 10.244.2.6.80: Flags [.], cksum 0xf41c (correct), ack 1, win 229, options [nop,nop,TS val 16096780 ecr 2683332065], length 0 14:51:21.828191 48:57:02:64:e7:ab > 9c:52:f8:67:c4:d3, ethertype IPv4 (0x0800), length 121: (tos 0x0, ttl 64, id 32342, offset 0, flags [none], proto UDP (17), length 107) 10.10.16.82.22431 > 10.10.16.47.8472: OTV, flags [I] (0x08), overlay 0, instance 1 3a:2b:ed:85:2f:74 > 72:d3:9a:47:fd:43, ethertype IPv4 (0x0800), length 71: (tos 0x10, ttl 63, id 60740, offset 0, flags [DF], proto TCP (6), length 57) 10.244.0.0.51150 > 10.244.2.6.80: Flags [P.], cksum 0xe360 (correct), seq 1:6, ack 1, win 229, options [nop,nop,TS val 16099528 ecr 2683332065], length 5: HTTP 14:51:21.828393 9c:52:f8:67:c4:d3 > 48:57:02:64:e7:ab, ethertype IPv4 (0x0800), length 116: (tos 0x0, ttl 64, id 9965, offset 0, flags [none], proto UDP (17), length 102) 10.10.16.47.48491 > 10.10.16.82.8472: OTV, flags [I] (0x08), overlay 0, instance 1 72:d3:9a:47:fd:43 > 3a:2b:ed:85:2f:74, ethertype IPv4 (0x0800), length 66: (tos 0x0, ttl 63, id 31192, offset 0, flags [DF], proto TCP (6), length 52) 10.244.2.6.80 > 10.244.0.0.51150: Flags [.], cksum 0xdd8c (correct), ack 6, win 503, options [nop,nop,TS val 2683334814 ecr 16099528], length 0 14:51:21.828526 9c:52:f8:67:c4:d3 > 48:57:02:64:e7:ab, ethertype IPv4 (0x0800), length 425: (tos 0x0, ttl 64, id 9966, offset 0, flags [none], proto UDP (17), length 411) 10.10.16.47.48491 > 10.10.16.82.8472: OTV, flags [I] (0x08), overlay 0, instance 1 72:d3:9a:47:fd:43 > 3a:2b:ed:85:2f:74, ethertype IPv4 (0x0800), length 375: (tos 0x0, ttl 63, id 31193, offset 0, flags [DF], proto TCP (6), length 361) 10.244.2.6.80 > 10.244.0.0.51150: Flags [P.], cksum 0x3439 (correct), seq 1:310, ack 6, win 503, options [nop,nop,TS val 2683334814 ecr 16099528], length 309: HTTP, length: 309 HTTP/1.1 400 Bad Request Server: nginx/1.19.5 Date: Fri, 18 Jun 2021 06:51:21 GMT Content-Type: text/html Content-Length: 157 Connection: close <html> <head><title>400 Bad Request</title></head> <body> <center><h1>400 Bad Request</h1></center> <hr><center>nginx/1.19.5</center> </body> </html> 14:51:21.828576 9c:52:f8:67:c4:d3 > 48:57:02:64:e7:ab, ethertype IPv4 (0x0800), length 116: (tos 0x0, ttl 64, id 9967, offset 0, flags [none], proto UDP (17), length 102) 10.10.16.47.48491 > 10.10.16.82.8472: OTV, flags [I] (0x08), overlay 0, instance 1 72:d3:9a:47:fd:43 > 3a:2b:ed:85:2f:74, ethertype IPv4 (0x0800), length 66: (tos 0x0, ttl 63, id 31194, offset 0, flags [DF], proto TCP (6), length 52) 10.244.2.6.80 > 10.244.0.0.51150: Flags [F.], cksum 0xdc56 (correct), seq 310, ack 6, win 503, options [nop,nop,TS val 2683334814 ecr 16099528], length 0 14:51:21.828659 48:57:02:64:e7:ab > 9c:52:f8:67:c4:d3, ethertype IPv4 (0x0800), length 116: (tos 0x0, ttl 64, id 32343, offset 0, flags [none], proto UDP (17), length 102) 10.10.16.82.22431 > 10.10.16.47.8472: OTV, flags [I] (0x08), overlay 0, instance 1 3a:2b:ed:85:2f:74 > 72:d3:9a:47:fd:43, ethertype IPv4 (0x0800), length 66: (tos 0x10, ttl 63, id 60741, offset 0, flags [DF], proto TCP (6), length 52) 10.244.0.0.51150 > 10.244.2.6.80: Flags [.], cksum 0xdd61 (correct), ack 310, win 237, options [nop,nop,TS val 16099528 ecr 2683334814], length 0 14:51:21.828734 48:57:02:64:e7:ab > 9c:52:f8:67:c4:d3, ethertype IPv4 (0x0800), length 116: (tos 0x0, ttl 64, id 32344, offset 0, flags [none], proto UDP (17), length 102) 10.10.16.82.22431 > 10.10.16.47.8472: OTV, flags [I] (0x08), overlay 0, instance 1 3a:2b:ed:85:2f:74 > 72:d3:9a:47:fd:43, ethertype IPv4 (0x0800), length 66: (tos 0x10, ttl 63, id 60742, offset 0, flags [DF], proto TCP (6), length 52) 10.244.0.0.51150 > 10.244.2.6.80: Flags [F.], cksum 0xdd5f (correct), seq 6, ack 311, win 237, options [nop,nop,TS val 16099528 ecr 2683334814], length 0 14:51:21.828793 9c:52:f8:67:c4:d3 > 48:57:02:64:e7:ab, ethertype IPv4 (0x0800), length 116: (tos 0x0, ttl 64, id 9968, offset 0, flags [none], proto UDP (17), length 102) 10.10.16.47.48491 > 10.10.16.82.8472: OTV, flags [I] (0x08), overlay 0, instance 1 72:d3:9a:47:fd:43 > 3a:2b:ed:85:2f:74, ethertype IPv4 (0x0800), length 66: (tos 0x0, ttl 63, id 31195, offset 0, flags [DF], proto TCP (6), length 52) 10.244.2.6.80 > 10.244.0.0.51150: Flags [.], cksum 0xdc55 (correct), ack 7, win 503, options [nop,nop,TS val 2683334814 ecr 16099528], length 0 ^C 10 packets captured 10 packets received by filter 0 packets dropped by kernel

    转发到master上的pod

    [root@bogon ~]# telnet 10.10.16.82 30090
    Trying 10.10.16.82...
    Connected to 10.10.16.82.
    Escape character is '^]'.
    Connection closed by foreign host.
    You have mail in /var/spool/mail/root
    [root@bogon ~]
    root@ubuntu:~#  conntrack -L -o ktimestamp | grep 30090
    tcp      6 86374 ESTABLISHED src=10.10.16.81 dst=10.10.16.82 sport=59600 dport=30090 src=10.244.0.22 dst=10.244.0.1 sport=80 dport=9351 [ASSURED] mark=0 use=1
    conntrack v1.4.4 (conntrack-tools): 157 flow entries have been shown.
    root@ubuntu:~# 
    root@ubuntu:~# tcpdump -i eth0 tcp and port 80 -ennvv
    tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
    15:03:43.259291 be:ca:86:22:86:b8 > ee:ee:d4:3a:73:67, ethertype IPv4 (0x0800), length 74: (tos 0x10, ttl 63, id 59038, offset 0, flags [DF], proto TCP (6), length 60)
        10.244.0.1.9351 > 10.244.0.22.80: Flags [S], cksum 0x1226 (correct), seq 1169049935, win 29200, options [mss 1460,sackOK,TS val 16840950 ecr 0,nop,wscale 7], length 0
    15:03:43.259337 ee:ee:d4:3a:73:67 > be:ca:86:22:86:b8, ethertype IPv4 (0x0800), length 74: (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto TCP (6), length 60)
        10.244.0.22.80 > 10.244.0.1.9351: Flags [S.], cksum 0x162d (incorrect -> 0x40ca), seq 3025682805, ack 1169049936, win 64308, options [mss 1410,sackOK,TS val 3735122920 ecr 16840950,nop,wscale 7], length 0
    15:03:43.259466 be:ca:86:22:86:b8 > ee:ee:d4:3a:73:67, ethertype IPv4 (0x0800), length 66: (tos 0x10, ttl 63, id 59039, offset 0, flags [DF], proto TCP (6), length 52)
        10.244.0.1.9351 > 10.244.0.22.80: Flags [.], cksum 0x69b4 (correct), seq 1, ack 1, win 229, options [nop,nop,TS val 16840950 ecr 3735122920], length 0
    15:04:43.300895 ee:ee:d4:3a:73:67 > be:ca:86:22:86:b8, ethertype IPv4 (0x0800), length 66: (tos 0x0, ttl 64, id 58214, offset 0, flags [DF], proto TCP (6), length 52)
        10.244.0.22.80 > 10.244.0.1.9351: Flags [F.], cksum 0x1625 (incorrect -> 0x7e17), seq 1, ack 1, win 503, options [nop,nop,TS val 3735182961 ecr 16840950], length 0
    15:04:43.301177 be:ca:86:22:86:b8 > ee:ee:d4:3a:73:67, ethertype IPv4 (0x0800), length 66: (tos 0x10, ttl 63, id 59040, offset 0, flags [DF], proto TCP (6), length 52)
        10.244.0.1.9351 > 10.244.0.22.80: Flags [F.], cksum 0x949d (correct), seq 1, ack 2, win 229, options [nop,nop,TS val 16900992 ecr 3735182961], length 0
    15:04:43.301212 ee:ee:d4:3a:73:67 > be:ca:86:22:86:b8, ethertype IPv4 (0x0800), length 66: (tos 0x0, ttl 64, id 58215, offset 0, flags [DF], proto TCP (6), length 52)
        10.244.0.22.80 > 10.244.0.1.9351: Flags [.], cksum 0x1625 (incorrect -> 0x938a), seq 2, ack 2, win 503, options [nop,nop,TS val 3735182962 ecr 16900992], length 0
    10.244.0.1是cni0接口的ip不是flannel
    root@ubuntu:~# ip a sh cni0
    193: cni0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UP group default qlen 1000
        link/ether be:ca:86:22:86:b8 brd ff:ff:ff:ff:ff:ff
        inet 10.244.0.1/24 brd 10.244.0.255 scope global cni0
           valid_lft forever preferred_lft forever
        inet6 fe80::bcca:86ff:fe22:86b8/64 scope link 
           valid_lft forever preferred_lft forever
    root@ubuntu:~# 

    worker节点上的contrack

    root@cloud:~# ip a
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
    3: eth0@if20: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UP group default 
        link/ether 82:ea:86:37:c3:8d brd ff:ff:ff:ff:ff:ff link-netnsid 0
        inet 10.244.2.6/24 brd 10.244.2.255 scope global eth0
           valid_lft forever preferred_lft forever
    root@cloud:~# tcpdump -i eth0 tcp and port 80 -ennvv
    tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
    15:10:11.390387 0a:f9:a2:7f:2f:2a > 82:ea:86:37:c3:8d, ethertype IPv4 (0x0800), length 74: (tos 0x10, ttl 62, id 24198, offset 0, flags [DF], proto TCP (6), length 60)
        10.244.0.0.17110 > 10.244.2.6.80: Flags [S], cksum 0x5918 (correct), seq 565778920, win 29200, options [mss 1460,sackOK,TS val 17229084 ecr 0,nop,wscale 7], length 0
    15:10:11.390454 82:ea:86:37:c3:8d > 0a:f9:a2:7f:2f:2a, ethertype IPv4 (0x0800), length 74: (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto TCP (6), length 60)
        10.244.2.6.80 > 10.244.0.0.17110: Flags [S.], cksum 0x181c (incorrect -> 0x4fce), seq 2968027747, ack 565778921, win 64308, options [mss 1410,sackOK,TS val 2684464376 ecr 17229084,nop,wscale 7], length 0
    15:10:11.390693 0a:f9:a2:7f:2f:2a > 82:ea:86:37:c3:8d, ethertype IPv4 (0x0800), length 66: (tos 0x10, ttl 62, id 24199, offset 0, flags [DF], proto TCP (6), length 52)
        10.244.0.0.17110 > 10.244.2.6.80: Flags [.], cksum 0x78b8 (correct), seq 1, ack 1, win 229, options [nop,nop,TS val 17229084 ecr 2684464376], length 0
    15:11:11.450903 82:ea:86:37:c3:8d > 0a:f9:a2:7f:2f:2a, ethertype IPv4 (0x0800), length 66: (tos 0x0, ttl 64, id 54256, offset 0, flags [DF], proto TCP (6), length 52)
        10.244.2.6.80 > 10.244.0.0.17110: Flags [F.], cksum 0x1814 (incorrect -> 0x8d08), seq 1, ack 1, win 503, options [nop,nop,TS val 2684524436 ecr 17229084], length 0
    15:11:11.451320 0a:f9:a2:7f:2f:2a > 82:ea:86:37:c3:8d, ethertype IPv4 (0x0800), length 66: (tos 0x10, ttl 62, id 24200, offset 0, flags [DF], proto TCP (6), length 52)
        10.244.0.0.17110 > 10.244.2.6.80: Flags [F.], cksum 0xa37b (correct), seq 1, ack 2, win 229, options [nop,nop,TS val 17289145 ecr 2684524436], length 0
    15:11:11.451343 82:ea:86:37:c3:8d > 0a:f9:a2:7f:2f:2a, ethertype IPv4 (0x0800), length 66: (tos 0x0, ttl 64, id 54257, offset 0, flags [DF], proto TCP (6), length 52)
        10.244.2.6.80 > 10.244.0.0.17110: Flags [.], cksum 0x1814 (incorrect -> 0xa268), seq 2, ack 2, win 503, options [nop,nop,TS val 2684524437 ecr 17289145], length 0
    root@cloud:~# conntrack -L -o ktimestamp | grep 17110
    conntrack v1.4.4 (conntrack-tools): 9 flow entries have been shown.
    tcp      6 106 TIME_WAIT src=10.244.0.0 dst=10.244.2.6 sport=17110 dport=80 src=10.244.2.6 dst=10.244.0.0 sport=80 dport=17110 [ASSURED] mark=0 use=1
    root@cloud:~# conntrack -L -o ktimestamp | grep 17110
    conntrack v1.4.4 (conntrack-tools): 9 flow entries have been shown.
    tcp      6 103 TIME_WAIT src=10.244.0.0 dst=10.244.2.6 sport=17110 dport=80 src=10.244.2.6 dst=10.244.0.0 sport=80 dport=17110 [ASSURED] mark=0 use=1
    root@cloud:~# ip a sh flannl.1
    Device "flannl.1" does not exist.
    root@cloud:~# ip a sh flannel.1
    14: flannel.1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UNKNOWN group default 
        link/ether 72:d3:9a:47:fd:43 brd ff:ff:ff:ff:ff:ff
        inet 10.244.2.0/32 scope global flannel.1
           valid_lft forever preferred_lft forever
        inet6 fe80::70d3:9aff:fe47:fd43/64 scope link 
           valid_lft forever preferred_lft forever
    root@cloud:~# 

    demo2

    root@cloud:~# ip a
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
    3: eth0@if20: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UP group default 
        link/ether 82:ea:86:37:c3:8d brd ff:ff:ff:ff:ff:ff link-netnsid 0
        inet 10.244.2.6/24 brd 10.244.2.255 scope global eth0
           valid_lft forever preferred_lft forever
    root@cloud:~# tcpdump -i eth0 tcp and port 80 -ennvv
    tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
    15:10:11.390387 0a:f9:a2:7f:2f:2a > 82:ea:86:37:c3:8d, ethertype IPv4 (0x0800), length 74: (tos 0x10, ttl 62, id 24198, offset 0, flags [DF], proto TCP (6), length 60)
        10.244.0.0.17110 > 10.244.2.6.80: Flags [S], cksum 0x5918 (correct), seq 565778920, win 29200, options [mss 1460,sackOK,TS val 17229084 ecr 0,nop,wscale 7], length 0
    15:10:11.390454 82:ea:86:37:c3:8d > 0a:f9:a2:7f:2f:2a, ethertype IPv4 (0x0800), length 74: (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto TCP (6), length 60)
        10.244.2.6.80 > 10.244.0.0.17110: Flags [S.], cksum 0x181c (incorrect -> 0x4fce), seq 2968027747, ack 565778921, win 64308, options [mss 1410,sackOK,TS val 2684464376 ecr 17229084,nop,wscale 7], length 0
    15:10:11.390693 0a:f9:a2:7f:2f:2a > 82:ea:86:37:c3:8d, ethertype IPv4 (0x0800), length 66: (tos 0x10, ttl 62, id 24199, offset 0, flags [DF], proto TCP (6), length 52)
        10.244.0.0.17110 > 10.244.2.6.80: Flags [.], cksum 0x78b8 (correct), seq 1, ack 1, win 229, options [nop,nop,TS val 17229084 ecr 2684464376], length 0
    15:11:11.450903 82:ea:86:37:c3:8d > 0a:f9:a2:7f:2f:2a, ethertype IPv4 (0x0800), length 66: (tos 0x0, ttl 64, id 54256, offset 0, flags [DF], proto TCP (6), length 52)
        10.244.2.6.80 > 10.244.0.0.17110: Flags [F.], cksum 0x1814 (incorrect -> 0x8d08), seq 1, ack 1, win 503, options [nop,nop,TS val 2684524436 ecr 17229084], length 0
    15:11:11.451320 0a:f9:a2:7f:2f:2a > 82:ea:86:37:c3:8d, ethertype IPv4 (0x0800), length 66: (tos 0x10, ttl 62, id 24200, offset 0, flags [DF], proto TCP (6), length 52)
        10.244.0.0.17110 > 10.244.2.6.80: Flags [F.], cksum 0xa37b (correct), seq 1, ack 2, win 229, options [nop,nop,TS val 17289145 ecr 2684524436], length 0
    15:11:11.451343 82:ea:86:37:c3:8d > 0a:f9:a2:7f:2f:2a, ethertype IPv4 (0x0800), length 66: (tos 0x0, ttl 64, id 54257, offset 0, flags [DF], proto TCP (6), length 52)
        10.244.2.6.80 > 10.244.0.0.17110: Flags [.], cksum 0x1814 (incorrect -> 0xa268), seq 2, ack 2, win 503, options [nop,nop,TS val 2684524437 ecr 17289145], length 0
    15:13:54.600850 0a:f9:a2:7f:2f:2a > 82:ea:86:37:c3:8d, ethertype IPv4 (0x0800), length 74: (tos 0x10, ttl 62, id 9591, offset 0, flags [DF], proto TCP (6), length 60)
        10.244.0.0.31890 > 10.244.2.6.80: Flags [S], cksum 0xd396 (correct), seq 1670495208, win 29200, options [mss 1460,sackOK,TS val 17452293 ecr 0,nop,wscale 7], length 0
    15:13:54.600913 82:ea:86:37:c3:8d > 0a:f9:a2:7f:2f:2a, ethertype IPv4 (0x0800), length 74: (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto TCP (6), length 60)
        10.244.2.6.80 > 10.244.0.0.31890: Flags [S.], cksum 0x181c (incorrect -> 0x52f7), seq 1541400276, ack 1670495209, win 64308, options [mss 1410,sackOK,TS val 2684687586 ecr 17452293,nop,wscale 7], length 0
    15:13:54.601144 0a:f9:a2:7f:2f:2a > 82:ea:86:37:c3:8d, ethertype IPv4 (0x0800), length 66: (tos 0x10, ttl 62, id 9592, offset 0, flags [DF], proto TCP (6), length 52)
        10.244.0.0.31890 > 10.244.2.6.80: Flags [.], cksum 0x7be1 (correct), seq 1, ack 1, win 229, options [nop,nop,TS val 17452293 ecr 2684687586], length 0

    master节点上的contrack

    root@ubuntu:~# conntrack -L -o ktimestamp | grep 31890
    tcp      6 86376 ESTABLISHED src=10.10.16.81 dst=10.10.16.82 sport=59720 dport=30090 src=10.244.2.6 dst=10.244.0.0 sport=80 dport=31890 [ASSURED] mark=0 use=2
    conntrack v1.4.4 (conntrack-tools): 158 flow entries have been shown.
    root@ubuntu:~# 

    worker节点上的contrack

    conntrack v1.4.4 (conntrack-tools): 9 flow entries have been shown.
    tcp      6 86384 ESTABLISHED src=10.244.0.0 dst=10.244.2.6 sport=31890 dport=80 src=10.244.2.6 dst=10.244.0.0 sport=80 dport=31890 [ASSURED] mark=0 use=1
    root@cloud:~# conntrack -L -o ktimestamp | grep 31890
    conntrack v1.4.4 (conntrack-tools): 7 flow entries have been shown.
    tcp      6 9 TIME_WAIT src=10.244.0.0 dst=10.244.2.6 sport=31890 dport=80 src=10.244.2.6 dst=10.244.0.0 sport=80 dport=31890 [ASSURED] mark=0 use=1
    root@cloud:~# 

    使用etcdctl访问kubernetes数据

    Kubenretes1.6中使用etcd V3版本的API,使用etcdctl直接ls的话只能看到/kube-centos一个路径。需要在命令前加上ETCDCTL_API=3这个环境变量才能看到kuberentes在etcd中保存的数据。

    root@ubuntu:~/etcd-v3.5.0-linux-arm64# ETCDCTL_API=3 etcdctl get /registry/namespaces/default -w=json|python -m json.tool
    Error:  context deadline exceeded
    No JSON object could be decoded
    root@ubuntu:~/etcd-v3.5.0-linux-arm64# 

    如果是使用 kubeadm 创建的集群,在 Kubenretes 1.11 中,etcd 默认使用 tls ,这时你可以在 master 节点上使用以下命令来访问 etcd :

    root@ubuntu:~/etcd-v3.5.0-linux-arm64#  ETCDCTL_API=3 ./etcdctl --cacert=/etc/kubernetes/pki/etcd/ca.crt 
    > --cert=/etc/kubernetes/pki/etcd/peer.crt 
    > --key=/etc/kubernetes/pki/etcd/peer.key 
    > get /registry/namespaces/default -w=json | jq .
    {
      "header": {
        "cluster_id": 755078206002876000,
        "member_id": 9167673865571135000,
        "revision": 46601099,
        "raft_term": 2
      },
      "kvs": [
        {
          "key": "L3JlZ2lzdHJ5L25hbWVzcGFjZXMvZGVmYXVsdA==",
          "create_revision": 152,
          "mod_revision": 152,
          "version": 1,
          "value": "azhzAAoPCgJ2MRIJTmFtZXNwYWNlErIBCpcBCgdkZWZhdWx0EgAaACIAKiQ5MTcxNWVkNy1hM2VjLTQ4MzAtOTk2ZS0zNTM1MmY2Y2Y2NDQyADgAQggIz8il/AUQAHoAigFPCg5rdWJlLWFwaXNlcnZlchIGVXBkYXRlGgJ2MSIICM/IpfwFEAAyCEZpZWxkc1YxOh0KG3siZjpzdGF0dXMiOnsiZjpwaGFzZSI6e319fRIMCgprdWJlcm5ldGVzGggKBkFjdGl2ZRoAIgA="
        }
      ],
      "count": 1
    }
    root@ubuntu:~/etcd-v3.5.0-linux-arm64# ETCDCTL_API=3 ./etcdctl get /registry/namespaces --prefix -w=json|python -m json.tool
    {"level":"warn","ts":"2021-06-18T11:56:38.960+0800","logger":"etcd-client","caller":"v3/retry_interceptor.go:62","msg":"retrying of unary invoker failed","target":"etcd-endpoints://0x40004aaa80/#initially=[127.0.0.1:2379]","attempt":0,"error":"rpc error: code = DeadlineExceeded desc = latest balancer error: last connection error: connection closed"}
    Error: context deadline exceeded
    No JSON object could be decoded
    root@ubuntu:~/etcd-v3.5.0-linux-arm64# 

    iptables 和30090

    worker 节点

    root@cloud:~# iptables -nvL -t nat | grep 30090
        0     0 KUBE-MARK-MASQ  tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            /* default/nodeport-svc: */ tcp dpt:30090
        0     0 KUBE-SVC-GFPAJ7EGCNM4QF4H  tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            /* default/nodeport-svc: */ tcp dpt:30090
    root@cloud:~# 

     master pod tcpdump

    root@ubuntu:~# tcpdump -i eth0 tcp and port 80 -ennvv
    tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
    15:24:46.235872 be:ca:86:22:86:b8 > ee:ee:d4:3a:73:67, ethertype IPv4 (0x0800), length 74: (tos 0x0, ttl 55, id 38770, offset 0, flags [DF], proto TCP (6), length 60)
        10.244.2.0.19231 > 10.244.0.22.80: Flags [S], cksum 0xb1ea (correct), seq 799646685, win 64240, options [mss 1460,nop,wscale 8,sackOK,TS val 857682193 ecr 0], length 0
    15:24:46.235924 ee:ee:d4:3a:73:67 > be:ca:86:22:86:b8, ethertype IPv4 (0x0800), length 74: (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto TCP (6), length 60)
        10.244.0.22.80 > 10.244.2.0.19231: Flags [S.], cksum 0x182c (incorrect -> 0x362f), seq 4026376631, ack 799646686, win 64308, options [mss 1410,sackOK,TS val 741064120 ecr 857682193,nop,wscale 7], length 0
    15:24:46.237318 be:ca:86:22:86:b8 > ee:ee:d4:3a:73:67, ethertype IPv4 (0x0800), length 66: (tos 0x0, ttl 55, id 38773, offset 0, flags [DF], proto TCP (6), length 52)
        10.244.2.0.19231 > 10.244.0.22.80: Flags [.], cksum 0x5dfb (correct), seq 1, ack 1, win 513, options [nop,nop,TS val 857682195 ecr 741064120], length 0
    ^C
    3 packets captured
    3 packets received by filter
    0 packets dropped by kernel
    root@ubuntu:~# ip a
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
        inet6 ::1/128 scope host 
           valid_lft forever preferred_lft forever
    3: eth0@if673: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UP group default 
        link/ether ee:ee:d4:3a:73:67 brd ff:ff:ff:ff:ff:ff link-netnsid 0
        inet 10.244.0.22/24 brd 10.244.0.255 scope global eth0
           valid_lft forever preferred_lft forever
        inet6 fe80::ecee:d4ff:fe3a:7367/64 scope link 
           valid_lft forever preferred_lft forever
    root@ubuntu:~# 

    master tcp vxlan 

    访问http://10.10.16.47:30090/从worker封装vxlan转发到master 的 pod

    tcpdump: listening on enahisic2i0, link-type EN10MB (Ethernet), capture size 262144 bytes
    15:24:46.235778 9c:52:f8:67:c4:d3 > 48:57:02:64:e7:ab, ethertype IPv4 (0x0800), length 124: (tos 0x0, ttl 64, id 50002, offset 0, flags [none], proto UDP (17), length 110)
        10.10.16.47.11568 > 10.10.16.82.8472: OTV, flags [I] (0x08), overlay 0, instance 1
    72:d3:9a:47:fd:43 > 3a:2b:ed:85:2f:74, ethertype IPv4 (0x0800), length 74: (tos 0x0, ttl 56, id 38770, offset 0, flags [DF], proto TCP (6), length 60)
        10.244.2.0.19231 > 10.244.0.22.80: Flags [S], cksum 0xb1ea (correct), seq 799646685, win 64240, options [mss 1460,nop,wscale 8,sackOK,TS val 857682193 ecr 0], length 0
    15:24:46.235969 48:57:02:64:e7:ab > 9c:52:f8:67:c4:d3, ethertype IPv4 (0x0800), length 124: (tos 0x0, ttl 64, id 1499, offset 0, flags [none], proto UDP (17), length 110)
        10.10.16.82.58148 > 10.10.16.47.8472: OTV, flags [I] (0x08), overlay 0, instance 1
    3a:2b:ed:85:2f:74 > 72:d3:9a:47:fd:43, ethertype IPv4 (0x0800), length 74: (tos 0x0, ttl 63, id 0, offset 0, flags [DF], proto TCP (6), length 60)
        10.244.0.22.80 > 10.244.2.0.19231: Flags [S.], cksum 0x362f (correct), seq 4026376631, ack 799646686, win 64308, options [mss 1410,sackOK,TS val 741064120 ecr 857682193,nop,wscale 7], length 0
    15:24:46.237290 9c:52:f8:67:c4:d3 > 48:57:02:64:e7:ab, ethertype IPv4 (0x0800), length 116: (tos 0x0, ttl 64, id 50003, offset 0, flags [none], proto UDP (17), length 102)
        10.10.16.47.11568 > 10.10.16.82.8472: OTV, flags [I] (0x08), overlay 0, instance 1
    72:d3:9a:47:fd:43 > 3a:2b:ed:85:2f:74, ethertype IPv4 (0x0800), length 66: (tos 0x0, ttl 56, id 38773, offset 0, flags [DF], proto TCP (6), length 52)
        10.244.2.0.19231 > 10.244.0.22.80: Flags [.], cksum 0x5dfb (correct), ack 1, win 513, options [nop,nop,TS val 857682195 ecr 741064120], length 0
    15:25:31.249957 9c:52:f8:67:c4:d3 > 48:57:02:64:e7:ab, ethertype IPv4 (0x0800), length 105: (tos 0x0, ttl 64, id 54722, offset 0, flags [none], proto UDP (17), length 91)
        10.10.16.47.59334 > 10.10.16.82.8472: OTV, flags [I] (0x08), overlay 0, instance 1
    72:d3:9a:47:fd:43 > 3a:2b:ed:85:2f:74, ethertype IPv4 (0x0800), length 55: (tos 0x0, ttl 56, id 38782, offset 0, flags [DF], proto TCP (6), length 41)
        10.244.2.0.19231 > 10.244.0.22.80: Flags [.], cksum 0xe528 (correct), seq 0:1, ack 1, win 513, length 1: HTTP
    15:25:31.250099 48:57:02:64:e7:ab > 9c:52:f8:67:c4:d3, ethertype IPv4 (0x0800), length 128: (tos 0x0, ttl 64, id 7543, offset 0, flags [none], proto UDP (17), length 114)
        10.10.16.82.58148 > 10.10.16.47.8472: OTV, flags [I] (0x08), overlay 0, instance 1
    3a:2b:ed:85:2f:74 > 72:d3:9a:47:fd:43, ethertype IPv4 (0x0800), length 78: (tos 0x0, ttl 63, id 53960, offset 0, flags [DF], proto TCP (6), length 64)
        10.244.0.22.80 > 10.244.2.0.19231: Flags [.], cksum 0xd108 (correct), ack 1, win 503, options [nop,nop,TS val 741109134 ecr 857682195,nop,nop,sack 1 {0:1}], length 0
    15:25:46.246753 48:57:02:64:e7:ab > 9c:52:f8:67:c4:d3, ethertype IPv4 (0x0800), length 116: (tos 0x0, ttl 64, id 9669, offset 0, flags [none], proto UDP (17), length 102)
        10.10.16.82.58148 > 10.10.16.47.8472: OTV, flags [I] (0x08), overlay 0, instance 1
    3a:2b:ed:85:2f:74 > 72:d3:9a:47:fd:43, ethertype IPv4 (0x0800), length 66: (tos 0x0, ttl 63, id 53961, offset 0, flags [DF], proto TCP (6), length 52)
        10.244.0.22.80 > 10.244.2.0.19231: Flags [F.], cksum 0x7398 (correct), seq 1, ack 1, win 503, options [nop,nop,TS val 741124131 ecr 857682195], length 0
    15:25:46.249499 9c:52:f8:67:c4:d3 > 48:57:02:64:e7:ab, ethertype IPv4 (0x0800), length 116: (tos 0x0, ttl 64, id 57649, offset 0, flags [none], proto UDP (17), length 102)
        10.10.16.47.59334 > 10.10.16.82.8472: OTV, flags [I] (0x08), overlay 0, instance 1
    72:d3:9a:47:fd:43 > 3a:2b:ed:85:2f:74, ethertype IPv4 (0x0800), length 66: (tos 0x0, ttl 56, id 38784, offset 0, flags [DF], proto TCP (6), length 52)
        10.244.2.0.19231 > 10.244.0.22.80: Flags [.], cksum 0x8921 (correct), ack 2, win 513, options [nop,nop,TS val 857742207 ecr 741124131], length 0
    ^C
    7 packets captured
    7 packets received by filter
    0 packets dropped by kernel
    root@ubuntu:~# 

    master节点

    root@ubuntu:~# iptables -nvL -t nat | grep 30090
       12   720 KUBE-MARK-MASQ  tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            /* default/nodeport-svc: */ tcp dpt:30090
       12   720 KUBE-SVC-GFPAJ7EGCNM4QF4H  tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            /* default/nodeport-svc: */ tcp dpt:30090
    root@ubuntu:~# 

    tartgetport

    root@ubuntu:~# kubectl get svc
    NAME           TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)          AGE
    kubernetes     ClusterIP   10.96.0.1        <none>        443/TCP          244d
    my-nginx       ClusterIP   10.110.79.116    <none>        8280/TCP         37d
    my-nginx-np    NodePort    10.99.1.231      <none>        8081:31199/TCP   36d
    nodeport-svc   NodePort    10.97.11.232     <none>        3000:30090/TCP   60m
    web2           NodePort    10.110.171.213   <none>        8097:31866/TCP   20d

    master 节点

    root@ubuntu:~# telnet 10.97.11.232 3000
    Trying 10.97.11.232...
    Connected to 10.97.11.232.
    Escape character is '^]'.
    ^CConnection closed by foreign host.
    root@ubuntu:~#

    root@ubuntu:~# ip a
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
        inet6 ::1/128 scope host 
           valid_lft forever preferred_lft forever
    3: eth0@if673: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UP group default 
        link/ether ee:ee:d4:3a:73:67 brd ff:ff:ff:ff:ff:ff link-netnsid 0
        inet 10.244.0.22/24 brd 10.244.0.255 scope global eth0
           valid_lft forever preferred_lft forever
        inet6 fe80::ecee:d4ff:fe3a:7367/64 scope link 
           valid_lft forever preferred_lft forever
    root@ubuntu:~# tcpdump -i eth0 tcp and port 80 -ennvv
    tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
    15:38:01.400552 be:ca:86:22:86:b8 > ee:ee:d4:3a:73:67, ethertype IPv4 (0x0800), length 74: (tos 0x10, ttl 64, id 47011, offset 0, flags [DF], proto TCP (6), length 60)
        10.244.0.1.22003 > 10.244.0.22.80: Flags [S], cksum 0x162d (incorrect -> 0x6ed9), seq 2804599892, win 64240, options [mss 1460,sackOK,TS val 1489413550 ecr 0,nop,wscale 7], length 0
    15:38:01.400599 ee:ee:d4:3a:73:67 > be:ca:86:22:86:b8, ethertype IPv4 (0x0800), length 74: (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto TCP (6), length 60)
        10.244.0.22.80 > 10.244.0.1.22003: Flags [S.], cksum 0x162d (incorrect -> 0xba83), seq 2185197484, ack 2804599893, win 64308, options [mss 1410,sackOK,TS val 3737181061 ecr 1489413550,nop,wscale 7], length 0
    15:38:01.400652 be:ca:86:22:86:b8 > ee:ee:d4:3a:73:67, ethertype IPv4 (0x0800), length 66: (tos 0x10, ttl 64, id 47012, offset 0, flags [DF], proto TCP (6), length 52)
        10.244.0.1.22003 > 10.244.0.22.80: Flags [.], cksum 0x1625 (incorrect -> 0xe25c), seq 1, ack 1, win 502, options [nop,nop,TS val 1489413550 ecr 3737181061], length 0
    15:38:04.725599 be:ca:86:22:86:b8 > ee:ee:d4:3a:73:67, ethertype IPv4 (0x0800), length 71: (tos 0x10, ttl 64, id 47013, offset 0, flags [DF], proto TCP (6), length 57)
        10.244.0.1.22003 > 10.244.0.22.80: Flags [P.], cksum 0x162a (incorrect -> 0xcf5f), seq 1:6, ack 1, win 502, options [nop,nop,TS val 1489416875 ecr 3737181061], length 5: HTTP
    15:38:04.725633 ee:ee:d4:3a:73:67 > be:ca:86:22:86:b8, ethertype IPv4 (0x0800), length 66: (tos 0x0, ttl 64, id 3162, offset 0, flags [DF], proto TCP (6), length 52)
        10.244.0.22.80 > 10.244.0.1.22003: Flags [.], cksum 0x1625 (incorrect -> 0xc85c), seq 1, ack 6, win 503, options [nop,nop,TS val 3737184386 ecr 1489416875], length 0
    15:38:04.725812 ee:ee:d4:3a:73:67 > be:ca:86:22:86:b8, ethertype IPv4 (0x0800), length 375: (tos 0x0, ttl 64, id 3163, offset 0, flags [DF], proto TCP (6), length 361)
        10.244.0.22.80 > 10.244.0.1.22003: Flags [P.], cksum 0x175a (incorrect -> 0x1b1e), seq 1:310, ack 6, win 503, options [nop,nop,TS val 3737184386 ecr 1489416875], length 309: HTTP, length: 309
            HTTP/1.1 400 Bad Request
            Server: nginx/1.21.0
            Date: Fri, 18 Jun 2021 07:38:04 GMT
            Content-Type: text/html
            Content-Length: 157
            Connection: close
    
            <html>
            <head><title>400 Bad Request</title></head>
            <body>
            <center><h1>400 Bad Request</h1></center>
            <hr><center>nginx/1.21.0</center>
            </body>
            </html>
    15:38:04.725918 be:ca:86:22:86:b8 > ee:ee:d4:3a:73:67, ethertype IPv4 (0x0800), length 66: (tos 0x10, ttl 64, id 47014, offset 0, flags [DF], proto TCP (6), length 52)
        10.244.0.1.22003 > 10.244.0.22.80: Flags [.], cksum 0x1625 (incorrect -> 0xc729), seq 6, ack 310, win 501, options [nop,nop,TS val 1489416875 ecr 3737184386], length 0
    15:38:04.725949 ee:ee:d4:3a:73:67 > be:ca:86:22:86:b8, ethertype IPv4 (0x0800), length 66: (tos 0x0, ttl 64, id 3164, offset 0, flags [DF], proto TCP (6), length 52)
        10.244.0.22.80 > 10.244.0.1.22003: Flags [F.], cksum 0x1625 (incorrect -> 0xc726), seq 310, ack 6, win 503, options [nop,nop,TS val 3737184386 ecr 1489416875], length 0
    15:38:04.726018 be:ca:86:22:86:b8 > ee:ee:d4:3a:73:67, ethertype IPv4 (0x0800), length 66: (tos 0x10, ttl 64, id 47015, offset 0, flags [DF], proto TCP (6), length 52)
        10.244.0.1.22003 > 10.244.0.22.80: Flags [F.], cksum 0x1625 (incorrect -> 0xc727), seq 6, ack 311, win 501, options [nop,nop,TS val 1489416875 ecr 3737184386], length 0
    15:38:04.726040 ee:ee:d4:3a:73:67 > be:ca:86:22:86:b8, ethertype IPv4 (0x0800), length 66: (tos 0x0, ttl 64, id 3165, offset 0, flags [DF], proto TCP (6), length 52)
        10.244.0.22.80 > 10.244.0.1.22003: Flags [.], cksum 0x1625 (incorrect -> 0xc725), seq 311, ack 7, win 503, options [nop,nop,TS val 3737184386 ecr 1489416875], length 0

    第二次telnet 转发到worker节点

    root@ubuntu:~# telnet  10.97.11.232   3000
    Trying 10.97.11.232...
    Connected to 10.97.11.232.
    Escape character is '^]'.
    ^CConnection closed by foreign host.
    root@ubuntu:~# 
    root@cloud:~# tcpdump -i eth0 tcp and port 80 -ennvv
    tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
    15:38:39.005965 0a:f9:a2:7f:2f:2a > 82:ea:86:37:c3:8d, ethertype IPv4 (0x0800), length 74: (tos 0x10, ttl 63, id 54603, offset 0, flags [DF], proto TCP (6), length 60)
        10.244.0.0.19739 > 10.244.2.6.80: Flags [S], cksum 0xa6c7 (correct), seq 1688161016, win 64240, options [mss 1460,sackOK,TS val 1489451152 ecr 0,nop,wscale 7], length 0
    15:38:39.006028 82:ea:86:37:c3:8d > 0a:f9:a2:7f:2f:2a, ethertype IPv4 (0x0800), length 74: (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto TCP (6), length 60)
        10.244.2.6.80 > 10.244.0.0.19739: Flags [S.], cksum 0x181c (incorrect -> 0x95c3), seq 353214560, ack 1688161017, win 64308, options [mss 1410,sackOK,TS val 2686171991 ecr 1489451152,nop,wscale 7], length 0
    15:38:39.006188 0a:f9:a2:7f:2f:2a > 82:ea:86:37:c3:8d, ethertype IPv4 (0x0800), length 66: (tos 0x10, ttl 63, id 54604, offset 0, flags [DF], proto TCP (6), length 52)
        10.244.0.0.19739 > 10.244.2.6.80: Flags [.], cksum 0xbd9c (correct), seq 1, ack 1, win 502, options [nop,nop,TS val 1489451152 ecr 2686171991], length 0
    15:38:41.193491 0a:f9:a2:7f:2f:2a > 82:ea:86:37:c3:8d, ethertype IPv4 (0x0800), length 71: (tos 0x10, ttl 63, id 54605, offset 0, flags [DF], proto TCP (6), length 57)
        10.244.0.0.19739 > 10.244.2.6.80: Flags [P.], cksum 0xaf11 (correct), seq 1:6, ack 1, win 502, options [nop,nop,TS val 1489453339 ecr 2686171991], length 5: HTTP
    15:38:41.193534 82:ea:86:37:c3:8d > 0a:f9:a2:7f:2f:2a, ethertype IPv4 (0x0800), length 66: (tos 0x0, ttl 64, id 63679, offset 0, flags [DF], proto TCP (6), length 52)
        10.244.2.6.80 > 10.244.0.0.19739: Flags [.], cksum 0x1814 (incorrect -> 0xac7f), seq 1, ack 6, win 503, options [nop,nop,TS val 2686174179 ecr 1489453339], length 0
    15:38:41.193606 82:ea:86:37:c3:8d > 0a:f9:a2:7f:2f:2a, ethertype IPv4 (0x0800), length 375: (tos 0x0, ttl 64, id 63680, offset 0, flags [DF], proto TCP (6), length 361)
        10.244.2.6.80 > 10.244.0.0.19739: Flags [P.], cksum 0x1949 (incorrect -> 0x0423), seq 1:310, ack 6, win 503, options [nop,nop,TS val 2686174179 ecr 1489453339], length 309: HTTP, length: 309
            HTTP/1.1 400 Bad Request
            Server: nginx/1.19.5
            Date: Fri, 18 Jun 2021 07:38:41 GMT
            Content-Type: text/html
            Content-Length: 157
            Connection: close
    
            <html>
            <head><title>400 Bad Request</title></head>
            <body>
            <center><h1>400 Bad Request</h1></center>
            <hr><center>nginx/1.19.5</center>
            </body>
            </html>
    15:38:41.193659 82:ea:86:37:c3:8d > 0a:f9:a2:7f:2f:2a, ethertype IPv4 (0x0800), length 66: (tos 0x0, ttl 64, id 63681, offset 0, flags [DF], proto TCP (6), length 52)
        10.244.2.6.80 > 10.244.0.0.19739: Flags [F.], cksum 0x1814 (incorrect -> 0xab49), seq 310, ack 6, win 503, options [nop,nop,TS val 2686174179 ecr 1489453339], length 0
    15:38:41.193725 0a:f9:a2:7f:2f:2a > 82:ea:86:37:c3:8d, ethertype IPv4 (0x0800), length 66: (tos 0x10, ttl 63, id 54606, offset 0, flags [DF], proto TCP (6), length 52)
        10.244.0.0.19739 > 10.244.2.6.80: Flags [.], cksum 0xab4c (correct), seq 6, ack 310, win 501, options [nop,nop,TS val 1489453339 ecr 2686174179], length 0
    15:38:41.193799 0a:f9:a2:7f:2f:2a > 82:ea:86:37:c3:8d, ethertype IPv4 (0x0800), length 66: (tos 0x10, ttl 63, id 54607, offset 0, flags [DF], proto TCP (6), length 52)
        10.244.0.0.19739 > 10.244.2.6.80: Flags [F.], cksum 0xab4a (correct), seq 6, ack 311, win 501, options [nop,nop,TS val 1489453339 ecr 2686174179], length 0
    15:38:41.193818 82:ea:86:37:c3:8d > 0a:f9:a2:7f:2f:2a, ethertype IPv4 (0x0800), length 66: (tos 0x0, ttl 64, id 63682, offset 0, flags [DF], proto TCP (6), length 52)
        10.244.2.6.80 > 10.244.0.0.19739: Flags [.], cksum 0x1814 (incorrect -> 0xab48), seq 311, ack 7, win 503, options [nop,nop,TS val 2686174179 ecr 1489453339], length 0
    ^C
    10 packets captured
    10 packets received by filter
    0 packets dropped by kernel
    root@cloud:~# ip a
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
    3: eth0@if20: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UP group default 
        link/ether 82:ea:86:37:c3:8d brd ff:ff:ff:ff:ff:ff link-netnsid 0
        inet 10.244.2.6/24 brd 10.244.2.255 scope global eth0
           valid_lft forever preferred_lft forever
    root@cloud:~# 
    root@ubuntu:~#  conntrack -L -o ktimestamp | grep 19739 
    tcp      6 26 TIME_WAIT src=10.10.16.82 dst=10.97.11.232 sport=46522 dport=3000 src=10.244.2.6 dst=10.244.0.0 sport=80 dport=19739 [ASSURED] mark=0 use=1
    conntrack v1.4.4 (conntrack-tools): 160 flow entries have been shown.
    root@ubuntu:~# 
    root@ubuntu:~# iptables -nvL -t nat | grep 10.97.11.232
        3   180 KUBE-MARK-MASQ  tcp  --  *      *      !10.244.0.0/16        10.97.11.232         /* default/nodeport-svc: cluster IP */ tcp dpt:3000
        3   180 KUBE-SVC-GFPAJ7EGCNM4QF4H  tcp  --  *      *       0.0.0.0/0            10.97.11.232         /* default/nodeport-svc: cluster IP */ tcp dpt:3000
    root@ubuntu:~# 

    tcpdump vxlan

    root@ubuntu:~# telnet  10.97.11.232   3000
    Trying 10.97.11.232...
    Connected to 10.97.11.232.
    Escape character is '^]'.
    ^CConnection closed by foreign host.
    root@ubuntu:~#  conntrack -L -o ktimestamp | grep 1222
    tcp      6 76 TIME_WAIT src=10.10.16.82 dst=10.97.11.232 sport=48714 dport=3000 src=10.244.2.6 dst=10.244.0.0 sport=80 dport=1222 [ASSURED] mark=0 use=1
    conntrack v1.4.4 (conntrack-tools): 160 flow entries have been shown.
    root@ubuntu:~# 
    root@cloud:~# conntrack -L -o ktimestamp | grep 1222
    conntrack v1.4.4 (conntrack-tools): 7 flow entries have been shown.
    tcp      6 49 TIME_WAIT src=10.244.0.0 dst=10.244.2.6 sport=1222 dport=80 src=10.244.2.6 dst=10.244.0.0 sport=80 dport=1222 [ASSURED] mark=0 use=1
    root@cloud:~# 
    root@cloud:~# ip a
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
    3: eth0@if20: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UP group default 
        link/ether 82:ea:86:37:c3:8d brd ff:ff:ff:ff:ff:ff link-netnsid 0
        inet 10.244.2.6/24 brd 10.244.2.255 scope global eth0
           valid_lft forever preferred_lft forever
    root@cloud:~# tcpdump -i eth0 tcp and port 80 -ennvv
    tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
    15:45:04.478443 0a:f9:a2:7f:2f:2a > 82:ea:86:37:c3:8d, ethertype IPv4 (0x0800), length 74: (tos 0x10, ttl 63, id 63071, offset 0, flags [DF], proto TCP (6), length 60)
        10.244.0.0.1222 > 10.244.2.6.80: Flags [S], cksum 0x2957 (correct), seq 2769809023, win 64240, options [mss 1460,sackOK,TS val 1489836624 ecr 0,nop,wscale 7], length 0
    15:45:04.478509 82:ea:86:37:c3:8d > 0a:f9:a2:7f:2f:2a, ethertype IPv4 (0x0800), length 74: (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto TCP (6), length 60)
        10.244.2.6.80 > 10.244.0.0.1222: Flags [S.], cksum 0x181c (incorrect -> 0xa563), seq 2111359165, ack 2769809024, win 64308, options [mss 1410,sackOK,TS val 2686557464 ecr 1489836624,nop,wscale 7], length 0
    15:45:04.478825 0a:f9:a2:7f:2f:2a > 82:ea:86:37:c3:8d, ethertype IPv4 (0x0800), length 66: (tos 0x10, ttl 63, id 63072, offset 0, flags [DF], proto TCP (6), length 52)
        10.244.0.0.1222 > 10.244.2.6.80: Flags [.], cksum 0xcd3c (correct), seq 1, ack 1, win 502, options [nop,nop,TS val 1489836624 ecr 2686557464], length 0
    15:45:05.380852 0a:f9:a2:7f:2f:2a > 82:ea:86:37:c3:8d, ethertype IPv4 (0x0800), length 71: (tos 0x10, ttl 63, id 63073, offset 0, flags [DF], proto TCP (6), length 57)
        10.244.0.0.1222 > 10.244.2.6.80: Flags [P.], cksum 0xc3b6 (correct), seq 1:6, ack 1, win 502, options [nop,nop,TS val 1489837526 ecr 2686557464], length 5: HTTP
    15:45:05.380874 82:ea:86:37:c3:8d > 0a:f9:a2:7f:2f:2a, ethertype IPv4 (0x0800), length 66: (tos 0x0, ttl 64, id 25132, offset 0, flags [DF], proto TCP (6), length 52)
        10.244.2.6.80 > 10.244.0.0.1222: Flags [.], cksum 0x1814 (incorrect -> 0xc62a), seq 1, ack 6, win 503, options [nop,nop,TS val 2686558366 ecr 1489837526], length 0
    15:45:05.380935 82:ea:86:37:c3:8d > 0a:f9:a2:7f:2f:2a, ethertype IPv4 (0x0800), length 375: (tos 0x0, ttl 64, id 25133, offset 0, flags [DF], proto TCP (6), length 361)
        10.244.2.6.80 > 10.244.0.0.1222: Flags [P.], cksum 0x1949 (incorrect -> 0x18d5), seq 1:310, ack 6, win 503, options [nop,nop,TS val 2686558366 ecr 1489837526], length 309: HTTP, length: 309
            HTTP/1.1 400 Bad Request
            Server: nginx/1.19.5
            Date: Fri, 18 Jun 2021 07:45:05 GMT
            Content-Type: text/html
            Content-Length: 157
            Connection: close
    
            <html>
            <head><title>400 Bad Request</title></head>
            <body>
            <center><h1>400 Bad Request</h1></center>
            <hr><center>nginx/1.19.5</center>
            </body>
            </html>
    15:45:05.380997 82:ea:86:37:c3:8d > 0a:f9:a2:7f:2f:2a, ethertype IPv4 (0x0800), length 66: (tos 0x0, ttl 64, id 25134, offset 0, flags [DF], proto TCP (6), length 52)
        10.244.2.6.80 > 10.244.0.0.1222: Flags [F.], cksum 0x1814 (incorrect -> 0xc4f4), seq 310, ack 6, win 503, options [nop,nop,TS val 2686558366 ecr 1489837526], length 0
    15:45:05.381085 0a:f9:a2:7f:2f:2a > 82:ea:86:37:c3:8d, ethertype IPv4 (0x0800), length 66: (tos 0x10, ttl 63, id 63074, offset 0, flags [DF], proto TCP (6), length 52)
        10.244.0.0.1222 > 10.244.2.6.80: Flags [.], cksum 0xc4f7 (correct), seq 6, ack 310, win 501, options [nop,nop,TS val 1489837526 ecr 2686558366], length 0
    15:45:05.381259 0a:f9:a2:7f:2f:2a > 82:ea:86:37:c3:8d, ethertype IPv4 (0x0800), length 66: (tos 0x10, ttl 63, id 63075, offset 0, flags [DF], proto TCP (6), length 52)
        10.244.0.0.1222 > 10.244.2.6.80: Flags [F.], cksum 0xc4f5 (correct), seq 6, ack 311, win 501, options [nop,nop,TS val 1489837526 ecr 2686558366], length 0
    15:45:05.381277 82:ea:86:37:c3:8d > 0a:f9:a2:7f:2f:2a, ethertype IPv4 (0x0800), length 66: (tos 0x0, ttl 64, id 25135, offset 0, flags [DF], proto TCP (6), length 52)
        10.244.2.6.80 > 10.244.0.0.1222: Flags [.], cksum 0x1814 (incorrect -> 0xc4f2), seq 311, ack 7, win 503, options [nop,nop,TS val 2686558367 ecr 1489837526], length 0

    vxlan

    root@cloud:~# tcpdump  -i enahisic2i0  udp and host 10.10.16.82 -eennv
    tcpdump: listening on enahisic2i0, link-type EN10MB (Ethernet), capture size 262144 bytes
    15:45:03.458416 48:57:02:64:e7:ab > 9c:52:f8:67:c4:d3, ethertype IPv4 (0x0800), length 124: (tos 0x0, ttl 64, id 48686, offset 0, flags [none], proto UDP (17), length 110)
        10.10.16.82.34152 > 10.10.16.47.8472: OTV, flags [I] (0x08), overlay 0, instance 1
    3a:2b:ed:85:2f:74 > 72:d3:9a:47:fd:43, ethertype IPv4 (0x0800), length 74: (tos 0x10, ttl 64, id 63070, offset 0, flags [DF], proto TCP (6), length 60)
        10.244.0.0.1222 > 10.244.2.6.80: Flags [S], cksum 0x2d53 (correct), seq 2769809023, win 64240, options [mss 1460,sackOK,TS val 1489835604 ecr 0,nop,wscale 7], length 0
    15:45:04.478372 48:57:02:64:e7:ab > 9c:52:f8:67:c4:d3, ethertype IPv4 (0x0800), length 124: (tos 0x0, ttl 64, id 48882, offset 0, flags [none], proto UDP (17), length 110)
        10.10.16.82.34588 > 10.10.16.47.8472: OTV, flags [I] (0x08), overlay 0, instance 1
    3a:2b:ed:85:2f:74 > 72:d3:9a:47:fd:43, ethertype IPv4 (0x0800), length 74: (tos 0x10, ttl 64, id 63071, offset 0, flags [DF], proto TCP (6), length 60)
        10.244.0.0.1222 > 10.244.2.6.80: Flags [S], cksum 0x2957 (correct), seq 2769809023, win 64240, options [mss 1460,sackOK,TS val 1489836624 ecr 0,nop,wscale 7], length 0
    15:45:04.478570 9c:52:f8:67:c4:d3 > 48:57:02:64:e7:ab, ethertype IPv4 (0x0800), length 124: (tos 0x0, ttl 64, id 65355, offset 0, flags [none], proto UDP (17), length 110)
        10.10.16.47.58500 > 10.10.16.82.8472: OTV, flags [I] (0x08), overlay 0, instance 1
    72:d3:9a:47:fd:43 > 3a:2b:ed:85:2f:74, ethertype IPv4 (0x0800), length 74: (tos 0x0, ttl 63, id 0, offset 0, flags [DF], proto TCP (6), length 60)
        10.244.2.6.80 > 10.244.0.0.1222: Flags [S.], cksum 0xa563 (correct), seq 2111359165, ack 2769809024, win 64308, options [mss 1410,sackOK,TS val 2686557464 ecr 1489836624,nop,wscale 7], length 0
    15:45:04.478801 48:57:02:64:e7:ab > 9c:52:f8:67:c4:d3, ethertype IPv4 (0x0800), length 116: (tos 0x0, ttl 64, id 48883, offset 0, flags [none], proto UDP (17), length 102)
        10.10.16.82.34588 > 10.10.16.47.8472: OTV, flags [I] (0x08), overlay 0, instance 1
    3a:2b:ed:85:2f:74 > 72:d3:9a:47:fd:43, ethertype IPv4 (0x0800), length 66: (tos 0x10, ttl 64, id 63072, offset 0, flags [DF], proto TCP (6), length 52)
        10.244.0.0.1222 > 10.244.2.6.80: Flags [.], cksum 0xcd3c (correct), ack 1, win 502, options [nop,nop,TS val 1489836624 ecr 2686557464], length 0
    15:45:05.380826 48:57:02:64:e7:ab > 9c:52:f8:67:c4:d3, ethertype IPv4 (0x0800), length 121: (tos 0x0, ttl 64, id 49016, offset 0, flags [none], proto UDP (17), length 107)
        10.10.16.82.34588 > 10.10.16.47.8472: OTV, flags [I] (0x08), overlay 0, instance 1
    3a:2b:ed:85:2f:74 > 72:d3:9a:47:fd:43, ethertype IPv4 (0x0800), length 71: (tos 0x10, ttl 64, id 63073, offset 0, flags [DF], proto TCP (6), length 57)
        10.244.0.0.1222 > 10.244.2.6.80: Flags [P.], cksum 0xc3b6 (correct), seq 1:6, ack 1, win 502, options [nop,nop,TS val 1489837526 ecr 2686557464], length 5: HTTP
    15:45:05.380894 9c:52:f8:67:c4:d3 > 48:57:02:64:e7:ab, ethertype IPv4 (0x0800), length 116: (tos 0x0, ttl 64, id 65476, offset 0, flags [none], proto UDP (17), length 102)
        10.10.16.47.58500 > 10.10.16.82.8472: OTV, flags [I] (0x08), overlay 0, instance 1
    72:d3:9a:47:fd:43 > 3a:2b:ed:85:2f:74, ethertype IPv4 (0x0800), length 66: (tos 0x0, ttl 63, id 25132, offset 0, flags [DF], proto TCP (6), length 52)
        10.244.2.6.80 > 10.244.0.0.1222: Flags [.], cksum 0xc62a (correct), ack 6, win 503, options [nop,nop,TS val 2686558366 ecr 1489837526], length 0
    15:45:05.380974 9c:52:f8:67:c4:d3 > 48:57:02:64:e7:ab, ethertype IPv4 (0x0800), length 425: (tos 0x0, ttl 64, id 65477, offset 0, flags [none], proto UDP (17), length 411)
        10.10.16.47.58500 > 10.10.16.82.8472: OTV, flags [I] (0x08), overlay 0, instance 1
    72:d3:9a:47:fd:43 > 3a:2b:ed:85:2f:74, ethertype IPv4 (0x0800), length 375: (tos 0x0, ttl 63, id 25133, offset 0, flags [DF], proto TCP (6), length 361)
        10.244.2.6.80 > 10.244.0.0.1222: Flags [P.], cksum 0x18d5 (correct), seq 1:310, ack 6, win 503, options [nop,nop,TS val 2686558366 ecr 1489837526], length 309: HTTP, length: 309
            HTTP/1.1 400 Bad Request
            Server: nginx/1.19.5
            Date: Fri, 18 Jun 2021 07:45:05 GMT
            Content-Type: text/html
            Content-Length: 157
            Connection: close
    
            <html>
            <head><title>400 Bad Request</title></head>
            <body>
            <center><h1>400 Bad Request</h1></center>
            <hr><center>nginx/1.19.5</center>
            </body>
            </html>
    15:45:05.381012 9c:52:f8:67:c4:d3 > 48:57:02:64:e7:ab, ethertype IPv4 (0x0800), length 116: (tos 0x0, ttl 64, id 65478, offset 0, flags [none], proto UDP (17), length 102)
        10.10.16.47.58500 > 10.10.16.82.8472: OTV, flags [I] (0x08), overlay 0, instance 1
    72:d3:9a:47:fd:43 > 3a:2b:ed:85:2f:74, ethertype IPv4 (0x0800), length 66: (tos 0x0, ttl 63, id 25134, offset 0, flags [DF], proto TCP (6), length 52)
        10.244.2.6.80 > 10.244.0.0.1222: Flags [F.], cksum 0xc4f4 (correct), seq 310, ack 6, win 503, options [nop,nop,TS val 2686558366 ecr 1489837526], length 0
    15:45:05.381071 48:57:02:64:e7:ab > 9c:52:f8:67:c4:d3, ethertype IPv4 (0x0800), length 116: (tos 0x0, ttl 64, id 49017, offset 0, flags [none], proto UDP (17), length 102)
        10.10.16.82.34588 > 10.10.16.47.8472: OTV, flags [I] (0x08), overlay 0, instance 1
    3a:2b:ed:85:2f:74 > 72:d3:9a:47:fd:43, ethertype IPv4 (0x0800), length 66: (tos 0x10, ttl 64, id 63074, offset 0, flags [DF], proto TCP (6), length 52)
        10.244.0.0.1222 > 10.244.2.6.80: Flags [.], cksum 0xc4f7 (correct), ack 310, win 501, options [nop,nop,TS val 1489837526 ecr 2686558366], length 0
    15:45:05.381240 48:57:02:64:e7:ab > 9c:52:f8:67:c4:d3, ethertype IPv4 (0x0800), length 116: (tos 0x0, ttl 64, id 49018, offset 0, flags [none], proto UDP (17), length 102)
        10.10.16.82.34588 > 10.10.16.47.8472: OTV, flags [I] (0x08), overlay 0, instance 1
    3a:2b:ed:85:2f:74 > 72:d3:9a:47:fd:43, ethertype IPv4 (0x0800), length 66: (tos 0x10, ttl 64, id 63075, offset 0, flags [DF], proto TCP (6), length 52)
        10.244.0.0.1222 > 10.244.2.6.80: Flags [F.], cksum 0xc4f5 (correct), seq 6, ack 311, win 501, options [nop,nop,TS val 1489837526 ecr 2686558366], length 0
    15:45:05.381298 9c:52:f8:67:c4:d3 > 48:57:02:64:e7:ab, ethertype IPv4 (0x0800), length 116: (tos 0x0, ttl 64, id 65479, offset 0, flags [none], proto UDP (17), length 102)
        10.10.16.47.58500 > 10.10.16.82.8472: OTV, flags [I] (0x08), overlay 0, instance 1
    72:d3:9a:47:fd:43 > 3a:2b:ed:85:2f:74, ethertype IPv4 (0x0800), length 66: (tos 0x0, ttl 63, id 25135, offset 0, flags [DF], proto TCP (6), length 52)
        10.244.2.6.80 > 10.244.0.0.1222: Flags [.], cksum 0xc4f2 (correct), ack 7, win 503, options [nop,nop,TS val 2686558367 ecr 1489837526], length 0

    worker节点也能访问service ip

    root@cloud:~#  telnet 10.97.11.232 3000
    Trying 10.97.11.232...
    Connected to 10.97.11.232.
    Escape character is '^]'.
    ^CConnection closed by foreign host.
    root@cloud:~# 
    root@cloud:~# iptables -nvL -t nat | grep 10.97.11.232
        1    60 KUBE-MARK-MASQ  tcp  --  *      *      !10.244.0.0/16        10.97.11.232         /* default/nodeport-svc: cluster IP */ tcp dpt:3000
        1    60 KUBE-SVC-GFPAJ7EGCNM4QF4H  tcp  --  *      *       0.0.0.0/0            10.97.11.232         /* default/nodeport-svc: cluster IP */ tcp dpt:3000
    root@cloud:~# 

    Pod 打散调度

    k8s网络之flannel(vxlan)

    Flannel 和etcd

    使用etcdctl访问kubernetes数据

    Kubernetes中的网络解析——以flannel为例

  • 相关阅读:
    新博客即将启用
    关于博主 | 联系博主
    结束吧,为这不圆满的故事划上一个残缺的句号
    自用线段树模板
    NOIP 2017 day 1 游记
    NOIP 2017 Day 0. 游记
    NOIP 2017 day -1 杂记
    再一次想不出应该起什么标题
    做图与树做到吐的一天
    自用二分图匹配模板
  • 原文地址:https://www.cnblogs.com/dream397/p/14898473.html
Copyright © 2011-2022 走看看