All Products
Search
Document Center

Container Service for Kubernetes:Praktik terbaik untuk set penyebaran kelompok node

Last Updated:Apr 29, 2026

Set penyebaran adalah kebijakan yang mengontrol distribusi instans ECS. Kebijakan ini menyebarkan instans ECS di berbagai server fisik untuk meningkatkan ketersediaan tinggi aplikasi dan memperkuat kemampuan pemulihan bencana pada lapisan infrastruktur. Dengan menetapkan set penyebaran ke kelompok node, Anda memastikan bahwa instans ECS yang dibuat oleh kelompok node tersebut tidak berada pada server fisik yang sama. Dikombinasikan dengan konfigurasi afinitas, aplikasi Anda menjadi sadar topologi node infrastruktur dan mendistribusikan beban kerjanya secara merata di seluruh node, sehingga meningkatkan kemampuan pemulihan bencana dan ketersediaan tinggi.

Prasyarat

Anda telah membuat set penyebaran. Untuk informasi selengkapnya, lihat Create a deployment set.

Informasi latar belakang

Di zona tunggal, Anda biasanya menerapkan layanan di beberapa host untuk memastikan ketersediaan tinggi. Namun, jika satu server fisik mengalami kegagalan, semua replika aplikasi Anda di server tersebut akan terdampak. Untuk mengatasi masalah ini, ECS menyediakan set penyebaran. Semua instans ECS dalam satu set penyebaran didistribusikan secara ketat di berbagai server fisik di wilayah yang ditentukan. Hal ini memenuhi arsitektur aplikasi yang memerlukan isolasi mutual antar layanan dan secara signifikan mengurangi risiko ketidaktersediaan layanan. Untuk informasi selengkapnya tentang set penyebaran, lihat Deployment sets.

Batasan

Catatan penggunaan fitur di kluster

  • Set penyebaran hanya mendukung Kluster ACK yang dikelola dan Cluster khusus ACK.

  • Anda hanya dapat menentukan set penyebaran saat membuat kelompok node baru. Fitur ini tidak dapat diaktifkan untuk kelompok node yang sudah ada. Setiap kelompok node hanya mendukung pengikatan ke satu set penyebaran.

  • Anda tidak dapat menambahkan atau menghapus node dari set penyebaran secara manual. Sesuaikan jumlah node dalam set penyebaran dengan melakukan penskalaan pada kelompok node. Untuk informasi selengkapnya, lihat Create and manage node pools.

  • Setelah mengaktifkan set penyebaran, Anda tidak dapat membuat spot instans.

