All Products
Search
Document Center

Container Service for Kubernetes:Ekspos aplikasi dengan instans SLB yang sudah ada

Last Updated:Jun 16, 2026

Sambungkan instans CLB atau NLB yang sudah ada ke Layanan LoadBalancer untuk mempertahankan IP tetap atau berbagi antar Layanan.

Dari luar kluster, akses menggunakan <SLB-IP>:<Port Layanan> atau nama domain SLB. Dari dalam kluster, gunakan <Nama Layanan>:<Port Layanan>.

Prasyarat

Pastikan hal-hal berikut:

Penting

Jika Anda berencana menggunakan kembali instans SLB yang sudah ada, jangan pilih Install Ingresses saat pembuatan kluster. Tentukan instans tersebut secara manual setelahnya. Lihat Gunakan instans CLB yang sudah ada dan Gunakan instans NLB yang sudah ada.

Catatan penggunaan

Pengelolaan listener bergantung pada versi cloud-controller-manager, dan beberapa instans SLB tidak dapat digunakan kembali.

Perilaku listener berdasarkan versi cloud-controller-manager

Konfigurasi listener bergantung pada versi cloud-controller-manager:

  • v1.9.3.59-ge3bc999-aliyun dan yang lebih baru: cloud-controller-manager tidak mengonfigurasi listener secara default. Tambahkan service.beta.kubernetes.io/alibaba-cloud-loadbalancer-force-override-listeners: "true" agar ACK mengelola listener, atau konfigurasikan secara manual.

  • Lebih lama dari v1.9.3.59-ge3bc999-aliyun: cloud-controller-manager membuat dan mengelola grup server backend, serta mengaitkan semua listener—termasuk yang dikonfigurasi manual—dengan grup tersebut.

Periksa versi cloud-controller-manager

  • Konsol: Di konsol ACK, buka halaman Operations > Add-ons kluster Anda. Pada tab Core Components, periksa versi Cloud Controller Manager.

  • kubectl (hanya untuk kluster khusus ACK):

    kubectl get pod -n kube-system -o yaml | grep image: | grep cloud-con | uniq

Batasan penggunaan

Sebarkan aplikasi

Sebarkan aplikasi NGINX tanpa status sebagai backend Layanan LoadBalancer.

Gunakan konsol ACK

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

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

  3. Pada halaman Deployments, klik Create from Image dan konfigurasikan Deployment:

    1. Pada halaman Basic Information, atur Name menjadi my-nginx, lalu klik Next.

    2. Pada halaman Container, konfigurasikan image dan port:

      Parameter

      Nilai

      Image Name

      Klik Select images. Pada tab Artifact Center, cari nginx dan pilih openanolis/nginx. Klik Select Image Tag, atur tag, lalu klik OK.

      Port

      Nama: nginx, Port Kontainer: 80

    3. Pada halaman Advanced, pertahankan nilai default, lalu klik Create.

Gunakan kubectl

  1. Buat file bernama my-nginx.yaml dengan konten berikut:

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: my-nginx        # Nama Deployment
      labels:
        app: nginx
    spec:
      replicas: 2           # Jumlah replika Pod
      selector:
        matchLabels:
          app: nginx        # Harus sesuai dengan selector di Layanan
      template:
        metadata:
          labels:
            app: nginx
        spec:
        #  nodeSelector:
        #    env: test-team
          containers:
          - name: nginx
            image: anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/nginx:1.14.1-8.6
            ports:
            - containerPort: 80
  2. Sebarkan aplikasi:

    kubectl apply -f my-nginx.yaml
  3. Verifikasi bahwa Deployment siap:

    kubectl get deployment my-nginx

    Output yang diharapkan:

    NAME       READY   UP-TO-DATE   AVAILABLE   AGE
    my-nginx   2/2     2            2           50s

Buat Layanan LoadBalancer

Arahkan Layanan ke instans SLB yang sudah ada untuk meneruskan traffic eksternal ke Pod NGINX.

