All Products
Search
Document Center

Container Compute Service:Memulai dengan ALB Ingress

Last Updated:Jun 04, 2026

ALB Ingress menyediakan manajemen traffic Lapisan 7 yang dibangun di atas Application Load Balancer (ALB) Alibaba Cloud, dengan dukungan untuk HTTP, HTTPS, dan QUIC. Tutorial ini menunjukkan cara mengarahkan traffic ke layanan backend yang berbeda berdasarkan path URL.

Cara kerja ALB Ingress

Konsep utama:

  • ALB Ingress Controller: Komponen ini mengelola resource Ingress. Secara dinamis mengambil perubahan pada resource Ingress dan AlbConfig dari API Server kluster dan memperbarui instans ALB sesuai dengan aturan pengalihan yang ditentukan dalam Ingress. Berbeda dengan NGINX Ingress Controller, ALB Ingress Controller berfungsi sebagai lapisan kontrol untuk instans ALB. Komponen ini mengelola instans ALB tetapi tidak memproses traffic pengguna secara langsung; instans ALB-lah yang meneruskan traffic pengguna.

  • AlbConfig adalah Custom Resource Definition (CRD) tingkat kluster yang dibuat oleh ALB Ingress Controller. Setiap AlbConfig berisi parameter yang mendefinisikan konfigurasi untuk satu instans ALB. Instans ALB berfungsi sebagai titik masuk traffic dan meneruskan permintaan ke layanan backend. Instans ini sepenuhnya dikelola oleh Application Load Balancer (ALB). Berbeda dengan NGINX Ingress Controller, ALB Ingress tidak memerlukan operasi dan pemeliharaan (O&M) serta menyediakan elastisitas yang lebih besar.

  • IngressClass: IngressClass mendefinisikan asosiasi antara Ingress dan AlbConfig.

  • Ingress: Di Kubernetes, Ingress adalah objek resource yang mendefinisikan routing dan aturan akses traffic eksternal. ALB Ingress Controller memantau perubahan pada resource Ingress dan memperbarui instans ALB untuk mencapai penerusan traffic.

  • Service: Titik masuk stabil untuk sekelompok Pod dengan fungsi yang sama. Aplikasi lain mengakses Pod backend melalui IP virtual dan port Service, terlepas dari perubahan pada Pod individual.

Gambar berikut menunjukkan hubungan antara instans ALB dan ALB Ingress.

Batasan

Nama resource AlbConfig, namespace, ingress, dan service tidak boleh diawali dengan aliyun.

Skenario contoh

Tutorial ini men-deploy empat Pod NGINX dan mengonfigurasi ALB Ingress untuk mengarahkan traffic berdasarkan path URL di bawah domain yang sama.

Permintaan frontend

Layanan backend

demo.domain.ingress.top/coffee

layanan coffee

demo.domain.ingress.top/tea

layanan tea

Prasyarat

Langkah 1: Deploy layanan backend

Menggunakan konsol

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

  2. Di halaman Clusters, klik nama kluster target. Di panel navigasi kiri, pilih Workloads > Deployments.

  3. Di halaman Deployments, klik Create from YAML di pojok kanan atas.

  4. Di halaman Create, konfigurasikan parameter.

    1. Sample Template: Pilih Custom.

    2. Template: Masukkan konfigurasi YAML untuk men-deploy dua Deployment (coffee dan tea) dan dua Service (coffee-svc dan tea-svc).

      Contoh YAML

      apiVersion: apps/v1
      kind: Deployment
      metadata:
        name: coffee
      spec:
        replicas: 2
        selector:
          matchLabels:
            app: coffee
        template:
          metadata:
            labels:
              app: coffee
          spec:
            containers:
            - name: coffee
              image: registry.cn-hangzhou.aliyuncs.com/acs-sample/nginxdemos:latest
              ports:
              - containerPort: 80
      ---
      apiVersion: v1
      kind: Service
      metadata:
        name: coffee-svc
      spec:
        ports:
        - port: 80
          targetPort: 80
          protocol: TCP
        selector:
          app: coffee
        type: ClusterIP
      ---
      apiVersion: apps/v1
      kind: Deployment
      metadata:
        name: tea
      spec:
        replicas: 2
        selector:
          matchLabels:
            app: tea
        template:
          metadata:
            labels:
              app: tea
          spec:
            containers:
            - name: tea
              image: registry.cn-hangzhou.aliyuncs.com/acs-sample/nginxdemos:latest
              ports:
              - containerPort: 80
      ---
      apiVersion: v1
      kind: Service
      metadata:
        name: tea-svc
      spec:
        ports:
        - port: 80
          targetPort: 80
          protocol: TCP
        selector:
          app: tea
        type: ClusterIP
  5. Klik Create. Muncul pesan Created.

  6. Verifikasi bahwa Deployment dan Service telah dibuat.

    1. Di panel navigasi kiri, pilih Workloads > Stateless. Deployment bernama coffee dan tea muncul.

    2. Di panel navigasi kiri, pilih Network > Services. Service bernama coffee-svc dan tea-svc muncul.

