0Pricing
Kubernetes Basics · Pelajaran

Siklus Hidup dan Status Pod

Pahami berbagai fase yang dilalui Pod dan cara memantau statusnya.

Siklus Hidup dan Status Pod adalah pelajaran Kubernetes Basics gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Kubernetes Basics, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Kubernetes Basics mencakup 4 pelajaran total.

Pod: Perjalanan dalam Kehidupan

Pod tidak bersifat statis; Pod melewati berbagai tahap, layaknya sebuah perjalanan. Memahami "siklus hidup" ini sangat penting untuk mengelola aplikasi Anda secara efektif di Kubernetes.

Hal ini membantu Anda mengetahui apakah aplikasi sehat, sedang dimulai, atau mengalami masalah.

Siklus Hidup dan Status Pod — ilustrasi 1

Lima Tahap Kehidupan Pod

Kubernetes mengategorikan Pod ke dalam lima fase utama. Fase-fase ini memberikan gambaran tingkat tinggi tentang keadaan Pod saat ini:

  • Pending: Pod telah diterima oleh Kubernetes, tetapi kontainernya belum dimulai.
  • Running: Setidaknya satu kontainer dalam Pod sedang berjalan atau mulai berjalan.
  • Succeeded: Semua kontainer dalam Pod selesai dengan sukses dan tidak akan dimulai ulang.
  • Failed: Semua kontainer telah dihentikan, dan setidaknya satu di antaranya gagal (misalnya, keluar dengan kode bukan nol).
  • Unknown: Keadaan Pod tidak dapat ditentukan, sering kali karena masalah komunikasi.

Fase 1: Pod Pending

Pod berada dalam fase Pending ketika telah diterima oleh server API Kubernetes, tetapi satu atau beberapa kontainernya belum dibuat atau dikonfigurasi.

Beberapa alasan umumnya meliputi:

  • Citra kontainer masih diunduh.
  • Klaster tidak memiliki sumber daya yang cukup (CPU/memori) untuk menjadwalkan Pod.
  • Volume masih disediakan atau dipasang.

Mengamati Pod Pending

Mari kita lihat sebuah contoh. Jika Anda mencoba menerapkan Pod dengan citra yang tidak ada, Pod tersebut mungkin terhenti dalam keadaan 'Pending' atau menampilkan kesalahan pengambilan citra.

Berikut contoh definisi Pod:

apiVersion: v1
kind: Pod
metadata:
  name: pending-pod-demo
spec:
  containers:
  - name: my-container
    image: non-existent-image:latest
    ports:
    - containerPort: 80

Untuk memeriksa statusnya, gunakan kubectl get pod. Anda mungkin melihat sesuatu seperti ini:

$ kubectl get pod pending-pod-demo
NAME               READY   STATUS         RESTARTS   AGE
pending-pod-demo   0/1     ErrImagePull   0          5s

ErrImagePull menunjukkan bahwa citra tidak dapat diambil, sehingga Pod tidak mencapai keadaan Running.

Fase 2: Pod Berjalan

Fase Berjalan berarti Pod telah terikat ke sebuah node, dan semua containernya berhasil dibuat. Setidaknya satu container sedang berjalan, atau sedang dalam proses memulai atau memulai ulang.

Penting untuk diketahui bahwa Pod yang Berjalan tidak otomatis berarti aplikasi di dalamnya sehat atau berfungsi sepenuhnya. Ini hanya berarti container-container tersebut aktif.

Menjalankan Pod

Berikut definisi Pod standar untuk server web Nginx. Setelah menerapkannya, Pod Anda seharusnya segera memasuki keadaan 'Berjalan'.

apiVersion: v1
kind: Pod
metadata:
  name: nginx-pod
spec:
  containers:
  - name: nginx
    image: nginx:latest
    ports:
    - containerPort: 80

Setelah diterapkan, penggunaan kubectl get pod akan menampilkan:

$ kubectl get pod nginx-pod
NAME        READY   STATUS    RESTARTS   AGE
nginx-pod   1/1     Running   0          10s

