为Pod配置固定IP
Pod可以配置固定IP,当Pod被删除时,该固定IP将保留一定的时长,该时长由用户指定。本文介绍如何配置固定IP,使Pod在删除时,可以保留用户定义的固定IP保留时长。
前提条件
已创建ACS集群。
背景信息
Kubernetes集群中常使用诸如Deployment、StatefulSet等Workload来管理Pod,在应用升级时Workload通过先删除老版本的Pod、再创建新版本Pod的方式来实现滚动升级。对于大多数符合微服务架构的服务,此种方式能够满足业务升级需求。由于K8s中Pod重建会导致IP的变化,所以对于一些IP敏感型应用无法直接升级,例如:
对Pod来源IP做白名单校验(例如DB授权)。
基于Pod IP来实现服务发现、路由分配。
ACS针对有状态应用(例如Advanced StatefulSet和Statefulset)提供Pod重建后IP保持不变的能力,方便不同种类的服务更加方便的完成云原生化。
Pod配置
您可以使用以下Pod Annotations配置:
Pod Annotations | Value |
network.alibabacloud.com/enable-fixed-ip: true | 指定创建固定IP,当您未指定network.alibabacloud.com/fixed-ip-release-after annotation时,系统将为Pod配置一个默认的固定IP保持时长,默认时长为360分钟。 |
network.alibabacloud.com/fixed-ip-release-after: "360m0s" | 指定固定IP保持时间,当您未指定时,系统将为其默认指定时间为"360m0s",即固定IP保持时间为6小时。只有当您配置了network.alibabacloud.com/enable-fixed-ip annotation时才会生效。 说明 固定IP保持时间是从您删除Pod的时间开始计算。若您重复删除创建Pod,则以最后一次删除时间为准。 |