All Products
Search
Document Center

Container Service for Kubernetes:Konfigurasikan bandwidth Internet IPv6 untuk pod

Last Updated:Mar 08, 2026

Secara default, alamat IPv6 hanya mendukung akses internal. Untuk mengizinkan pod mengakses alamat IPv6 publik, Anda harus mengonfigurasi bandwidth Internet IPv6 menggunakan gateway IPv6. Topik ini menjelaskan cara menetapkan paket bandwidth ke alamat IPv6 pod dan mengonfigurasi aturan egress.

Prasyarat

Penting

Hanya beberapa instance ECS yang mendukung IPv6. Untuk informasi selengkapnya, lihat Instance families.

Batasan

  • Topik ini menjelaskan cara menggunakan komponen ack-extend-network-controller untuk mengaktifkan fitur gateway IPv6. Komponen ini mengonfigurasi bandwidth Internet IPv6 menggunakan anotasi seperti k8s.aliyun.com/ipv6-bandwidth. Metode ini hanya mendukung node ECS standar dan pod, tetapi tidak mendukung instans ECI atau ACS. Untuk mengonfigurasi bandwidth Internet IPv6 pada instans ECI dan ACS, lihat Assign IPv6 addresses to ECI pods dan Assign IPv6 addresses to ACS pods.

  • Bandwidth dan jumlah entri konfigurasi dibatasi oleh kemampuan gateway IPv6. Untuk informasi selengkapnya tentang batasan tersebut, lihat Limits.

Aktifkan fitur gateway IPv6 di ack-extend-network-controller

Komponen ack-extend-network-controller menggunakan OpenAPI Alibaba Cloud untuk membuat resource. Anda harus mengonfigurasi izin yang diperlukan di RAM, menginstal komponen ack-extend-network-controller dari Alibaba Cloud Marketplace, lalu menggunakan anotasi untuk membuat gateway IPv6 dan mengaitkannya dengan pod tertentu.

Langkah 1: Konfigurasikan izin RAM untuk IPv6

  1. Masuk ke Container Service Management Console . Di panel navigasi sebelah kiri, klik Clusters.

  2. Pada halaman Clusters, klik nama kluster Anda. Di panel navigasi sebelah kiri, klik Cluster Information.

  3. Pada halaman Cluster Information, buka tab Basic Information. Klik tautan di samping Worker RAM Role.

  4. Buat kebijakan kustom yang berisi konten berikut. Untuk informasi selengkapnya, lihat Step 1: Create a custom policy.

    {
          "Effect": "Allow",
          "Action": [
            "vpc:DescribeIpv6Addresses",
            "vpc:CreateIpv6EgressOnlyRule",
            "vpc:DeleteIpv6EgressOnlyRule",
            "vpc:DescribeIpv6EgressOnlyRules",
            "vpc:AllocateIpv6InternetBandwidth",
            "vpc:DeleteIpv6InternetBandwidth"
          ],
          "Resource": [
            "*"
          ],
          "Condition": {}
        }
  5. Berikan kebijakan kustom tersebut kepada Worker RAM role kluster Anda. Untuk informasi selengkapnya, lihat Step 2: Grant permissions to the Worker RAM role of your cluster.

Langkah 2: Aktifkan controller ipv6gw untuk komponen ack-extend-network-controller

Instal komponen ack-extend-network-controller dari ACK Marketplace dan aktifkan controller ipv6gw. Untuk informasi selengkapnya, lihat Marketplace.

Parameter konfigurasi controller ipv6gw adalah sebagai berikut.

clusterID: "c11ba338192xxxxxxx"          # Ganti dengan ID kluster aktual Anda.
regionID: "cn-hangzhou"                  # Ganti dengan ID wilayah aktual Anda.
vpcID: "vpc-bp1rkq0zxxxxxx"              # Ganti dengan ID VPC aktual Anda.
enableControllers:
  - ipv6gw                               # Aktifkan controller gateway IPv6.
networkController:
  ipv6GatewayController:
    maxConcurrentReconciles: 10          # Tetapkan jumlah maksimum reconciliations bersamaan.

credential:                               # Gunakan Pasangan Kunci Akses. Untuk Kluster ACK yang dikelola dan Cluster khusus ACK, kami merekomendasikan penggunaan Peran RAM.
  accessKey: ""
  accessSecret: ""

Konfigurasikan bandwidth dan aturan egress untuk jaringan IPv6 pada pod

Gunakan anotasi pod berikut untuk mengonfigurasi bandwidth, metode penagihan, dan aturan egress untuk jaringan IPv6:

Pod annotation

Value

k8s.aliyun.com/ipv6-bandwidth

Bandwidth publik gateway IPv6, dalam Mbps. Nilai yang valid: 1 hingga 5000.

Untuk informasi selengkapnya, lihat AllocateIpv6InternetBandwidth.

k8s.aliyun.com/ipv6-internet-charge-type

Metode penagihan untuk bandwidth Internet IPv6. Nilai yang valid:

  • PayByTraffic: Pay-by-traffic.

  • PayByBandwidth (default): Pay-by-bandwidth.

Untuk informasi selengkapnya, lihat AllocateIpv6InternetBandwidth.

k8s.aliyun.com/ipv6-egress-only

Buat aturan egress-only.

