everoute / ipam

everoute ipam for everoute cni and ecp cni
1 stars 1 forks source link

支持为workload指定IP #16

Open qingwusunny opened 10 months ago

qingwusunny commented 10 months ago

@KeyongSun @wu-cl 是否支持为workload(deployment,daemonset, statefulset,job, cron)指定IP?

目前有两种支持方式

或者仅支持workload指定IP池?

或者Pod支持指定多个IP,以上功能在workload的pod template中支持

wu-cl commented 10 months ago

只有当Pod 副本数为1的时候才支持指定IP,且只能指定一个IP

感觉意义不大

deployment pod 无状态,重建没法区别。只能按方案 2 预先写好多个 ip,这些 ip pod 随机分配,这个行为和指定 ip pool 区别不大 statefulset 可以每个 pod 有唯一标识和自增 id,还是可以区分的,调度之后可以按原来的 id 分配,这个场景感觉有点用

qingwusunny commented 10 months ago

那只支持statefulset

KeyongSun commented 10 months ago

感觉可以先只支持 statefulset

qingwusunny commented 10 months ago

可以支持statefulset

需要对statefulset中ipam相关的annotation加一些限制:

针对以上限制,计划给statefulset注册webhook 同时,也给Pod注册webhook,不允许修改staticIP相关的annotation