kube-ovn-controller分配pod ip

kube-ovn v1.10.10

存活pod判断条件

pkg/controller/pod.go
isPodAlive函数
判断pod是否存活,pod从存活变成死亡后,该ip会分给其他pod。

3种ip分配方式

场景1:正常分配

pkg/ipam/subnet.go
getV4RandomAddress方法
从subnet可用ip中,每次从前往后分配,可用ip包含死亡pod占有的ip。

场景2:静态分配

pkg/controller/pod.go
acquireAddress方法
pod上带有注解ovn.kubernetes.io/ip_address时,直接使用该ip。
该注解支持在创建pod时由用户指定,或者由场景1分配后自动刷上。

场景3:ip pool分配

pkg/controller/pod.go
acquireAddress方法
从ovn.kubernetes.io/ip_pool注解值里面分配ip。
有状态应用pod默认是固定ip。
无状态应用pod没有固定ip说法,因为deployment pod名字不固定。

 

posted on 2024-12-28 17:01  王景迁  阅读(2)  评论(0编辑  收藏  举报

导航