ECI Pod(即ECI实例)同时支持IPv4和IPv6地址,相比IPv4,IPv6大大扩展了地址的可用空间。本文介绍如何为ECI Pod分配IPv6地址。
背景信息
IPv4的应用范围虽广,但网络地址资源有限,制约了互联网的发展。IPv6不仅可以解决网络地址资源有限的问题,还可以解决多种接入设备连入互联网障碍的问题。更多信息,请参见IPv6网关介绍。
ECI实例配置IPv6地址的相关限制如下:
每个ECI实例最多只能绑定一个IPv6地址。
指定vCPU和内存创建的ECI实例均支持配置IPv6地址。指定ECS规格创建ECI实例时,请先确保指定的ECS规格支持IPv6。关于ECS规格是否支持IPv6,请参见ECS实例规格族。
前提条件
配置说明
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" # 开通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
创建ECI Pod后,您可以通过kubectl describe pod
命令查看Pod详情,在返回的Annotations中,通过k8s.aliyun.com/allocated-ipv6Address
字段可以获取该Pod的IPv6地址。