Menggunakan kubectl

  1. Buat file bernama cafe-service.yaml dengan konten berikut. File ini men-deploy dua Deployment (coffee dan tea) dan dua Service (coffee-svc dan tea-svc).

    Referensi file konfigurasi YAML

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: coffee
    spec:
      replicas: 2
      selector:
        matchLabels:
          app: coffee
      template:
        metadata:
          labels:
            app: coffee
        spec:
          containers:
          - name: coffee
            image: registry.cn-hangzhou.aliyuncs.com/acs-sample/nginxdemos:latest
            ports:
            - containerPort: 80
    ---
    apiVersion: v1
    kind: Service
    metadata:
      name: coffee-svc
    spec:
      ports:
      - port: 80
        targetPort: 80
        protocol: TCP
      selector:
        app: coffee
      type: ClusterIP
    ---
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: tea
    spec:
      replicas: 2
      selector:
        matchLabels:
          app: tea
      template:
        metadata:
          labels:
            app: tea
        spec:
          containers:
          - name: tea
            image: registry.cn-hangzhou.aliyuncs.com/acs-sample/nginxdemos:latest
            ports:
            - containerPort: 80
    ---
    apiVersion: v1
    kind: Service
    metadata:
      name: tea-svc
    spec:
      ports:
      - port: 80
        targetPort: 80
        protocol: TCP
      selector:
        app: tea
      type: ClusterIP
  2. Jalankan perintah berikut untuk men-deploy resource.

    kubectl apply -f cafe-service.yaml

    Output yang diharapkan:

    deployment "coffee" created
    service "coffee-svc" created
    deployment "tea" created
    service "tea-svc" created
  3. Verifikasi Deployment dan Service.

    1. Periksa Deployment.

      kubectl get deployment

      Output yang diharapkan:

      NAME                             READY   UP-TO-DATE   AVAILABLE   AGE
      coffee                           2/2     2            2           2m26s
      tea                              2/2     2            2           2m26s
    2. Periksa Service.

      kubectl get svc

      Output yang diharapkan:

      NAME                          TYPE            CLUSTER-IP       EXTERNAL-IP           PORT(S)           AGE
      coffee-svc                    ClusterIP       172.16.XX.XX     <none>                80/TCP            9m38s
      tea-svc                       ClusterIP       172.16.XX.XX     <none>                80/TCP            9m38s

Langkah 2: Buat ALBConfig

