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.93k stars 440 forks source link

[BUG] kube-ovn underlay模式下无法正常创建pod #4394

Closed yanruogu closed 1 month ago

yanruogu commented 1 month ago

Kube-OVN Version

v1.12.20

Kubernetes Version

v1.28.10

Operation-system/Kernel Version

ubuntu 22.04/5.15.0-60-generic

Description

通过helm部署underlay模式的kube-ovn,无法正常创建容器

Steps To Reproduce

部署,参考: https://kubeovn.github.io/docs/stable/start/underlay/
修改的配置如下: 

NETWORK_TYPE=vlan
VLAN_INTERFACE_NAME=bond0  # 我的环境下宿主机节点网卡是mode4的bond
VLAN_ID=229   # 我的环境下给pod的vlan是229
POD_CIDR=10.229.0.0/24                      # 设置为物理网络 CIDR
POD_GATEWAY=10.229.0.254                   # 设置为物理网络网关
ENABLE_LB=true

部署后的kube-ovn的状态:

image

查看pod的事件: image

查看kube-ovn-controller的日志: 89265a603e24a5f694dcc313687326d

查看kube-ovn-cni的日志: 3ff8a8d731f47b4ce3d84637c0954d9

我kubernetes集群的宿 主机的网卡: 5155b2d798e7b04c2f22c62d600c9c4

kube-ovn-controller的配置参数: edb35799883970f5c6b7032711b04da

Current Behavior

无法创建pod

Expected Behavior

能够正常创建Pod

bobz965 commented 1 month ago

部署,参考: https://kubeovn.github.io/docs/stable/start/underlay/
修改的配置如下: 

NETWORK_TYPE=vlan
VLAN_INTERFACE_NAME=bond0  # 我的环境下宿主机节点网卡是mode4的bond
VLAN_ID=229   # 我的环境下给pod的vlan是229
POD_CIDR=10.229.0.0/24                      # 设置为物理网络 CIDR
POD_GATEWAY=10.229.0.254                   # 设置为物理网络网关
ENABLE_LB=true

不知道你的集群节点 bond0 被桥接到 ovs 网桥了没,如果没有,可能这个地方是主要问题,可以过滤下 kube-ovn-cni bond0 网卡相关的 log。

另外,我好久没有直接用这种模式了,我们这边使用的是默认部署,单独建 provider-network,vlan,subnet 的方式。我这边建议你使用这种方式。

当然如果你当前使用的这种方式有问题,这个应该也属于bug。

yanruogu commented 1 month ago

你说的对,就是没有桥进去: kube-ovn-cni的日志: image

yanruogu commented 1 month ago

我手动修改了ds kube-ovn-cni的配置如下:

        securityContext:
          capabilities:
            add:
            - NET_ADMIN
            - NET_BIND_SERVICE
            - NET_RAW
            - SYS_ADMIN
          privileged: true
          runAsUser: 0

将privileged设置为true后,就可以设置sysctl了,就是权限不足 当前这个权限,在安装的时候,没有预留修改入口,除非直接修改helm模板才行 建议优化下