Kuota set penyebaran dan batasan tipe instans

  • Batasan kuota set penyebaran:

    • Secara default, set penyebaran kelompok node menggunakan kebijakan ketersediaan tinggi. Di bawah kebijakan ini, Anda dapat membuat hingga 20 instans ECS per zona dalam satu set penyebaran. Jumlah total instans ECS yang dapat Anda buat di satu wilayah Alibaba Cloud adalah 20 × jumlah zona. Pastikan kuota instans ECS mencukupi dan inventaris tipe instans yang dibutuhkan tersedia di set penyebaran. Untuk informasi selengkapnya, lihat Deployment sets.

      Jumlah maksimum instans yang diizinkan dalam satu set penyebaran tidak dapat ditingkatkan. Namun, untuk menaikkan jumlah maksimum set penyebaran yang diizinkan untuk akun Anda, ajukan permohonan melalui Quota Center. Untuk informasi selengkapnya tentang batasan dan kuota set penyebaran, lihat Limits on deployment sets.

    • Jika pembuatan instans ECS dalam set penyebaran gagal, atau jika restart instans ECS bayar sesuai penggunaan (dalam mode hemat) gagal, penyebabnya mungkin karena inventaris di wilayah tersebut tidak mencukupi. Tunggu beberapa saat lalu coba lagi membuat atau merestart instans tersebut.

  • Pembatasan family instans: Sebagian besar family instans generasi 6 ke atas mendukung set penyebaran dengan strategi High Availability, strategi High Availability Group, dan strategi Low Latency.

    Strategi penyebaran yang berbeda hanya mendukung family instans tertentu:

    Untuk daftar lengkap family instans yang didukung, lihat output operasi DescribeDeploymentSetSupportedInstanceTypeFamily.

    Strategi penyebaran

    Famili Instans yang Didukung

    Strategi High Availability dan strategi High Availability Group

    • g9a, g9ae, g9i, g8a, g8i, g8ine, g8ise, g8y, g7, g7a, g7h, g7ne, g7nex, g7se, g7t, g6, g6a, g6e, g6h, g5, g5ne

    • c9a, c9ae, c9i, c8a, c8i, c8ine, c8y, c7, c7a, c7nex, c7se, c7t, c6, c6a, c6e, c5

    • r9a, r9ae, r9i, r8a, r8i, r8y, r7, r7a, r7se, r7t, r6, r6a, r6e, r5

    • hfc9i, hfg9i, hfr9i, hfc8i, hfg8i, hfr8i, hfc7, hfg7, hfr7, hfc6, hfg6, hfr6, hfc5, hfg5

    • ebmc9i, ebmg9a, ebmg9i, ebmr9i, ebmc8a, ebmc8i, ebmc8y, ebmg8a, ebmg8i, ebmg8y, ebmr8a, ebmr8y, ebmc7, ebmc7a, ebmg7, ebmg7a, ebmg7se, ebmhfc7, ebmhfg7, ebmhfr7, ebmr7, ebmr7a, ebmg5

    • i5, i5g, i5ge, ic5, i4, i4g, i4r, i3, i3g, i2, i2g, i2gne, i2ne

    • gn6i

    • d3c, d3s, d2c, d2s, d1ne

    • re6, re6p, s6, t6, e4, mn4, n4, re4, xn4, sn2ne, u2a, u2i, se1, se1ne, sn1ne, u1, e

    Strategi Low Latency

    • g9a, g9ae, g9i, g8a, g8ae, g8i, g8ise, g8y, g7, g5ne

    • c9a, c9ae, c9i, c8a, c8ae, c8i, c8ine, c8y, c7, c7nex

    • r9a, r9ae, r9i, r8a, r8ae, r8i, r8y, r7

    • hfc9i, hfg9i, hfr9i, hfc8i, hfg8i, hfr8i

    • ebmc9i, ebmg9a, ebmg9i, ebmr9i, ebmc8a, ebmc8i, ebmc8y, ebmg8a, ebmg8i, ebmg8y, ebmgn8v, ebmr8a, ebmr8y, ebmc7, ebmc7a, ebmg7, ebmg7a, ebmg7se, ebmgn7ex, ebmhfc7, ebmhfg7, ebmhfr7, ebmr7, ebmr7a

    • i5, i5g, i5ge, i4

    • gn8v

    • hpc8ae, hpc8i, hpc7ip, hpc6id, u2a, u2i

Tetapkan set penyebaran ke kelompok node di Konsol

  1. Masuk ke ACK console. Di panel navigasi kiri, klik Clusters.

  2. Di halaman Clusters, klik nama kluster Anda. Di panel navigasi kiri, klik Nodes > Node Pools.

  3. Di halaman Node Pools, klik Create Node Pool. Di kotak dialog Create Node Pool, konfigurasikan parameter, pilih set penyebaran, lalu klik Confirm.

    Untuk detail item konfigurasi kelompok node, lihat Create and manage node pools.部署集.png

Kasus penggunaan

Jadwalkan pod dari beban kerja yang sama dalam satu kelompok node sehingga hanya satu pod yang berjalan per node menggunakan pod anti-affinity