Konsol

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

  2. Di halaman Clusters, klik nama kluster target. Di panel navigasi kiri, pilih Workloads > Custom Resources.

  3. Di tab CRDs, klik Create from YAML.

    1. Sample Template: Pilih Custom.

    2. Template: Tempel manifes YAML.

      Contoh konfigurasi YAML

      apiVersion: alibabacloud.com/v1
      kind: AlbConfig
      metadata:
        name: alb-demo
      spec:
        config:
          name: alb-test
          addressType: Internet
          zoneMappings:                          # Untuk memastikan ketersediaan tinggi, pilih vSwitch di minimal dua zona ketersediaan berbeda.
          - vSwitchId: vsw-uf6ccg2a9g71hx8go**** # Ganti dengan ID vSwitch aktual (di zona ketersediaan 1).
          - vSwitchId: vsw-uf6nun9tql5t8nh15**** # Ganti dengan ID vSwitch aktual (di zona ketersediaan 2, yang harus berbeda dari yang sebelumnya).
        listeners:
          - port: 80
            protocol: HTTP

      Tabel berikut menjelaskan parameter-parameter tersebut.

      Parameter

      Wajib

      Deskripsi

      metadata.name

      Ya

      Nama ALBConfig.

      Catatan

      Nama ALBConfig harus unik dalam kluster untuk menghindari konflik penamaan.

      spec.config.name

      Tidak

      Nama instans ALB.

      spec.config.addressType

      Tidak

      Jenis jaringan instans ALB. Nilai yang valid:

      • Internet (default): Instans menyediakan layanan load balancing publik melalui internet.

        Catatan

        Instans ALB yang menghadap internet menggunakan Elastic IP Address (EIP). Anda dikenai biaya untuk instans EIP, bandwidth, dan transfer data. Pay-as-you-go.

      • Intranet: Instans menyediakan layanan load balancing privat dalam VPC.

      spec.config.zoneMappings

      Ya

      ID vSwitch untuk instans ALB. Untuk petunjuk cara membuat vSwitch, lihat Buat dan kelola vSwitch.

      Catatan
      • vSwitch harus berada di zona ketersediaan yang didukung ALB dan VPC yang sama dengan kluster. Wilayah dan zona ketersediaan yang didukung ALB.

      • Jika wilayah Anda menawarkan beberapa zona ketersediaan, kami merekomendasikan memilih vSwitch dari minimal dua zona berbeda untuk ketersediaan tinggi.

      spec.listeners

      Tidak

      Port listener dan protokol. Contoh ini menggunakan HTTP pada port 80.

      ALB Ingress memerlukan listener. Pertahankan default ini untuk menghindari konfigurasi manual.

  4. Klik Create. Pesan Created. ditampilkan.

  5. Verifikasi instans ALB:

    1. Masuk ke konsol Application Load Balancer (ALB).

    2. Di bilah navigasi atas, pilih wilayah instans.

    3. Di halaman Instance, verifikasi bahwa instans ALB bernama alb-test muncul dalam daftar instans.

Kubectl

  1. Salin konten berikut ke file bernama alb-test.yaml untuk membuat ALBConfig.

    Contoh konfigurasi YAML

    apiVersion: alibabacloud.com/v1
    kind: AlbConfig
    metadata:
      name: alb-demo
    spec:
      config:
        name: alb-test
        addressType: Internet
        zoneMappings:                          # Untuk memastikan ketersediaan tinggi, pilih vSwitch di minimal dua zona ketersediaan berbeda.
        - vSwitchId: vsw-uf6ccg2a9g71hx8go**** # Ganti dengan ID vSwitch aktual (di zona ketersediaan 1).
        - vSwitchId: vsw-uf6nun9tql5t8nh15**** # Ganti dengan ID vSwitch aktual (di zona ketersediaan 2, yang harus berbeda dari yang sebelumnya).
      listeners:
        - port: 80
          protocol: HTTP

    Tabel berikut menjelaskan parameter-parameter tersebut.

    Parameter

    Wajib

    Deskripsi

    metadata.name

    Ya

    Nama ALBConfig.

    Catatan

    Nama ALBConfig harus unik dalam kluster untuk menghindari konflik penamaan.

    spec.config.name

    Tidak

    Nama instans ALB.

    spec.config.addressType

    Tidak

    Jenis jaringan instans ALB. Nilai yang valid:

    • Internet (default): Instans menyediakan layanan load balancing publik melalui internet.

      Catatan

      Instans ALB yang menghadap internet menggunakan Elastic IP Address (EIP). Anda dikenai biaya untuk instans EIP, bandwidth, dan transfer data. Pay-as-you-go.

    • Intranet: Instans menyediakan layanan load balancing privat dalam VPC.

    spec.config.zoneMappings

    Ya

    ID vSwitch untuk instans ALB. Untuk petunjuk cara membuat vSwitch, lihat Buat dan kelola vSwitch.

    Catatan
    • vSwitch harus berada di zona ketersediaan yang didukung ALB dan VPC yang sama dengan kluster. Wilayah dan zona ketersediaan yang didukung ALB.

    • Jika wilayah Anda menawarkan beberapa zona ketersediaan, kami merekomendasikan memilih vSwitch dari minimal dua zona berbeda untuk ketersediaan tinggi.

    spec.listeners

    Tidak

    Port listener dan protokol. Contoh ini menggunakan HTTP pada port 80.

    ALB Ingress memerlukan listener. Pertahankan default ini untuk menghindari konfigurasi manual.

  2. Jalankan perintah berikut untuk membuat ALBConfig.

    kubectl apply -f alb-test.yaml

    Output yang diharapkan:

    albconfig.alibabacloud.com/alb-demo created

    Output ini mengonfirmasi bahwa ALBConfig telah dibuat.