Angka 1/1 pada READY mengonfirmasi bahwa satu container siap dari satu container yang didefinisikan.

Fase 3 & 4: Berhasil & Gagal

Fase-fase ini menunjukkan keadaan terminasi untuk sebuah Pod:

  • Berhasil: Pod memasuki fase ini ketika semua container di dalamnya telah berhenti dengan sukses dan tidak akan dimulai ulang. Ini umum terjadi pada Pod yang menjalankan tugas satu kali atau pekerjaan batch.
  • Gagal: Pod berada dalam fase Gagal ketika semua container di dalam Pod telah berhenti, dan setidaknya satu container berhenti karena kegagalan (misalnya, keluar dengan kode status bukan nol).

Memahami hal ini membantu Anda mendiagnosis penyelesaian pekerjaan atau kesalahan aplikasi.

Fase Misterius: Tidak Diketahui

Fase Tidak Diketahui berarti keadaan Pod tidak dapat ditentukan. Ini adalah fase yang jarang terjadi, tetapi penting.

Biasanya hal ini terjadi ketika Kubelet (agen) pada node tempat Pod berjalan berhenti berkomunikasi dengan server API Kubernetes. Penyebabnya mungkin masalah jaringan, Kubelet yang mengalami kerusakan, atau masalah pada node itu sendiri.

Keadaan Container dalam Pod

Meskipun Pod memiliki fase keseluruhan, setiap container di dalam Pod juga memiliki keadaan yang lebih terperinci. Keadaan ini secara langsung memengaruhi fase keseluruhan Pod:

  • Menunggu: Container saat ini menunggu untuk dimulai. Alasannya mencakup pengambilan image, alokasi sumber daya, atau menunggu container inisialisasi selesai.
  • Berjalan: Container sedang menjalankan tugas secara aktif tanpa masalah.
  • Berhenti: Container telah menyelesaikan eksekusinya. Container tersebut mungkin berhasil atau gagal.

Pemeriksaan Keadaan Pod

Bayangkan Anda baru saja menerapkan Pod baru. Anda menjalankan kubectl get pod my-app dan melihat keluaran berikut:

NAME      READY   STATUS     RESTARTS   AGE
my-app    0/1     Pending    0          12s

Apa alasan yang paling mungkin menyebabkan Pod my-app berada dalam keadaan Pending dengan 0/1 container siap?

Ringkasan Siklus Hidup & Langkah Berikutnya

Anda telah mempelajari bahwa Pod Kubernetes berkembang melalui fase-fase berbeda: Pending, Running, Succeeded, Failed, dan Unknown. Fase-fase ini memberikan gambaran tingkat tinggi tentang status operasional Pod.

Kita juga telah membahas keadaan container individual (Waiting, Running, Terminated), yang berkontribusi pada fase keseluruhan Pod. Memantau keadaan ini dengan kubectl get pod dan kubectl describe pod (yang akan Anda pelajari lebih lanjut nanti!) sangat penting untuk memahami kesehatan aplikasi Anda.

Selanjutnya, kita akan membahas pola Pod tingkat lanjut, dengan mempelajari cara menjalankan beberapa container yang ditempatkan bersama dalam satu Pod menggunakan pola sidecar!

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Siklus Hidup dan Status Pod” gratis?

Ya — teks lengkap “Siklus Hidup dan Status Pod” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Kubernetes Basics, upgrade ke CoddyKit PRO. Kursus Kubernetes Basics mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Siklus Hidup dan Status Pod”?

Pahami berbagai fase yang dilalui Pod dan cara memantau statusnya. Kamu berlatih Kubernetes Basics dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Kubernetes Basics?

Tidak diperlukan pengalaman sebelumnya. Kubernetes Basics di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.

Berapa lama pelajaran “Siklus Hidup dan Status Pod” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Kubernetes Basics ini?

Ya. Setiap pelajaran Kubernetes Basics menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Pod: Unit Terkecil
  2. Siklus Hidup dan Status Pod
  3. Pod Multi-Container (Sidecar)
  4. Init Container dan Urutan Startup
← Kembali ke Kubernetes Basics