Gunakan konsol ACK

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

  2. Pada halaman Clusters, klik nama kluster Anda. Di panel kiri, pilih Network > Services.

  3. Pada halaman Services, klik Create. Di kotak dialog Create Service, konfigurasikan parameter berikut:

    Parameter

    Deskripsi

    Contoh

    Name

    Nama Layanan

    my-nginx-svc

    Service Type

    Pilih SLB, atur SLB Type menjadi CLB, lalu pilih Use Existing Resource. Pilih instans CLB. Untuk instans tanpa listener, aktifkan Overwrite Existing Listeners.

    SLB > CLB > Use Existing Resource

    External Traffic Policy

    Local meneruskan traffic hanya ke Pod di node saat ini. Cluster meneruskan traffic ke Pod di seluruh node.

    Local

    Backend

    Aplikasi yang akan dikaitkan dengan Layanan

    Nama: app, Nilai: nginx

    Port Mapping

    Memetakan port Layanan ke port kontainer

    Port Layanan: 80, Port Kontainer: 80, Protokol: TCP

    Annotations

    Tambahkan anotasi untuk mengonfigurasi instans SLB. Lihat Gunakan anotasi untuk mengonfigurasi instans CLB dan Gunakan anotasi untuk mengonfigurasi instans NLB.

    N/A

  4. Klik OK. Klik nama Layanan untuk membuka detail, lalu klik External IP (misalnya, 39.106.XX.XX:80) untuk memverifikasi akses.

    image

Gunakan kubectl

  1. Buat file bernama my-nginx-svc.yaml dengan konten berikut:

    Bidang

    Deskripsi

    metadata.annotations

    alibaba-cloud-loadbalancer-id: ID instans SLB yang sudah ada. alibaba-cloud-loadbalancer-force-override-listeners: 'true': memungkinkan ACK mengelola listener. Hilangkan jika ingin mempertahankan konfigurasi listener yang sudah ada.

    spec.selector

    Memilih Pod yang akan menerima traffic. Harus sesuai dengan matchLabels di Deployment (app: nginx).

    spec.ports.port

    Port yang diekspos pada cluster IP. Akses dari dalam kluster melalui clusterIP:port.

    spec.ports.targetPort

    Port Pod backend. kube-proxy meneruskan traffic dari port ke targetPort.

    apiVersion: v1
    kind: Service
    metadata:
      annotations:
        service.beta.kubernetes.io/alibaba-cloud-loadbalancer-id: ${YOUR_LB_ID}                      # Ganti dengan ID instans SLB Anda
        service.beta.kubernetes.io/alibaba-cloud-loadbalancer-force-override-listeners: 'true'       # Atur ke true untuk instans baru tanpa listener yang dikonfigurasi
      labels:
        app: nginx
      name: my-nginx-svc
      namespace: default
    spec:
      ports:
      - port: 80
        protocol: TCP
        targetPort: 80
      selector:
        app: nginx            # Harus sesuai dengan label pada Pod backend
      type: LoadBalancer

    Bidang utama:

  2. Terapkan Layanan:

    kubectl apply -f my-nginx-svc.yaml
  3. Konfirmasi bahwa Layanan memiliki IP eksternal:

    kubectl get svc my-nginx-svc

    Output yang diharapkan:

    NAME           TYPE           CLUSTER-IP    EXTERNAL-IP      PORT(S)        AGE
    my-nginx-svc   LoadBalancer   172.21.5.82   39.106.XX.XX     80:30471/TCP   5m
  4. Akses aplikasi:

    curl <YOUR-EXTERNAL-IP>    # Ganti dengan IP eksternal dari langkah sebelumnya

    Output yang diharapkan:

    <!DOCTYPE html>
    <html>
    <head>
    <title>Welcome to nginx!</title>
    ...
    </html>

Kelola Layanan

Gunakan konsol ACK

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

  2. Pada halaman Clusters, klik nama kluster Anda. Di panel kiri, pilih Network > Services.

  3. Pada halaman Services, klik nama Layanan untuk melihat detail, atau klik Update atau Delete di kolom Actions.

Gunakan kubectl

Perbarui Layanan

kubectl edit service my-nginx-svc

Atau edit my-nginx-svc.yaml, lalu terapkan ulang:

kubectl apply -f my-nginx-svc.yaml

Lihat Layanan

kubectl get service my-nginx-svc

Output yang diharapkan:

NAME           TYPE           CLUSTER-IP     EXTERNAL-IP      PORT(S)        AGE
my-nginx-svc   LoadBalancer   172.21.XX.XX   192.168.XX.XX    80:31599/TCP   5m

Hapus Layanan

kubectl delete service my-nginx-svc

Referensi konfigurasi CLB

Konfigurasikan parameter berikut saat membuat atau menggunakan kembali instans CLB di konsol ACK.

