すべてのプロダクト
Search
ドキュメントセンター

Container Compute Service:PodへのIPv6アドレスの割り当て

最終更新日:Dec 26, 2024

Alibaba Cloud Container Compute Service (ACS) クラスタのPodは、IPv4アドレスとIPv6アドレスをサポートしています。IPv4と比較して、IPv6はより大きなアドレス空間を提供します。このトピックでは、ACSクラスタのPodにIPv6アドレスを割り当てる方法について説明します。

背景情報

IPv4アドレスは広く使用されていますが、限られたIPv4アドレス空間はインターネットの発展を制限しています。IPv4アドレスと比較して、IPv6アドレスはアドレス空間の問題を解決し、より多くの種類のデバイスがインターネットにアクセスできるようにします。詳細については、IPv6ゲートウェイとは何ですか?を参照してください。

PodにIPv6アドレスを割り当てるときは、次の制限が適用されます。

  • 1つのPodに割り当てることができるIPv6アドレスは1つだけです。

  • vCPUとメモリの量を指定したすべてのPodにIPv6アドレスを割り当てることができます。

前提条件

ACSクラスタが作成され、IPv6デュアルスタックが有効になっています。詳細については、ACSクラスタの作成を参照してください。

構成の説明

ACSクラスタでは、Podのメタデータにアノテーションを追加して、PodにIPv6アドレスを割り当て、IPv6アドレスのインターネット帯域幅を設定および指定できます。次の表に、アノテーションを示します。

アノテーション

必須

説明

.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~2,000 Mbit/sです。

  • IPv6ゲートウェイのインターネット帯域幅の課金方法がトラフィック課金の場合、IPv6アドレスのインターネット帯域幅は1~1000 Mbit/sです。

説明

PodのIPv6アドレス経由のインターネットアクセスを有効にしたときに、このアノテーションを設定しない場合、Podに割り当てられたIPv6アドレスのデフォルトのインターネット帯域幅は、IPv6ゲートウェイでサポートされている最大インターネット帯域幅と同じになります。

重要
  • アノテーションは、Podの構成ファイルのメタデータに追加する必要があります。たとえば、Deploymentを作成するときは、spec.template.metadataセクションにアノテーションを追加する必要があります。

  • アノテーションは、Podを作成するときにのみ追加できます。Podを更新するときにアノテーションを追加または変更しても、これらのアノテーションは有効になりません。

  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"     # Podの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アドレスが表示されます。