Contoh ini menunjukkan cara menjadwalkan tiga replika pod dari Deployment ke tiga node berbeda. Ikuti langkah-langkah berikut.

  1. Buat kelompok node dengan tiga node dan tetapkan ID set penyebaran ke kelompok node tersebut. Untuk informasi selengkapnya, lihat Assign a deployment set to a node pool in the console.

    Setelah membuat kelompok node, buka halaman Node Pools, klik kelompok node target, lalu di tab Nodes, verifikasi bahwa tiga node berhasil dibuat.部署集1.png

    Masuk ke ECS console. Di panel navigasi kiri, pilih Deployment & Elasticity > Deployment Set. Di halaman Deployment Set, konfirmasi bahwa ketiga node dalam kelompok node termasuk dalam set penyebaran yang dipilih.部署集2.png

  2. Gunakan YAML berikut untuk mengonfigurasi aplikasi Anda.

    Konfigurasikan pod anti-affinity untuk menjadwalkan tiga pod aplikasi ke node berbeda dalam kelompok node.

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: nginx
      labels:
        app: nginx
    spec:
      replicas: 3
      selector:
        matchLabels:
          app: nginx
      template:
        metadata:
          name: nginx
          labels:
            app: nginx
        spec:
          affinity:
            podAntiAffinity:
              requiredDuringSchedulingIgnoredDuringExecution:  # Tetapkan kebijakan penjadwalan.
              - labelSelector:
                  matchExpressions:
                  - key: app
                    operator: In
                    values:
                    - nginx
                topologyKey: kubernetes.io/hostname
          nodeSelector:
              alibabacloud.com/nodepool-id: <nodepool-id>  # Tentukan ID kelompok node.
          containers:
          - name: nginx
            image: anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/nginx:1.14.1-8.6
            resources:
              limits:
                cpu: 1
              requests:
                cpu: 1

    Execution Result

    Di halaman Deployments, klik Deployment target. Di tab Pods, Anda dapat melihat bahwa ketiga pod dijadwalkan ke node berbeda dalam kelompok node.部署集3.png

Distribusikan pod dari beban kerja yang sama secara merata di berbagai zona dan node dalam satu kelompok node

  1. Buat kelompok node dengan empat node, tetapkan ID set penyebaran ke kelompok node, dan pilih vSwitch di beberapa zona. Untuk informasi selengkapnya, lihat Assign a deployment set to a node pool in the console.

    Setelah pembuatan, buka halaman Node Pools, klik kelompok node target, lalu di tab Nodes, verifikasi bahwa empat node tersebar di empat zona. Berdasarkan kebijakan distribusi merata ESS, instans ECS yang dibuat tersebar di empat zona berbeda dan semuanya termasuk dalam set penyebaran.部署集4.png

    Masuk ke ECS console. Di panel navigasi kiri, pilih Deployment & Elasticity > Deployment Set. Di halaman Deployment Set, konfirmasi bahwa keempat node dalam kelompok node termasuk dalam set penyebaran yang dipilih.部署集5.png

  2. Gunakan YAML berikut untuk mengonfigurasi aplikasi Anda.

    Gunakan batasan penyebaran topologi pod untuk mendistribusikan pod dari aplikasi yang sama secara merata di berbagai zona dan node. Untuk informasi selengkapnya, lihat Pod topology spread constraints.

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: nginx
      labels:
        app: nginx
    spec:
      replicas: 4
      selector:
        matchLabels:
          app: nginx
      template:
        metadata:
          name: nginx
          labels:
            app: nginx
        spec:
          topologySpreadConstraints:
            - maxSkew: 1
              topologyKey: kubernetes.io/hostname
              whenUnsatisfiable: DoNotSchedule
              labelSelector:
                matchLabels:
                  app: nginx
            - maxSkew: 1
              topologyKey: topology.kubernetes.io/zone
              whenUnsatisfiable: DoNotSchedule
              labelSelector:
                matchLabels:
                  app: nginx
          nodeSelector:
            alibabacloud.com/nodepool-id: <nodepool-id>  # Tentukan ID kelompok node.
          containers:
          - name: nginx
            image: anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/nginx:1.14.1-8.6
            resources:
              limits:
                cpu: 1
              requests:
                cpu: 1

    Execution Result

    Di halaman Deployments, klik Deployment target. Di tab Pods, Anda dapat melihat bahwa pod dari aplikasi yang sama didistribusikan secara merata di berbagai zona dan node.部署集6

Referensi