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

使用EIPPool

在命名空间下创建完成EIPPool对象后,用户可在Pod模板中添加指定的Annotation: yangtse.io/eip-pool 使用对应EIPPool中的EIP资源,指定后,Pod在创建时将会自动从EIPPool中获取一个可用的EIP并绑定至Pod。

已经被EIPPool使用的EIP,在VPC界面是无法正常的执行绑定、解绑和删除操作的,因此不建议在VPC界面直接操作已被EIPPool使用的EIP。

以创建的eippool-demo1为例。

apiVersion: v1
kind: Pod
metadata:
  annotations:
   yangtse.io/eip-pool:eippool-demo1    # 通过指定EIPPool的形式使用EIP
...

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

回显信息中名称为eippool-demo1的EIPPool,使用量加1,表示Pod绑定EIP资源成功。

# kubectl get eippool -n $namespace_name
NAME                      EIPS               USAGE   AGE
eippool-demo1                                1/3     64m

Pod启动后,通过Annotation:yangtse.io/allocated-ipv4-eip可查询到Pod当前使用的EIP。

apiVersion:v1
kind:Pod
metadata:
  annotations:
    yangtse.io/allocated-ipv4-eip: 116.205.XXX.XXX      # Pod被分配到的EIP

如果Pod进行重建,则将会从EIPPool中重新获取一个可用的EIP。