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アドレスのピークインターネット帯域幅を指定します。有効な値:
説明 PodのIPv6アドレス経由のインターネットアクセスを有効にしたときに、このアノテーションを設定しない場合、Podに割り当てられたIPv6アドレスのデフォルトのインターネット帯域幅は、IPv6ゲートウェイでサポートされている最大インターネット帯域幅と同じになります。 |
アノテーションは、Podの構成ファイルのメタデータに追加する必要があります。たとえば、Deploymentを作成するときは、
spec.template.metadataセクションにアノテーションを追加する必要があります。アノテーションは、Podを作成するときにのみ追加できます。Podを更新するときにアノテーションを追加または変更しても、これらのアノテーションは有効になりません。
例
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次のコマンドを実行して、NGINXサービスをデプロイします。
kubectl apply -f nginx.yaml次のコマンドを実行して、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:xxxxnetwork.alibabacloud.com/allocated-ipv6AddressフィールドにPodのIPv6アドレスが表示されます。