使用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。