All Products
Search
Document Center

Container Compute Service:Konfigurasikan pendeteksian port di Knative

Last Updated:Jul 02, 2025

Anda dapat mengonfigurasi probe liveness atau probe readiness untuk mendeteksi status kesehatan aplikasi berbasis cloud-native, layanan mikro, atau aplikasi berbasis kontainer. Ini membantu memastikan bahwa aplikasi Anda sehat dan siap menerima lalu lintas. Dibandingkan dengan kebijakan probing di Kubernetes sumber terbuka, Knative menggunakan probing yang lebih sering dan aktif untuk mengurangi waktu mulai dingin pod.

Cara kerjanya

Anda dapat mengonfigurasi probe liveness dan readiness untuk memastikan bahwa aplikasi Anda sehat dan siap menerima lalu lintas.

  • Probe liveness: digunakan untuk memantau status kesehatan kontainer. Jika sebuah kontainer dalam keadaan Gagal atau layanan di dalam kontainer gagal diluncurkan, probe liveness akan me-restart kontainer tersebut.

  • Probe readiness: digunakan untuk mengelola penskalaan otomatis aplikasi secara efisien agar hanya pod dalam keadaan Siap yang dapat menerima lalu lintas. Ini meningkatkan stabilitas dan kecepatan respons layanan.

Gambar berikut menunjukkan cara kerja probe di Knative.

  1. Tentukan probe readiness atau probe liveness dalam CustomResource (CR) Layanan Knative.

  2. Kubelet mengirimkan probe liveness untuk mendeteksi kontainer yang ditentukan.

  3. Knative menulis ulang dan mengirimkan probe readiness ke kontainer queue-proxy. Pendeteksian dimulai dari komponen Activator atau kontainer queue-proxy untuk memastikan seluruh tautan jaringan dikonfigurasi dan siap.

    Catatan

    Jika tidak ada probe yang didefinisikan, Knative akan mendefinisikan probe readiness default untuk kontainer utama. Probe readiness default memeriksa soket TCP pada port layanan Knative.

  4. Knative mendefinisikan probe readiness untuk kontainer queue-proxy. Status queue-proxy menggabungkan hasil dari probe readiness yang ditulis ulang oleh semua kontainer, termasuk kontainer utama dan kontainer sidecar. Ketika kontainer queue-proxy memberikan respons sukses dan lapisan jaringan Knative dikonfigurasi, Knative menganggap bahwa pod sehat dan siap menerima lalu lintas.

Prasyarat

Knative telah diterapkan di kluster ACS. Untuk informasi lebih lanjut, lihat Terapkan Knative.

Konfigurasikan port listening kustom

Metode konfigurasi

Tambahkan bidang readinessProbe atau livenessProbe ke Layanan Knative untuk mengonfigurasi probe readiness dan probe liveness, masing-masing. Metode konfigurasi sama dengan yang digunakan di Kubernetes. Untuk informasi lebih lanjut, lihat Konfigurasikan Probe Liveness, Readiness, dan Startup.

apiVersion: serving.knative.dev/v1
kind: Service
metadata:
  name: runtime
  namespace: default
spec:
  template:
    spec:
      containers:
      - name: first-container
        image: <YOUR-IMAGE>      # Ganti <YOUR-IMAGE> dengan nama gambar aktual.
        ports:
          - containerPort: 8080
        readinessProbe:       # Periksa kapan kontainer siap setelah kontainer mulai.
          httpGet:            # Port yang digunakan untuk probe liveness melalui koneksi soket TCP.
            port: 8080        # Tentukan port selain containerPort untuk probe readiness.
            path: "/health"
        livenessProbe:            # Periksa apakah kontainer masih hidup.
          tcpSocket:
            port: 8080
      - name: second-container
        image: <YOUR-IMAGE>
        readinessProbe:             
          httpGet:
            port: 8089
            path: "/health"
        livenessProbe:              
          tcpSocket:
            port: 8089

Jenis probe yang didukung

Jenis probe

Deskripsi

httpGet

Kirim permintaan HTTP GET untuk memeriksa status kesehatan dan kelangsungan hidup layanan, serta konfirmasi keberhasilan probe berdasarkan kode status yang dikembalikan.

tcpSocket

Mencoba membuat koneksi TCP untuk memeriksa status kesehatan dan kelangsungan hidup layanan.

exec

Jalankan perintah tertentu di dalam kontainer dan konfirmasi keberhasilan probe berdasarkan kode keluar.

grpc

Panggil metode yang didefinisikan oleh Protokol Pemeriksaan Kesehatan gRPC untuk memeriksa status kesehatan dan kelangsungan hidup layanan.

Catatan

Probe PreStop kustom tidak didukung karena Knative sudah menyediakan hook PreStop bawaan untuk mendukung shutdown yang lancar.

Referensi

Untuk informasi lebih lanjut tentang cara mengonfigurasi Sertifikat untuk mengakses Layanan melalui HTTPS menggunakan nama domain kustom, lihat Konfigurasikan Sertifikat untuk Mengakses Layanan Knative melalui HTTPS.