Peta dunia

 

EN: Read in English

Dunia K2: Dulang & Pesanan

Probe liveness, readiness dan startup

Anda akan belajar: cara Kubernetes semak aplikasi anda berjaga, sedia dan sudah bermula.

Teks BM belum disemak oleh penutur asli.

Disemak dengan Kubernetes 1.37 pada 31 Okt 2026

Masalahnya

Seorang tukang masak terlelap depan dapur. Gerai masih nampak buka, jadi pesanan terus masuk. Tiada apa dimasak. Bagaimana pengurus nak tahu?

Pilih satu jawapan.

Cuba

Kubernetes tanya setiap container sehingga tiga soalan. Setiap soalan ialah probe (semakan). Susun apa yang setiap satu buat.

Seret kad ke dalam kotak. Atau ketik kad, kemudian ketik kotak.

        Tengok

        Anda di sini: kluster kind-dev namespace default
        sleepy minta /healthz daripada nginx, halaman yang tiada. Selepas 3 semakan gagal, container dihidupkan semula: RESTARTS naik dan event kata ia gagal liveness probe. Output terminal: $ kubectl apply -f sleepy.yaml pod/sleepy created $ sleep 30 $ kubectl get pod sleepy NAME READY STATUS RESTARTS AGE sleepy 1/1 Running 1 (9s ago) 30s $ kubectl get events --field-selector reason=Killing -o jsonpath={.items[0].message} Container web failed liveness probe, will be restarted

        liveness probe: "Tukang masak masih berjaga?" Kalau asyik gagal, kubelet hidupkan semula container. bertanya: berjaga? sleepy semak /healthz, halaman yang nginx tiada. Tiga kali 404 berturut-turut: kubelet hidupkan semula container.

        Cuba

        Tekan “Aplikasi kata belum sedia”. Perhati dulang jadi kuning. Kemudian jalankan kubectl get pods: READY turun, RESTARTS kekal 0.

        Anda di sini: kluster kind-dev namespace default
        Gerai: 3. Dulang: 3 (3 sedia). Menunggu gerai: 0.
        • shop3/3 sedia
        dev-control-planeBukaPengurus

        Tiada dulang di sini.

        dev-workerBuka
        • shop·75mv6
        • shop·zs9v2
        dev-worker2Buka
        • shop·jg5l8
        Masa: +0s (dipercepat)

        Teka

        Ketiga-tiga dulang shop gagal readiness. Apa jadi pada pelanggan yang panggil Service?

        Pilih satu jawapan.

        Cuba

        startup probe: "Masih memanaskan dapur?" Beri aplikasi yang lambat masa untuk mula sebelum probe lain bermula. beri masa kepada tukang masak yang lambat. 30 cubaan, 10 saat setiap satu: sehingga 5 minit. Liveness tunggu sampai ia lulus. Baiki salah taip.

        Baiki manifest ini, kemudian tekan Apply.

        slow.yaml15 baris

        Semak

        Anda di sini: kluster kind-dev namespace default
        shy hanya gagal readiness probe: READY 0/1, STATUS Running, RESTARTS 0. Output terminal: $ kubectl apply -f shy.yaml pod/shy created $ sleep 20 $ kubectl get pod shy NAME READY STATUS RESTARTS AGE shy 0/1 Running 0 20s

        shy hanya gagal readiness. READY 0/1, STATUS Running, RESTARTS 0. Belum sedia bukan bermakna rosak. Ia cuma tak dapat pelanggan.

        Anda berjaya!

        Kini anda boleh pilih probe yang betul: berjaga, sedia atau dah panas.

        Nak tahu lebih (pilihan)

        Probe boleh jadi httpGet, tcpSocket, exec atau grpc. Pastikan liveness hanya semak aplikasi itu sendiri. Kalau ia semak pangkalan data, satu pangkalan data yang lambat buat setiap dulang restart.

        Latihan sebenar (pilihan): dalam kluster yang boleh dibuang, apply sleepy.yaml dan jalankan kubectl describe pod sleepy. Baca Events.