全部产品
Search
文档中心

Alibaba Cloud Service Mesh:Gunakan ASM gateway untuk mengakses Layanan Knative melalui HTTPS

更新时间:Jul 02, 2025

ASM Gateway mendukung HTTPS dan memungkinkan pemuatan sertifikat secara dinamis. Untuk mengakses layanan mikro yang dibangun menggunakan Knative secara aman, Anda dapat menggunakan ASM Gateway untuk membatasi akses ke Layanan Knative hanya melalui HTTPS. Selain itu, Anda dapat mengonfigurasi transmisi terenkripsi pada titik akhir layanan guna melindungi komunikasi antar layanan, meningkatkan keamanan dan keandalan arsitektur secara keseluruhan.

Prasyarat

Buat sertifikat dan kunci privat

Sebelum menggunakan nama domain aliyun.com, Anda harus mendaftarkan Penyedia Konten Internet (ICP) untuk nama domain tersebut. Dalam contoh ini, nama domain aliyun.com digunakan untuk menghasilkan sertifikat dan kunci privat. Simpan sertifikat dan kunci privat sebagai rahasia (secret).

Catatan

Jika Anda memiliki sertifikat dan kunci privat untuk nama domain aliyun.com, ubah nama sertifikat menjadi aliyun.com.crt dan kunci privat menjadi aliyun.com.key.

Jika Anda tidak memiliki sertifikat dan kunci privat untuk nama domain aliyun.com, Anda dapat menggunakan OpenSSL dan ikuti langkah-langkah berikut untuk menghasilkan sertifikat dan kunci privat.

  1. Jalankan perintah berikut untuk membuat sertifikat root dan kunci privat:

    openssl req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -subj '/O=myexample Inc./CN=aliyun.com' -keyout aliyun.root.key -out aliyun.root.crt
  2. Jalankan perintah berikut untuk menghasilkan sertifikat dan kunci privat untuk server aliyun.com:

    openssl req -out aliyun.com.csr -newkey rsa:2048 -nodes -keyout aliyun.com.key -subj "/CN=aliyun.com/O=myexample organization"
    openssl x509 -req -days 365 -CA aliyun.root.crt -CAkey aliyun.root.key -set_serial 0 -in aliyun.com.csr -out aliyun.com.crt

Setelah sertifikat dan kunci privat dihasilkan, jalankan perintah berikut di file KubeConfig kluster tempat pod ingress gateway berada untuk membuat rahasia yang berisi sertifikat dan kunci privat di namespace istio-system dan simpan nama rahasia tersebut.

kubectl create -n istio-system secret tls myexample-credential --key=aliyun.com.key --cert=aliyun.com.crt

Aktifkan HTTPS

  1. Simpan konten berikut sebagai file default.yaml:

    apiVersion: istio.alibabacloud.com/v1beta1
    kind: ASMKnativeConfig
    metadata:
      name: default
    spec:
      enabled: true
      useExisting: true
      tag: 1.4.0
      domainConfig:
        domainName: aliyun.com # Ganti aliyun.com dengan nama domain yang Anda gunakan.
        credentialName: myexample-credential # Ganti myexample-credential dengan nama rahasia Anda.

  2. Gunakan kubectl untuk terhubung ke Service Mesh dan jalankan perintah berikut:

    kubectl apply -f default.yaml

Akses Layanan Knative melalui HTTPS

  1. Tambahkan informasi tentang nama domain baru yang ingin Anda kunjungi ke file hosts.

    Kode sampel berikut menunjukkan konten yang ingin Anda tambahkan ke file hosts.

    Catatan

    Ganti xx.xx.xxx.xx dengan alamat gateway yang sebenarnya Anda akses. Untuk informasi lebih lanjut tentang cara mendapatkan alamat gateway, lihat Langkah 3: Kueri Alamat Gateway dalam Gunakan Knative pada ASM untuk Menerapkan Aplikasi Tanpa Server.

    xx.xx.xxx.xx helloworld-go.default.aliyun.com
  2. Akses Layanan Knative melalui HTTPS.

    • Akses Layanan Knative dengan menjalankan perintah berikut:

      Jalankan perintah berikut untuk mengakses Knative Service melalui HTTPS:

      curl -k --cert aliyun.com.crt --key aliyun.com.key https://helloworld-go.default.aliyun.com
      
      # Output yang diharapkan:
      Hello Knative!
    • Akses Layanan Knative dengan mengunjungi situs web berikut:

      Masukkan https://helloworld-go.default.aliyun.com di browser untuk langsung mengakses Layanan Knative.

      Catatan

      Saat mengakses Layanan Knative menggunakan browser, sistem mungkin memperingatkan bahwa URL yang Anda masukkan berisiko karena sertifikat tanda tangan sendiri digunakan. Jangan khawatir.

Operasi terkait

  • Knative pada ASM memungkinkan Anda melakukan rilis canary berdasarkan pemisahan lalu lintas untuk Layanan Knative. Saat membuat Layanan Knative, Knative secara otomatis membuat Revisi pertama untuk Layanan tersebut. Setiap kali konfigurasi Layanan Knative berubah, Knative membuat Revisi baru dan memodifikasi persentase lalu lintas yang didistribusikan ke Revisi yang berbeda untuk mengimplementasikan rilis canary. Untuk informasi lebih lanjut, lihat Lakukan Rilis Canary Berdasarkan Pemisahan Lalu Lintas untuk Layanan Knative Menggunakan Knative pada ASM.

  • Knative Serving menambahkan kontainer Queue Proxy ke setiap pod. Kontainer Queue Proxy mengirim metrik konkurensi dari kontainer aplikasi ke Knative Pod Autoscaler (KPA). Setelah KPA menerima metrik, KPA secara otomatis menyesuaikan jumlah pod yang disediakan untuk Deployment berdasarkan jumlah permintaan bersamaan dan algoritma penskalaan otomatis terkait. Untuk informasi lebih lanjut, lihat Aktifkan Penskalaan Otomatis Pod Berdasarkan Jumlah Permintaan.