Langkah 3: Buat IngressClass

Kami merekomendasikan membuat satu IngressClass untuk setiap AlbConfig.

Konsol

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

  2. Di halaman Clusters, klik nama kluster target. Di panel navigasi kiri, pilih Workloads > Custom Resources.

  3. Di tab CRDs, klik Create from YAML.

    1. Sample Template: Pilih Custom.

    2. Template: Masukkan manifes YAML.

      Contoh konfigurasi YAML

      apiVersion: networking.k8s.io/v1
      kind: IngressClass
      metadata:
        name: alb
      spec:
        controller: ingress.k8s.alibabacloud/alb
        parameters:
          apiGroup: alibabacloud.com
          kind: AlbConfig
          name: alb-demo

      Tabel berikut menjelaskan parameter-parameter tersebut.

      Parameter

      Wajib

      Deskripsi

      metadata.name

      Ya

      Nama IngressClass.

      Catatan

      Nama harus unik dalam kluster.

      spec.parameters.name

      Ya

      Nama AlbConfig yang terkait.

  4. Klik Create. Pesan konfirmasi muncul.

  5. Verifikasi bahwa IngressClass telah dibuat:

    1. Di panel navigasi kiri, pilih Workloads > Custom Resources.

    2. Klik tab Resource Objects.

    3. Di kotak pencarian API Group, masukkan IngressClass. IngressClass yang dibuat muncul.

Kubectl

  1. Buat file bernama alb.yaml dengan konten berikut.

    Contoh konfigurasi YAML

    apiVersion: networking.k8s.io/v1
    kind: IngressClass
    metadata:
      name: alb
    spec:
      controller: ingress.k8s.alibabacloud/alb
      parameters:
        apiGroup: alibabacloud.com
        kind: AlbConfig
        name: alb-demo

    Tabel berikut menjelaskan parameter-parameter tersebut.

    Parameter

    Wajib

    Deskripsi

    metadata.name

    Ya

    Nama IngressClass.

    Catatan

    Nama harus unik dalam kluster.

    spec.parameters.name

    Ya

    Nama AlbConfig yang terkait.

  2. Jalankan perintah berikut untuk membuat IngressClass.

    kubectl apply -f alb.yaml

    Output yang diharapkan:

    ingressclass.networking.k8s.io/alb created

Langkah 4: Buat Ingress