Buat instans CLB baru

Parameter

Deskripsi

Name

Nama instans CLB

Access Method

Public Access atau Internal Access

Billing Method

Pay-by-specification atau Pay-as-you-go (Pay-by-CU). Lihat penagihan CLB.

IP Version

IPv4 atau IPv6

Scheduling Algorithm

Round Robin (RR) (default): mendistribusikan permintaan secara berurutan. Weighted Round Robin (WRR): server dengan bobot lebih tinggi menerima lebih banyak permintaan.

Access Control

Aktifkan atau nonaktifkan kontrol akses tingkat listener. Lihat Kontrol akses.

Health Check

TCP atau HTTP. Lihat Pemeriksaan kesehatan CLB.

Others

Konfigurasikan dengan anotasi. Lihat Gunakan anotasi untuk mengonfigurasi instans CLB.

Gunakan instans CLB yang sudah ada

Pilih instans tersebut dan, jika diperlukan, aktifkan Overwrite Existing Listeners. Lihat Gunakan instans CLB yang sudah ada dan paksa menimpa listener instans CLB.

Penting

Tinjau batasan penggunaan sebelum menggunakan kembali CLB. Lihat Catatan penggunaan dalam "Pertimbangan untuk mengonfigurasi Layanan LoadBalancer."

Pengaturan lanjutan

Parameter

Deskripsi

Scheduling Algorithm

Round Robin (RR) (default) atau Weighted Round Robin (WRR)

Access Control

Aktifkan atau nonaktifkan kontrol akses listener

Health Check

TCP atau HTTP. Lihat Pemeriksaan kesehatan CLB.

Others

Konfigurasikan dengan anotasi. Lihat Gunakan anotasi untuk mengonfigurasi instans CLB.

Referensi konfigurasi NLB

Konfigurasikan parameter berikut saat membuat atau menggunakan kembali instans NLB di konsol ACK.

Buat instans NLB baru

Parameter

Deskripsi

Name

Nama instans NLB

Access Method

Public Access atau Internal Access

Billing Method

Pay-as-you-go (Pay-by-CU). Lihat penagihan NLB.

IP Version

IPv4 atau Dual-stack

Scheduling Algorithm

Round-Robin: mendistribusikan secara berurutan. Weighted Round-Robin (default): server dengan bobot lebih tinggi menerima lebih banyak permintaan. Source IP Hashing: IP sumber yang sama diarahkan ke server yang sama. Four-Element Hashing: mengarahkan berdasarkan IP sumber, IP tujuan, port sumber, dan port tujuan. QUIC ID Hashing: ID QUIC yang sama diarahkan ke server yang sama. Weighted Least Connections: mengarahkan berdasarkan bobot dan jumlah koneksi.

Health Check

TCP (default): probe SYN. Konfigurasikan Health Check Response Timeout, Health Check Interval, Healthy Threshold, dan Unhealthy Threshold. HTTP: probe HEAD/GET. Konfigurasikan Domain Name (IP Internal Server Backend atau Nama Domain Kustom), Path, dan Health Check Status Codes (http_2xx, http_3xx, http_4xx, http_5xx; default: http_2xx).

VPC

Wilayah VPC dan ID VPC kluster

Vswitch

Pilih vSwitch di zona yang didukung, atau buat yang baru

Others

Konfigurasikan dengan anotasi. Lihat Gunakan anotasi untuk mengonfigurasi instans NLB.

Gunakan instans NLB yang sudah ada

Pilih instans tersebut dan, jika diperlukan, aktifkan Overwrite Existing Listeners. Lihat Gunakan instans NLB yang sudah ada.

Penting

Tinjau batasan penggunaan sebelum menggunakan kembali NLB. Lihat Catatan penggunaan dalam "Pertimbangan untuk mengonfigurasi Layanan LoadBalancer."

Pengaturan lanjutan

Parameter

Deskripsi

Scheduling Algorithm

Opsi yang sama seperti pada tabel Buat instans NLB di atas

Health Check

Opsi yang sama seperti pada tabel Buat instans NLB di atas

VPC

Wilayah VPC dan ID VPC kluster

Vswitch

Pilih vSwitch di zona yang didukung, atau buat yang baru

Others

Konfigurasikan dengan anotasi. Lihat Gunakan anotasi untuk mengonfigurasi instans NLB.

Langkah selanjutnya