All Products
Search
Document Center

Container Service for Kubernetes:Konfigurasikan akses sertifikat HTTPS untuk layanan Knative

Last Updated:Apr 04, 2026

Jika Anda menggunakan domain kustom untuk layanan Knative, sebaiknya konfigurasikan sertifikat HTTPS untuk domain tersebut guna meningkatkan keamanan transmisi data. Knative memungkinkan Anda menentukan sertifikat HTTPS dengan mengonfigurasi resource DomainMapping, yang memetakan layanan Knative ke domain kustom.

Prasyarat

Langkah 1: Buat layanan Knative

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

  2. Pada halaman Clusters, klik nama kluster target Anda. Di panel navigasi sebelah kiri, pilih Applications > Knative.

  3. Pada halaman Knative, di tab Services, pilih default dari daftar drop-down Namespace, lalu klik Buat dengan Template. Gunakan templat contoh untuk membuat layanan helloworld-go, lalu ikuti petunjuk di layar.

    image.png

Langkah 2: Buat rahasia TLS

Knative menggunakan rahasia (secret) untuk menyimpan dan mengelola informasi sensitif seperti kunci, kata sandi, dan sertifikat.

  1. Jalankan perintah berikut untuk membuat sertifikat tanda tangan sendiri.

    openssl genrsa -out knativetop-key.pem 4096
    openssl req -subj "/CN=helloworld.knative.top" -sha256  -new -key knativetop-key.pem -out knativetop.csr
    echo subjectAltName = DNS:helloworld.knative.top > extfile.cnf
    openssl x509 -req -days 3650 -sha256 -in knativetop.csr -signkey knativetop-key.pem -out knativetop-cert.pem -extfile extfile.cnf

    Output yang diharapkan:

    Signature ok
    subject=CN = helloworld.knative.top
    Getting Private key
  2. Encode konten file knativetop-key.pem dan knativetop-cert.pem dari Langkah 1 dengan encoding Base64.

    • Jalankan perintah berikut untuk melakukan encode Base64 terhadap file knativetop-key.pem.

      cat knativetop-key.pem | base64

      Output yang diharapkan:

      a25hdGl2ZXRvcC1r******
    • Jalankan perintah berikut untuk melakukan encode Base64 terhadap file knativetop-cert.pem.

      cat knativetop-cert.pem | base64

      Output yang diharapkan:

      a25hdGl2ZXRvcC1jZ******==
  3. Jalankan perintah berikut untuk membuat rahasia.

    Rahasia ini digunakan dalam konfigurasi TLS layanan Knative untuk mengamankan domain helloworld.knative.top.

    kubectl create secret tls secret-tls --key knativetop-key.pem --cert knativetop-cert.pem

    Output yang diharapkan:

    secret/secret-tls created

Langkah 3: Buat DomainMapping

Di Knative, DomainMapping adalah objek resource yang memetakan domain kustom ke layanan Knative, sehingga layanan tersebut dapat diakses melalui domain tersebut.

  1. Jalankan perintah berikut untuk membuat file helloworld.knative.top.yaml.

    vim helloworld.knative.top.yaml
  2. Tambahkan konten berikut ke file helloworld.knative.top.yaml. Kemudian, simpan dan tutup file tersebut.

    apiVersion: serving.knative.dev/v1beta1
    kind: DomainMapping
    metadata:
      name: helloworld.knative.top
      namespace: default
    spec:
      ref:
        name: helloworld-go
        kind: Service
        apiVersion: serving.knative.dev/v1
    # blok tls menentukan rahasia yang akan digunakan
      tls:
        secretName: secret-tls
  3. Jalankan perintah berikut untuk menerapkan file helloworld.knative.top.yaml ke kluster Anda.

    kubectl apply -f helloworld.knative.top.yaml

    Output yang diharapkan:

    domainmapping.serving.knative.dev/helloworld.knative.top created
  4. Jalankan perintah berikut untuk memverifikasi DomainMapping.

    kubectl get domainmapping helloworld.knative.top

    Output yang diharapkan:

    NAME                          URL                                      READY   REASON
    helloworld.knative.top       https://helloworld.knative.top            True

Langkah 4: Akses layanan HTTPS

Jalankan perintah berikut untuk mengakses layanan HTTPS.

ALB

Tambahkan pendengar pada Port 443 ke AlbConfig. Misalnya, tambahkan konfigurasi pendengar berikut ke knative-internet.

apiVersion: alibabacloud.com/v1
kind: AlbConfig
metadata:
  name: knative-internet
spec:
  config:
  ...
  listeners:
    - port: 443
      protocol: HTTPS # Nilai yang valid untuk protokol: HTTP, HTTPS, dan QUIC.
  ...

Akses layanan:

# Ganti alb-ppcate4ox6******.cn-beijing.alb.aliyuncs.com dengan alamat ingress ALB.
curl -H "Host: helloworld.knative.top" https://alb-ppcate4ox6******.cn-beijing.alb.aliyuncs.com -k

ASM

# Ganti 8.141.XX.XX dengan alamat ingress ASM.
curl -H "Host: helloworld-go.default.example.com" http://8.141.XX.XX -k

Output yang diharapkan:

Hello Knative!

Dokumen terkait