更新时间:2023-09-26 GMT+08:00

管理EIPPool

更新EIPPool

考虑到用户实际场景,EIPPool对象当前只允许用户调整EIP的数量,即对EIPPool进行扩缩容。用户如果需要调整EIP其他参数,可新建EIPPool对象后在负载配置中替换即可。

EIPPool缩容时,如果EIP资源被占用,则不会删除对应的EIP,直到占用解除。

以动态创建的eippool-demo1为例,将amount:3改为amount: 5。
apiVersion: crd.yangtse.cni/v1     
kind: EIPPool                     
metadata:                          
  name: eippool-demo1
  namespace: xxx        
spec:
  amount: 5                        # EIP资源池中的EIP数量
  eipAttributes:                   # EIP的一些属性
 ...  

执行以下命令,查看EIPPool详情,-n表示EIPPool所在的命名空间。

回显信息中名称为eippool-demo1的EIPPool,USAGE由0/3更新为0/5,表示EIPPool更新成功。

# kubectl get eippool -n $namespace_name
NAME                   EIPS           USAGE         AGE
eippool-demo1                         0/5           39m

以静态创建的eippool-demo2为例,更新EIPPool就是增加或减少EIPPool中纳管的公网IP。

apiVersion: crd.yangtse.cni/v1
kind: EIPPool                  # 创建的对象类别
metadata:                      # 资源对象的元数据定义
  name:eippool-demo2
spec:                          # EIPPool的配置信息
  eips:                        # 纳管的公网IP
  - 10.246.173.254  
  - 10.246.172.3 
  - 10.246.172.59

删除EIPPool

直接删除EIPPool时,会级联删除该池下的EIP资源。当有EIP被Pod占用时,无法触发EIPPool的删除,当有EIP被其他资源占用时,EIPPool无法删除成功。