为Pod配置固定IP

更新时间: 2024-02-23 14:48:04

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,则以最后一次删除时间为准。