Konsol

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

  2. Di halaman Clusters, klik nama kluster target. Di panel navigasi kiri, pilih Network > Ingresses.

  3. Di halaman Ingresses, klik Create Ingress. Di kotak dialog Create Ingress, konfigurasikan Ingress.

    Parameter

    Deskripsi

    Nilai contoh

    Gateway Type

    Pilih jenis gateway. Opsi termasuk ALB dan MSE.

    ALB Ingress

    Name

    Nama kustom untuk Ingress.

    cafe-ingress

    IngressClass

    Kelas kustom untuk Ingress.

    alb

    Rules

    Klik +Add Rule untuk menambahkan beberapa aturan routing.

    • Domain Name: Nama domain kustom.

    • Mappings: Konfigurasikan parameter berikut.

      • Path: Path URL untuk mengakses layanan. Dalam contoh ini, parameter ini dibiarkan kosong untuk menggunakan path root /.

      • Rule: Mendukung Prefix (Prefix-based Match), Exact (Exact Match), dan ImplementationSpecific (Default Value).

      • Service: Backend target, yaitu Service Kubernetes.

      • Port: Port yang diekspos oleh layanan.

    • Ingress mendukung beberapa path di bawah nama domain yang sama. Klik +Add untuk menambahkan path baru.

    • Domain Name: demo.domain.ingress.top

    • Path mapping:

      • Path: /tea

      • Rule: ImplementationSpecific

      • Service: tea-svc

      • Port: 80

    • Mappings:

      • Path: /coffee

      • Rule: ImplementationSpecific

      • Service: coffee-svc

      • Port: 80

    TLS Settings

    Aktifkan opsi ini untuk mengamankan Ingress dengan sertifikat TLS (HTTPS).

    • Domain Name: Masukkan nama domain kustom.

    • Secret: Pilih Secret yang berisi sertifikat TLS.

      Untuk membuat Secret, lakukan langkah-langkah berikut:

      1. Di sebelah kanan Secret, klik Create.

      2. Di kotak dialog Create Secret, atur Name, Cert, dan Key, lalu klik OK.

      3. Dari daftar drop-down Secret, pilih Secret yang telah Anda buat.

    Klik Add untuk mengonfigurasi beberapa pengaturan TLS.

    Untuk informasi selengkapnya, lihat Konfigurasikan sertifikat HTTPS untuk komunikasi terenkripsi.

    Biarkan TLS Settings dinonaktifkan. Konfigurasi ini tidak diperlukan untuk contoh ini.

    More

    • Canary Release: Aktifkan rilis canary. Anda dapat mengatur aturan canary berdasarkan header permintaan, cookie, dan bobot.

      Catatan

      Anda hanya dapat mengatur satu jenis aturan (berdasarkan header permintaan, cookie, atau bobot). Jika Anda mengonfigurasi beberapa jenis, aturan tersebut akan dicocokkan dalam urutan header permintaan, cookie, dan bobot.

      • Based on Request Header: Membagi traffic berdasarkan header permintaan. Ini menambahkan anotasi alb.ingress.kubernetes.io/canary-by-header dan alb.ingress.kubernetes.io/canary-by-header-value.

      • Based on Cookie: Membagi traffic berdasarkan cookie. Ini menambahkan anotasi alb.ingress.kubernetes.io/canary-by-cookie.

      • Based on Weight: Menentukan persentase permintaan (bilangan bulat dari 0 hingga 100) yang diarahkan ke Service tertentu. Ini menambahkan anotasi alb.ingress.kubernetes.io/canary-weight.

    • Protocol: Mengaktifkan protokol HTTPS dan gRPC untuk layanan backend, menambahkan anotasi alb.ingress.kubernetes.io/backend-protocol.

    • Rewrite Path: Path dalam permintaan klien ditulis ulang sebelum permintaan dikirim ke layanan backend. Mengonfigurasi pengaturan ini menambahkan anotasi alb.ingress.kubernetes.io/rewrite-target.

    Nonaktifkan rilis canary, dan pertahankan pengaturan protokol dan rewrite path default. Konfigurasi ini tidak diperlukan untuk contoh ini.

    Custom Forwarding Rules

    Aktifkan aturan pengalihan kustom untuk mengelola lalu lintas masuk dengan kontrol detail halus.

    Catatan

    Anda dapat menambahkan maksimal 10 entri kondisi ke aturan pengalihan.

    • Dari daftar drop-down Add Condition, pilih opsi:

      • Domain Name:

        Mencocokkan domain permintaan. Jika Anda menentukan beberapa domain, permintaan akan cocok jika menggunakan salah satu domain yang ditentukan. Saat Anda mengonfigurasi kondisi ini, anotasi alb.ingress.kubernetes.io/conditions.host-example ditambahkan.

      • Path:

        Mencocokkan path permintaan. Jika Anda menentukan beberapa path, permintaan akan cocok jika menggunakan salah satu path yang ditentukan. Saat Anda mengonfigurasi kondisi ini, anotasi alb.ingress.kubernetes.io/conditions.path-example ditambahkan.

      • HTTP Header:

        Mencocokkan header permintaan sebagai pasangan kunci-nilai. Misalnya, Key adalah headername dan Value adalah headervalue1. Jika beberapa nilai header dikonfigurasi, hubungan di antara mereka adalah OR. Saat Anda mengonfigurasi kondisi ini, anotasi alb.ingress.kubernetes.io/conditions.http-header-example ditambahkan.

    • Dari daftar drop-down Action, pilih opsi:

      • Forward To

        Meneruskan permintaan ke satu atau beberapa layanan backend berdasarkan bobot. Di bidang Service, pilih layanan target. Di bidang Port, pilih nomor port target. Kemudian, tentukan bobot.

        Catatan

        Jika Anda memilih aksi ini, Anda tidak perlu mengonfigurasi path mapping dalam aturan.

      • Return Fixed Response

        Mengonfigurasi ALB untuk mengembalikan respons tetap kepada klien. Anda dapat mengatur kode status respons, isi body, dan tipe konten. Sesuai kebutuhan, konfigurasikan Response Status Code, Response Content Type (Optional), dan Response Content (Optional).

        Response Body Type:

        • text/plain: teks biasa.

        • text/css: konten CSS.

        • text/html: konten HTML.

        • application/javascript: konten JavaScript.

        • application/json: konten JSON.

    Aturan pengalihan kustom mendukung kondisi berdasarkan domain, path, atau Header HTTP, dan aksi seperti meneruskan ke layanan atau mengembalikan respons tetap. Sesuaikan aturan pengalihan untuk ALB Ingress.

    Nonaktifkan aturan pengalihan kustom. Konfigurasi ini tidak diperlukan untuk contoh ini.

    Annotations

    Anda dapat menentukan nama dan nilai anotasi kustom, atau memilih atau mencari anotasi untuk dikonfigurasi. Untuk informasi selengkapnya tentang anotasi Ingress, lihat Annotations.

    Tidak diperlukan untuk contoh ini.

    Labels

    Menentukan label untuk ditambahkan ke Ingress. Label adalah pasangan kunci-nilai yang dilampirkan ke objek untuk menentukan atribut pengenal.

    Tidak diperlukan untuk contoh ini.

  4. Di pojok kiri bawah halaman Create Ingress, klik OK.

  5. Verifikasi Ingress:

    1. Di panel navigasi kiri, pilih Network > Routes. Ingress cafe-ingress muncul.

    2. Kolom Endpoint untuk cafe-ingress menampilkan alamat endpoint.

