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名字不固定。
标签:ip,controller,pkg,pod,ovn,分配 From: https://www.cnblogs.com/WJQ2017/p/18637675