Prosedur melalui Konsol

  1. Masuk ke Container Service Management Console . Di panel navigasi sebelah kiri, klik Clusters.

  2. Pada halaman Clusters, klik nama kluster Anda. Di panel navigasi sebelah kiri, klik Workloads > Deployments.

  3. Di pojok kanan atas halaman Deployments, klik Create from YAML. Tempel contoh YAML berikut ke editor Templates, lalu klik Create.

    Contoh ini mengonfigurasi bandwidth IPv6 sebesar 10 Mbps untuk pod dan membuat aturan egress-only.

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: example
      labels:
        app: example
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: example
      template:
        metadata:
          labels:
            app: example
          annotations:
            k8s.aliyun.com/ipv6-bandwidth: "10" # Tetapkan bandwidth publik gateway IPv6 menjadi 10 Mbps.
            k8s.aliyun.com/ipv6-egress-only: "" # Buat aturan egress-only.
        spec:
          containers:
          - name: example
            image: nginx
  4. Pada halaman Deployments, klik deployment bernama example. Pada halaman ikhtisar example, temukan nama pod yang dibuat.

  5. Jalankan perintah berikut untuk mengkueri resource podipv6gws.alibabacloud.com yang memiliki nama sama dengan pod tersebut. Anda dapat memeriksa status paket bandwidth yang ditetapkan dan aturan egress-only di output.

    kubectl get podipv6gws.alibabacloud.com  -oyaml example-674b897446-q****

    Output yang diharapkan:

    apiVersion: alibabacloud.com/v1beta1
    kind: PodIPv6GW
    metadata:
      creationTimestamp: "2024-02-07T06:00:48Z"
      finalizers:
      - ipv6gw-controller.alibabacloud.com/finalizer
      generation: 1
      name: example-674b897446-q****
      namespace: default
      ownerReferences:
      - apiVersion: v1
        kind: Pod
        name: example-674b897446-q****
        uid: bdf86c45-7**5-4**4-b**3-9b****
      resourceVersion: "11488"
      uid: 78747d60-9**8-4**e-b**8-f7f7c****
    spec:
      bandwidth: 10
      egressOnlyRule: true
      ipv6Address: 2408:4006:1115:xxxx:xxxx:xxxx:xxxx:xxxx
     status:
        ipv6AddressID: ipv6-xxx
        ipv6EgressOnlyRuleID: ipv6py-xxx
        ipv6GatewayID: ipv6gw-xxx
        ipv6InternetBandwidthID: ipv6bw-xxx

Prosedur melalui kubectl

  1. Buat file bernama example.yaml yang berisi konten berikut.

    Contoh ini mengonfigurasi bandwidth IPv6 sebesar 10 Mbps untuk pod dan membuat aturan egress-only.

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: example
      labels:
        app: example
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: example
      template:
        metadata:
          labels:
            app: example
          annotations:
            k8s.aliyun.com/ipv6-bandwidth: "10" # Tetapkan bandwidth publik gateway IPv6 menjadi 10 Mbps.
            k8s.aliyun.com/ipv6-egress-only: "" # Buat aturan egress-only.
        spec:
          containers:
          - name: example
            image: nginx
  2. Jalankan perintah berikut untuk membuat resource.

    kubectl apply -f example.yaml

    Output yang diharapkan:

    deployment.apps/example created
  3. Jalankan perintah berikut untuk melihat nama pod yang dibuat.

    kubectl get podipv6gws -n <namespace tempat example diterapkan>
  4. Jalankan perintah berikut untuk mengkueri resource podipv6gws.alibabacloud.com yang memiliki nama sama dengan pod tersebut. Anda dapat memeriksa status paket bandwidth yang ditetapkan dan aturan egress-only di output.

    kubectl get podipv6gws.alibabacloud.com  -oyaml example-674b897446-q****

    Output yang diharapkan:

    apiVersion: alibabacloud.com/v1beta1
    kind: PodIPv6GW
    metadata:
      creationTimestamp: "2024-02-07T06:00:48Z"
      finalizers:
      - ipv6gw-controller.alibabacloud.com/finalizer
      generation: 1
      name: example-674b897446-q****
      namespace: default
      ownerReferences:
      - apiVersion: v1
        kind: Pod
        name: example-674b897446-q****
        uid: bdf86c45-7**5-4**4-b**3-9b****
      resourceVersion: "11488"
      uid: 78747d60-9**8-4**e-b**8-f7f7c****
    spec:
      bandwidth: 10
      egressOnlyRule: true
      ipv6Address: 2408:4006:1115:xxxx:xxxx:xxxx:xxxx:xxxx
     status:
        ipv6AddressID: ipv6-xxx
        ipv6EgressOnlyRuleID: ipv6py-xxx
        ipv6GatewayID: ipv6gw-xxx
        ipv6InternetBandwidthID: ipv6bw-xxx

FAQ

Bagaimana cara menerapkan komponen ack-extend-network-controller di Kluster ACK Serverless?

Kami tidak merekomendasikan penerapan komponen ini di Kluster ACK Serverless. Jika Anda tetap harus menerapkannya, terlebih dahulu buat Pasangan Kunci Akses untuk Pengguna RAM. Untuk informasi selengkapnya, lihat Create a RAM user dan Create a custom policy. Kemudian, saat menerapkan komponen dari Marketplace, masukkan Pasangan Kunci Akses tersebut di bidang yang sesuai.

Referensi

Untuk informasi selengkapnya tentang mengakses jaringan eksternal dari pod, lihat Notes on accessing external networks from pods.