kubectl

  1. Buat file bernama cafe-ingress.yaml dan tambahkan konten berikut:

    Referensi file konfigurasi YAML

    apiVersion: networking.k8s.io/v1
    kind: Ingress
    metadata:
      name: cafe-ingress 
    spec:
      ingressClassName: alb
      rules:
       - host: demo.domain.ingress.top
         http:
          paths:
          # Konfigurasikan path konteks
          - path: /tea
            pathType: ImplementationSpecific
            backend:
              service:
                name: tea-svc
                port:
                  number: 80
          # Konfigurasikan path konteks
          - path: /coffee
            pathType: ImplementationSpecific
            backend:
              service:
                name: coffee-svc
                port: 
                  number: 80

    Tabel berikut menjelaskan parameter-parameter tersebut.

    Parameter

    Wajib

    Deskripsi

    metadata.name

    Ya

    Nama Ingress.

    Catatan

    Nama harus unik dalam kluster untuk menghindari konflik.

    spec.ingressClassName

    Ya

    Nama IngressClass yang terkait.

    spec.rules.host

    Tidak

    Nama domain dalam header HTTP Host. Atur ke nama domain Anda sendiri.

    Kubernetes mencocokkan header Host yang masuk terhadap aturan Ingress dan mengarahkan permintaan yang cocok ke layanan backend yang ditentukan.

    Catatan
    • Nama domain kustom memerlukan Pendaftaran ICP yang valid untuk akses di daratan Tiongkok. Proses Pendaftaran ICP.

    • Jika Anda tidak mengatur parameter ini, aturan Ingress akan mencocokkan semua permintaan yang mencapai controller Ingress.

    spec.rules.http.paths.path

    Ya

    URL path pengalihan.

    spec.rules.http.paths.pathType

    Ya

    Aturan pencocokan URL. Arahkan permintaan berdasarkan path URL.

    spec.rules.http.paths.backend.service.name

    Ya

    Nama Service backend.

    spec.rules.http.paths.backend.service.port.number

    Ya

    Nomor port Service backend.

    Pastikan port ini sesuai dengan definisi Service.

  2. Jalankan perintah berikut untuk membuat Ingress dengan routing berbasis path untuk layanan coffee dan tea.

    kubectl apply -f cafe-ingress.yaml

    Output yang diharapkan:

    ingress.networking.k8s.io/cafe-ingress created
  3. (Opsional) Dapatkan nama DNS ALB yang ditetapkan ke Ingress.

    kubectl get ingress

    Output yang diharapkan:

    NAME           CLASS    HOSTS                         ADDRESS                                               PORTS   AGE
    cafe-ingress   alb      demo.domain.ingress.top       alb-m551oo2zn63yov****.cn-hangzhou.alb.aliyuncs.com   80      50s

