Menyebarkan gateway yang dihost sendiri ke Kubernetes dengan Helm

BERLAKU UNTUK: Pengembang | Premium

Helm adalah alat pengemasan sumber terbuka yang membantu Anda memasang dan mengelola siklus hidup aplikasi Kubernetes. Ini memungkinkan Anda untuk mengelola bagan Kubernetes, yang merupakan paket sumber daya Kubernetes yang telah dikonfigurasi sebelumnya.

Artikel ini menyediakan langkah-langkah untuk menyebarkan komponen gateway yang dihost sendiri dari Azure API Management ke kluster Kubernetes menggunakan Helm.

Penting

Dukungan untuk gateway yang dihost sendiri Azure API Management versi 0 dan gambar kontainer versi 1 berakhir pada 1 Oktober 2023, bersama dengan Api Konfigurasi v1 yang sesuai. Gunakan panduan migrasi kami untuk menggunakan gateway yang dihost sendiri v2.0.0 atau yang lebih tinggi dengan Configuration API v2. Pelajari lebih lanjut dalam dokumentasi penghentian kami

Catatan

Anda juga dapat menyebarkan gateway yang dihost sendiri ke kluster Kubernetes yang didukung Azure Arc sebagai ekstensi kluster.

Prasyarat

  • Buat kluster Kubernetes, atau miliki akses ke kluster yang sudah ada.

    Tip

    Klaster node tunggal bekerja dengan baik untuk tujuan pengembangan dan evaluasi. Gunakan klaster multi-node Bersertifikat Kubernetes di lokasi atau di cloud untuk beban kerja produksi.

Menambahkan repositori Helm

  1. Tambahkan Azure API Management sebagai repositori Helm baru.

    helm repo add azure-apim-gateway https://azure.github.io/api-management-self-hosted-gateway/helm-charts/
    
  2. Perbarui repositori untuk mengambil bagan Helm terbaru.

    helm repo update
    
  3. Verifikasi konfigurasi Helm Anda dengan mencantumkan semua bagan yang tersedia.

    $ helm search repo azure-apim-gateway
    NAME                                            CHART VERSION   APP VERSION     DESCRIPTION
    azure-apim-gateway/azure-api-management-gateway 1.0.0           2.0.0           A Helm chart to deploy an Azure API Management ...
    

Menyebarkan gateway yang dihosting sendiri ke Kubernetes

  1. Pilih Gateway dari Penyebaran dan infrastruktur.

  2. Pilih sumber daya gateway yang dihost sendiri yang ingin Anda sebarkan.

  3. Pilih Penyebaran.

  4. Token baru di kotak teks Token dibuat secara otomatis untuk Anda menggunakan nilai Kedaluwarsa dan Kunci Rahasia default. Sesuaikan salah satu atau keduanya jika diinginkan dan pilih Buat untuk membuat token baru.

  5. Catat Token dan URL Konfigurasi Anda

  6. Menginstal gateway yang dihost sendiri menggunakan bagan Helm

    helm install azure-api-management-gateway \
                 --set gateway.configuration.uri='<your configuration url>' \
                 --set gateway.auth.key='<your token>' \
                 azure-apim-gateway/azure-api-management-gateway
    
  7. Jalankan perintah . Perintah menginstruksikan kluster Kubernetes Anda untuk:

    • Unduh citra gateway yang dihost sendiri dari Microsoft Container Registry dan jalankan sebagai kontainer.
    • Konfigurasikan kontainer untuk mengekspos port HTTP (8080) dan HTTPS (8081).

    Penting

    Secara default, gateway menggunakan layanan ClusterIP dan hanya diekspos di dalam kluster. Anda dapat mengubah ini dengan menentukan jenis layanan Kubernetes selama penginstalan.

    Misalnya, Anda dapat mengeksposnya melalui penyeimbang beban dengan menambahkan --set service.type=LoadBalancer

  8. Jalankan perintah berikut untuk memeriksa bahwa pod gateway berjalan. Nama pod Anda akan berbeda.

    kubectl get pods
    NAME                                           READY     STATUS    RESTARTS   AGE
    azure-api-management-gateway-59f5fb94c-s9stz   1/1       Running   0          1m
    
  9. Jalankan perintah berikut untuk memeriksa bahwa layanan gateway berjalan. Nama layanan dan alamat IP Anda akan berbeda.

    kubectl get services
    NAME                           TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)               AGE
    azure-api-management-gateway   ClusterIP   10.0.229.55     <none>        8080/TCP,8081/TCP     1m
    
  10. Kembali ke portal Azure dan konfirmasi bahwa simpul gateway yang disebarkan melaporkan status sehat.

Tip

Gunakan kubectl logs <gateway-pod-name> perintah untuk melihat rekam jepret log gateway yang dihost sendiri.

Langkah berikutnya