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地址。