(Opsional) Langkah 5: Konfigurasikan resolusi nama domain

Jika Anda menentukan nama domain kustom di spec.rules.host, tambahkan rekaman CNAME yang mengarahkannya ke nama DNS ALB agar dapat diakses melalui domain Anda.

  1. Masuk ke konsol Container Service for Kubernetes (ACK).

  2. Klik nama kluster untuk membuka halaman pengelolaan kluster.

  3. Di panel navigasi kiri, pilih Network > Routes.

  4. Di kolom Endpoint cafe-ingress, salin nama DNS-nya.

  5. Untuk menambahkan rekaman CNAME:

    1. Masuk ke konsol Alibaba Cloud DNS.

    2. Di halaman Domain Name Resolution, klik Add Zone.

    3. Di kotak dialog Add Zone, masukkan nama domain Anda dan klik OK.

      Penting

      Anda harus memverifikasi nama domain dengan rekaman TXT.

    4. Untuk domain target, klik Settings di kolom Actions.

    5. Di halaman Settings, klik Add Record.

    6. Di panel Add Record, konfigurasikan pengaturan berikut untuk rekaman CNAME dan klik OK.

      Parameter

      Deskripsi

      Record Type

      Dari daftar drop-down, pilih CNAME.

      Hostname

      Awalan nama domain Anda, seperti www.

      DNS Query Source

      Pilih nilai default.

      Record Value

      Masukkan nama DNS yang Anda salin dari kolom Endpoint.

      TTL

      Durasi rekaman DNS disimpan cache di server DNS. Gunakan nilai default.

Langkah 6: Uji penerusan traffic

Masukkan domain pengujian dan path URL di browser Anda untuk memverifikasi routing traffic.

Catatan
  • Jika Anda mengonfigurasi domain kustom, gunakan domain tersebut.

  • Jika Anda tidak mengonfigurasi domain kustom, gunakan nama DNS endpoint cafe-ingress.

Dalam contoh ini, domainnya adalah demo.domain.ingress.top:

  1. Masukkan demo.domain.ingress.top/coffee. Halaman backend coffee-svc ditampilkan.image

  2. Masukkan demo.domain.ingress.top/tea. Halaman backend tea-svc ditampilkan.image

Referensi