全部产品
Search
文档中心

Container Service for Kubernetes:Konfigurasikan Pendeteksian Port di Knative

更新时间:Jul 06, 2025

Dalam aplikasi berbasis cloud-native, arsitektur layanan mikro, atau aplikasi berbasis kontainer, Anda dapat mengonfigurasi probes liveness dan readiness untuk memastikan bahwa aplikasi dalam kondisi sehat dan siap menerima lalu lintas. Dibandingkan dengan kebijakan probing di Kubernetes open-source, Knative menggunakan probing yang lebih sering dan aktif untuk mengurangi waktu mulai dingin pod serta mempercepat transisi pod dari status startup ke running.

Cara Kerjanya

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

  • Probes Liveness: Digunakan untuk memantau status kesehatan kontainer. Jika sebuah kontainer berada dalam status Gagal atau layanan di dalam kontainer gagal diluncurkan, probe liveness akan me-restart kontainer tersebut.

  • Probes Readiness: Digunakan untuk mengelola penskalaan otomatis aplikasi secara efisien guna memastikan hanya pod dalam status Siap yang dapat menerima lalu lintas. Hal ini meningkatkan stabilitas dan kecepatan respons layanan.

Gambar berikut menunjukkan cara kerja probing di Knative.

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

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

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

    Catatan

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

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

Prasyarat

Knative telah diterapkan di kluster Anda. Untuk informasi lebih lanjut, lihat atau Terapkan dan kelola Knative.

Konfigurasikan port pendengaran kustom

Metode konfigurasi

Tambahkan bidang readinessProbe atau livenessProbe ke Layanan Knative untuk mengonfigurasi probes readiness dan liveness, masing-masing. Metode konfigurasi sama dengan yang digunakan di Kubernetes. Untuk informasi lebih lanjut, lihat Konfigurasikan Probes 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 yang sebenarnya.
        ports:
          - containerPort: 8080
        readinessProbe:       # Periksa kapan kontainer siap setelah kontainer dimulai.
          httpGet:            # Port yang digunakan untuk probes liveness melalui koneksi soket TCP.
            port: 8080        # Tentukan port selain containerPort untuk probes readiness.
            path: "/health"
        livenessProbe:            # Periksa apakah kontainer 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 apakah probes berhasil 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 apakah probes berhasil berdasarkan kode keluar.

grpc

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

Catatan

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

Referensi

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