全部產品
Search
文件中心

Container Compute Service:為Pod分配IPv6地址

更新時間:Dec 11, 2024

ACS Pod同時支援IPv4和IPv6地址。與IPv4相比,IPv6大大擴充了地址的可用空間。本文介紹如何在ACS叢集中為Pod分配IPv6地址。

背景資訊

IPv4的應用範圍雖廣,但網路地址資源有限,制約了互連網的發展。IPv6不僅可以解決網路地址資源有限的問題,還可以解決多種接入裝置串連互連網障礙。更多資訊,請參見IPv6基本概念

ACS Pod配置IPv6地址的相關限制如下:

  • 每個Pod最多隻能綁定一個IPv6地址。

  • 指定vCPU和記憶體建立的Pod均支援配置IPv6地址。

前提條件

已建立ACS叢集,且已開啟IPv6雙棧。具體操作,請參見建立ACS叢集

配置說明

ACS情境下,您可以在Pod metadata中添加Annotation來為Pod綁定一個IPv6地址,開通並設定IPv6地址的公網頻寬。相關Annotation如下:

Annotation

樣本值

是否必選

說明

.network.alibabacloud.com/enable-ipv6

"true"

配置為true表示為Pod綁定一個IPv6地址。

.network.alibabacloud.com/ipv6-bandwidth-enable

"true"

配置為true表示開通Pod的IPv6公網通訊能力。

.network.alibabacloud.com/ipv6-bandwidth

100M

配置IPv6地址的公網頻寬峰值。取值如下:

  • 當IPv6網關的公網頻寬計費方式為按固定頻寬計費時,IPv6地址的公網頻寬範圍為1~2000 Mbps。

  • 當IPv6網關的公網頻寬計費方式為按使用流量計費時,IPv6地址的公網頻寬範圍為1~1000 Mbps。

說明

開通IPv6公網通訊能力時如果沒有配置該Annotation,則Pod所綁定的IPv6地址的公網頻寬預設為網關支援的公網頻寬最大值。

重要
  • Annotation請添加在Pod的metadata下,例如:建立Deployment時,Annotation需添加在.spec.template.metadata下。

  • 僅支援在建立Pod時添加相關Annotation使IPv6功能生效,更新Pod時添加或者修改相關Annotation均不會生效。

配置樣本

  1. 使用以下內容建立nginx.yaml。

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: nginx
      labels:
        app: nginx
    spec:
      replicas: 2
      selector:
        matchLabels:
          app: nginx
      template:
        metadata:
          name: nginx-test
          labels:
            app: nginx
          annotations:
            network.alibabacloud.com/enable-ipv6: "true"               # 為Pod綁定一個IPv6地址
            network.alibabacloud.com/ipv6-bandwidth-enable: "true"     # 開通IPv6公網通訊能力
            network.alibabacloud.com/ipv6-bandwidth: 100M              # 設定IPv6地址的公網頻寬峰值
        spec:
          containers:
          - name: nginx
            image: registry.cn-hangzhou.aliyuncs.com/acs-sample/nginx:latest
            ports:
            - containerPort: 80
  2. 執行以下命令,部署Nginx。

    kubectl apply -f nginx.yaml
  3. 執行以下命令,查看Pod詳情,並擷取Pod的IPv6地址。

    kubectl describe pod nginx-xxxxx-xxxxx|grep ipv6-address

    預期輸出:

                      network.alibabacloud.com/allocated-ipv6-address: 2408:4005:317:301:c870:xxxx:xxxx:xxxx

    可以看到,network.alibabacloud.com/allocated-ipv6Address欄位可以擷取該Pod的IPv6地址。