kubeovn / kube-ovn

A Bridge between SDN and Cloud Native (Project under CNCF)
https://kubeovn.github.io/docs/stable/en/
Apache License 2.0
1.96k stars 448 forks source link

[BUG] kata-container checksum #4436

Open Volcano139 opened 2 months ago

Volcano139 commented 2 months ago

Kube-OVN Version

v1.12.19

Kubernetes Version

v1.27.13

Operation-system/Kernel Version

Linux master 5.10.149-1.el7.x86_64 #1 SMP Tue Oct 18 00:26:23 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

Description

kubernetes使用kata-container,为容器配置TCP探针,探针无法正常工作,抓包发现checksum存在问题

Steps To Reproduce

kubernetes使用kata-container,为容器配置TCP探针,探针无法正常工作,抓包发现checksum存在问题

Current Behavior

探针失效

Expected Behavior

探针应该正常工作

zhangzujian commented 2 months ago
  1. 请提供问题细节,比如抓包结果,虚拟机网络工作模式等;
  2. 如果只有虚拟机有问题,大概率不是 CNI 本身的问题,请提供虚拟机的内核版本,检查虚拟机网卡的 checksum offload 配置(ethtool -k eth0),并尝试用 ethtool -K 关闭对应的 checksum offload。
Volcano139 commented 2 months ago

您好:   在默认子网下的kata pod,tcp、http探针正常,自定义VPC下的kata pod,tcp、http探针失败。pod中抓包没有报文,kube-ovn-cni中有报文   kube-ovn-cni 启动命令参数:--enable-mirror=false --enable-arp-detect-ip-conflict=true --encap-checksum=false --service-cluster-ip-range=10.234.0.0/16 --iface= --dpdk-tunnel-iface=br-phy --network-type=geneve --default-interface-name= --cni-conf-name=01-kube-ovn.conflist --logtostderr=false --alsologtostderr=true --log_file=/var/log/kube-ovn/kube-ovn-cni.log --log_file_max_size=200 --kubelet-dir=/var/lib/kubelet --enable-tproxy=true --ovs-vsctl-concurrency=100 kube-ovn版本为1.12.19,kata-container部署方式参考https://github.com/kata-containers/kata-containers/blob/main/tools/packaging/kata-deploy/README.md

容器探针

在pod中抓包

kube-ovn-cni日志

在kube-ovn-cni中抓包

------------------ 原始邮件 ------------------ 发件人: "kubeovn/kube-ovn" @.>; 发送时间: 2024年9月4日(星期三) 上午10:56 @.>; @.**@.>; 主题: Re: [kubeovn/kube-ovn] [BUG] kata-container checksum (Issue #4436)

请提供问题细节,比如抓包结果,虚拟机网络工作模式等;

如果只有虚拟机有问题,大概率不是 CNI 本身的问题,请提供虚拟机的内核版本,检查虚拟机网卡的 checksum offload 配置(ethtool -k eth0),并尝试用 ethtool -K 关闭对应的 checksum offload。

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

Volcano139 commented 2 months ago

在默认子网下的kata pod,tcp、http探针正常,自定义VPC下的kata pod,tcp、http探针失败。pod中抓包没有报文,kube-ovn-cni中有报文 kube-ovn-cni 启动命令参数:--enable-mirror=false --enable-arp-detect-ip-conflict=true --encap-checksum=false --service-cluster-ip-range=10.234.0.0/16 --iface= --dpdk-tunnel-iface=br-phy --network-type=geneve --default-interface-name= --cni-conf-name=01-kube-ovn.conflist --logtostderr=false --alsologtostderr=true --log_file=/var/log/kube-ovn/kube-ovn-cni.log --log_file_max_size=200 --kubelet-dir=/var/lib/kubelet --enable-tproxy=true --ovs-vsctl-concurrency=100 kube-ovn版本为1.12.19,kata-container部署方式参考https://github.com/kata-containers/kata-containers/blob/main/tools/packaging/kata-deploy/README.md image 容器探针 image 在pod中抓包 image kube-ovn-cni日志 image 在kube-ovn-cni中抓包 image

zhangzujian commented 2 months ago

@changluyi 有时间看一下这个 tproxy 的问题。

zhangzujian commented 2 months ago

进 VM 对应的 Pod 内, curl 一下 Pod IP + 15021 端口,看能不能通。

Volcano139 commented 2 months ago

进VM对应的Pod内,curl一下Pod IP + 15021端口,看能不能通。

在pod中,可以正常请求,在同一Subnet下的其他pod,也可以正常请求 image

Volcano139 commented 2 months ago

进VM对应的Pod内,curl一下Pod IP + 15021端口,看能不能通。

在pod中,可以正常请求,在相同子网下的其他pod中,也可以正常请求 图像

pod本身的探针端口也是15021

Volcano139 commented 2 months ago

pod内另一个容器的探针端口为8080,kube-ovn通过15020代理,在Subnet下另一个pod可以正常请求 image image

github-actions[bot] commented 2 days ago

Issues go stale after 60d of inactivity. Please comment or re-open the issue if you are still interested in getting this issue fixed.