ECI实例(即ECI Pod)同时支持IPv4和IPv6地址,相比IPv4,IPv6大大扩展了地址的可用空间。本文介绍如何为ECI实例配置IPv6地址。
背景信息
IPv4的应用范围虽广,但网络地址资源有限,制约了互联网的发展。IPv6不仅可以解决网络地址资源有限的问题,还可以解决多种接入设备连入互联网障碍的问题。更多信息,请参见IPv6网关介绍。
ECI实例配置IPv6地址的相关限制如下:
每台ECI实例最多只能绑定一个IPv6地址。
指定vCPU和内存创建的ECI实例均支持配置IPv6地址。指定ECS规格创建ECI实例时,请先确保指定的ECS规格支持IPv6。关于ECS规格是否支持IPv6,请参见ECS实例规格族。
准备工作
使用IPv6前,请完成以下准备工作:
(可选)创建IPv6网关。具体操作,请参见创建和管理IPv6网关。
IPv6网关提供不同的规格(免费版、企业版和企业增强版),不同规格网关提供的能力不同。VPC开通IPv6网段后,系统会为VPC自动创建一个免费版的IPv6网关。您可以根据需要创建不同规格的IPv6网关。
如果想要通过IPv6地址进行公网通信,需要为IPv6网关开通IPv6公网带宽。具体操作,请参见开通和管理IPv6公网带宽。
配置说明
Kubernetes场景下,您可以在Pod metadata中添加Annotation来为ECI Pod绑定一个IPv6地址,开通并设置IPv6地址的公网带宽。相关Annotation如下:
Annotation | 示例值 | 是否必选 | 说明 |
k8s.aliyun.com/eci-enable-ipv6 | "true" | 是 | 配置为true表示为Pod绑定一个IPv6地址。 |
k8s.aliyun.com/eci-ipv6-bandwidth-enable | "true" | 否 | 配置为true表示开通ECI的IPv6公网通信能力。 |
k8s.aliyun.com/eci-ipv6-bandwidth | 200 | 否 | 配置IPv6地址的公网带宽峰值。取值如下:
说明 开通IPv6公网通信能力时如果没有配置该Annotation,则Pod所绑定的IPv6地址的公网带宽默认为网关支持的公网带宽最大值。 |
Annotation请添加在Pod的metadata下,例如:创建Deployment时,Annotation需添加在spec>template>metadata下。
仅支持在创建ECI Pod时添加ECI相关Annotation来生效ECI功能,更新ECI Pod时添加或者修改ECI相关Annotation均不会生效。
配置示例如下:
apiVersion: apps/v1
kind: Deployment
metadata:
name: test
labels:
app: test
spec:
replicas: 2
selector:
matchLabels:
app: nginx
template:
metadata:
name: nginx-test
labels:
app: nginx
alibabacloud.com/eci: "true"
annotations:
k8s.aliyun.com/eci-enable-ipv6: "true" #为Pod绑定一个IPv6地址
k8s.aliyun.com/eci-ipv6-bandwidth-enable: "true" #开通ECI的IPv6公网通信能力
k8s.aliyun.com/eci-ipv6-bandwidth: 100M #设置IPv6地址的公网带宽峰值
spec:
containers:
- name: nginx
image: registry.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2
ports:
- containerPort: 80