All Products
Search
Document Center

Container Service for Kubernetes:Penemuan layanan untuk node virtual menggunakan PrivateZone

Last Updated:Mar 26, 2026

Node virtual ACK mendukung penemuan layanan melalui Alibaba Cloud DNS PrivateZone. Dengan menambahkan anotasi ke suatu Service, pengontrol node virtual secara otomatis menyinkronkan rekaman DNS-nya ke PrivateZone, sehingga memungkinkan Pod dan klien lain di Virtual Private Cloud (VPC) Anda mengakses Layanan yang didukung Elastic Container Instance (ECI) melalui nama domain.

Jenis Service yang didukung: Headless, ClusterIP, dan LoadBalancer internal.

Catatan

Penggunaan PrivateZone dikenai biaya. Untuk detail harga, lihat Billing.

Cara kerja

PrivateZone adalah layanan resolusi DNS privat untuk lingkungan VPC yang menyediakan resolusi nama domain dan akselerasi nama domain internal bagi klien seperti instance ECS dan kontainer yang berjalan di dalam VPC.

Saat Anda mengaktifkan PrivateZone pada kluster node virtual, pengontrol node virtual membuat zona DNS privat bernama svc.cluster.local.<clusterID> dan menyinkronkan rekaman DNS untuk Service yang dianotasi ke dalam zona tersebut. Format rekaman DNS adalah <service-name>.<namespace>.

Jenis LayananRekaman DNS yang disinkronkanDiselesaikan menjadi
HeadlessSatu rekaman per Pod backendAlamat IP Pod
ClusterIPSatu rekamanIP Cluster (IP virtual untuk komunikasi intra-kluster)
Internal LoadBalancerSatu CatatanIP Cluster (IP virtual untuk komunikasi intra-kluster)

Setelah sinkronisasi, Service dapat diakses melalui nama domain di dalam VPC:

Cakupan aksesFormat nama domainBerlaku untuk
Di dalam kluster, namespace yang sama<service-name>Semua Jenis Layanan
Di dalam kluster, namespace berbeda<service-name>.<namespace>Semua jenis Service
Di luar kluster (FQDN)<service-name>.<namespace>.svc.cluster.local.<clusterID>Hanya Service Headless

Prasyarat

Sebelum memulai, pastikan Anda telah:

Aktifkan PrivateZone

  1. Masuk ke Konsol ACK dan klik Clusters di panel navigasi kiri.

  2. Klik nama kluster Anda. Di panel navigasi kiri, pilih Configurations > ConfigMaps.

  3. Atur Namespace ke kube-system, temukan eci-profile, lalu klik Edit.

  4. Atur enablePrivateZone ke true, lalu klik OK.

  5. Verifikasi bahwa zona telah dibuat:

    1. Di Konsol Alibaba Cloud DNS, klik Private Zone di panel navigasi kiri.

    2. Di tab Authoritative Zone, buka User Defined Zones dan pastikan muncul zona bernama `svc.cluster.local.<cluster ID>`.

Menyinkronkan rekaman DNS Service ke PrivateZone

Rekaman DNS tidak disinkronkan ke PrivateZone secara default. Untuk mengaktifkan sinkronisasi untuk suatu Service, tambahkan anotasi berikut:

service.beta.kubernetes.io/alibaba-cloud-private-zone-enable: "true"

Contoh berikut membuat satu Deployment dan tiga Service — masing-masing dari setiap jenis yang didukung — semuanya dengan anotasi tersebut.

  1. Simpan konten berikut sebagai test-pz.yaml:

    apiVersion: v1
    kind: Service
    metadata:
      name: nginx-headless-service
      annotations:
         service.beta.kubernetes.io/alibaba-cloud-private-zone-enable: "true"
    spec:
      ports:
      - port: 80
        protocol: TCP
      selector:
        app: nginx
      clusterIP: None
    ---
    apiVersion: v1
    kind: Service
    metadata:
      name: nginx-clusterip-service
      annotations:
         service.beta.kubernetes.io/alibaba-cloud-private-zone-enable: "true"
    spec:
      ports:
      - port: 80
        protocol: TCP
      selector:
        app: nginx
      type: ClusterIP
    ---
    apiVersion: v1
    kind: Service
    metadata:
      name: nginx-intranet-service
      annotations:
        service.beta.kubernetes.io/alibaba-cloud-loadbalancer-address-type: "intranet"
        service.beta.kubernetes.io/alibaba-cloud-private-zone-enable: "true"
    spec:
      ports:
      - port: 80
        protocol: TCP
      selector:
        app: nginx
      type: LoadBalancer
    ---
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: nginx-deployment
      labels:
        app: nginx
    spec:
      replicas: 3
      selector:
        matchLabels:
          app: nginx
      template:
        metadata:
          labels:
            app: nginx
            alibabacloud.com/eci: "true"          # Jadwalkan Pod ke ECI
        spec:
          containers:
          - name: nginx
            image: anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/nginx:1.14.1-8.6
            ports:
            - containerPort: 80
  2. Terapkan manifes:

    kubectl create -f test-pz.yaml
  3. Verifikasi bahwa rekaman DNS telah disinkronkan:

    1. Di Konsol Alibaba Cloud DNS, klik Private Zone.

    2. Di bawah User Defined Zones pada tab Authoritative Zone, temukan zona bernama `svc.cluster.local.<cluster ID>` dan klik Settings.

    3. Di tab Settings, pastikan tiga rekaman DNS muncul — satu untuk setiap Service — dalam format <service-name>.default: service解析记录

      • nginx-headless-service.default — beberapa Rekaman A, satu per alamat IP Pod

      • nginx-clusterip-service.default — satu Rekaman A yang mengarah ke IP Cluster

      • nginx-intranet-service.default — satu Rekaman A yang mengarah ke IP Cluster