0Pricing
DevOps Bootcamp · Pelajaran

Pod: Unit Terkecil

Pelajari Pod, blok pembangun fundamental dalam Kubernetes, serta cara mendefinisikan dan mengelolanya.

Pod: Unit Terkecil adalah pelajaran DevOps Bootcamp 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 DevOps Bootcamp, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus DevOps Bootcamp mencakup 4 pelajaran total.

Apa Itu Pod Kubernetes?

Di Kubernetes, unit terkecil dan paling mendasar yang dapat Anda terapkan adalah Pod. Anggaplah Pod sebagai satu "rumah" yang menampung satu atau beberapa kontainer.

Pod merupakan abstraksi di atas kontainer. Pod merepresentasikan proses yang sedang berjalan di klaster Anda serta membungkus kontainer aplikasi, sumber daya penyimpanan, IP jaringan yang unik, dan opsi yang mengatur cara kontainer harus berjalan.

Pod: Unit Terkecil — ilustrasi 1

Pod vs. Kontainer: Perbedaannya

Anda mungkin bertanya, "Mengapa saya memerlukan Pod jika sudah memiliki kontainer?" Inilah perbedaan utamanya:

  • Kontainer (seperti kontainer Docker) adalah paket aplikasi beserta dependensinya.
  • Pod adalah abstraksi Kubernetes yang membungkus satu atau beberapa kontainer dan menyediakan sumber daya bersama serta satu identitas jaringan.

Kontainer adalah berkas yang dapat dieksekusi secara nyata, sedangkan Pod adalah cara Kubernetes mengelola dan mengorkestrasi berkas-berkas yang dapat dieksekusi tersebut.

Mengapa Menggunakan Pod?

Pod menawarkan beberapa manfaat penting:

  • Ruang Nama Jaringan Bersama: Semua kontainer dalam sebuah Pod berbagi alamat IP dan port jaringan yang sama. Kontainer-kontainer tersebut dapat saling berkomunikasi menggunakan localhost.
  • Penyimpanan Bersama: Pod dapat berbagi volume penyimpanan sehingga kontainer dalam Pod yang sama dapat mengakses data bersama.
  • Penempatan & Penjadwalan Bersama: Kontainer yang perlu bekerja sama secara erat (misalnya aplikasi dan agen logging) dapat dipastikan berjalan pada node yang sama dan selalu dijadwalkan bersama.

Anatomi Definisi Pod

Pod didefinisikan menggunakan file konfigurasi YAML. Berikut komponen utama yang akan Anda temukan:

  • apiVersion: Menentukan versi API Kubernetes (misalnya, v1).
  • kind: Jenis objek Kubernetes, yaitu Pod.
  • metadata: Informasi seperti name dan labels milik Pod.
  • spec: Keadaan yang diinginkan untuk Pod, termasuk containers yang harus dijalankan, volumes, dan pengaturan lainnya.

Mendefinisikan Pod dengan Satu Kontainer

Sebagian besar Pod berisi satu kontainer. Hal ini umum untuk aplikasi sederhana. Berikut definisi YAML dasar untuk Pod yang menjalankan server web Nginx:

apiVersion: v1
kind: Pod
metadata:
  name: my-nginx-pod
  labels:
    app: webserver
spec:
  containers:
  - name: nginx-container
    image: nginx:latest
    ports:
    - containerPort: 80

Menerapkan Pod Pertama Anda

Untuk membuat Pod dari file YAML, Anda menggunakan perintah kubectl apply. Perintah ini memberi tahu Kubernetes untuk membuat atau memperbarui sumber daya berdasarkan definisi Anda.

Misalkan Anda menyimpan definisi Pod Nginx sebelumnya sebagai nginx-pod.yaml. Anda dapat menerapkannya seperti berikut:

  • kubectl apply -f nginx-pod.yaml

Kubernetes kemudian akan menjadwalkan Pod ini agar berjalan pada salah satu node pekerjanya.

Memeriksa Pod: Get & Describe

Setelah diterapkan, Anda tentu ingin memeriksa status Pod. Berikut dua perintah kubectl yang penting:

  • kubectl get pods: Menampilkan semua Pod dalam ruang nama saat ini, beserta nama, status, dan nodenya.
  • kubectl describe pod <pod-name>: Menyediakan informasi terperinci tentang Pod tertentu, termasuk peristiwa, status kontainer, dan sumber daya yang ditetapkan.

Perintah-perintah ini sangat penting untuk pemantauan dan pemecahan masalah.

Pod Multi-Kontainer: Sidecar

Pod dengan satu kontainer memang umum, tetapi beberapa situasi lebih cocok menggunakan Pod multi-kontainer. Contoh klasiknya adalah Pola Sidecar.

Kontainer sidecar berjalan bersama kontainer aplikasi utama Anda dalam Pod yang sama dan melakukan tugas pendukung seperti:

  • Agen logging dan pemantauan
  • Sinkronisasi data
  • Memproksikan lalu lintas jaringan

Kontainer-kontainer tersebut berbagi jaringan dan penyimpanan Pod sehingga komunikasi menjadi efisien.

Contoh: Pod Multi-Kontainer

Berikut contoh Pod multi-kontainer. Pod ini memiliki server web Nginx dan kontainer sidecar busybox yang menulis log ke volume bersama.

apiVersion: v1
kind: Pod
metadata:
  name: multi-container-pod
spec:
  volumes:
  - name: shared-log-volume
    emptyDir: {}
  containers:
  - name: web-server
    image: nginx:latest
    ports:
    - containerPort: 80
    volumeMounts:
    - name: shared-log-volume
      mountPath: /var/log/nginx
  - name: log-writer
    image: busybox:latest
    command: ["/bin/sh", "-c", "while true; do echo 'Hello from sidecar!' >> /var/log/app.log; sleep 5; done"]
    volumeMounts:
    - name: shared-log-volume
      mountPath: /var/log/app

Uji Pengetahuan Anda tentang Pod

Pernyataan manakah berikut ini tentang Pod Kubernetes yang TRUE?

Rangkuman: Pod - Unit Inti

Anda baru saja mempelajari Pods Kubernetes, yaitu blok pembangun mendasar aplikasi Anda dalam sebuah klaster.

  • Pod membungkus satu atau beberapa kontainer dan menyediakan sumber daya bersama.
  • Pod menyediakan jaringan dan penyimpanan bersama serta menjamin penempatan bersama untuk kontainer yang terkait.
  • Anda mendefinisikan Pod menggunakan YAML dan menerapkannya dengan kubectl apply.
  • kubectl get pods dan kubectl describe pod membantu Anda memantaunya.

Selanjutnya, kita akan mempelajari lebih banyak perintah kubectl untuk berinteraksi dengan klaster Anda!

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Pod: Unit Terkecil” gratis?

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

Apa yang akan aku pelajari di “Pod: Unit Terkecil”?

Pelajari Pod, blok pembangun fundamental dalam Kubernetes, serta cara mendefinisikan dan mengelolanya. Kamu berlatih DevOps Bootcamp 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 DevOps Bootcamp?

Tidak diperlukan pengalaman sebelumnya. DevOps Bootcamp 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 “Pod: Unit Terkecil” 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 DevOps Bootcamp ini?

Ya. Setiap pelajaran DevOps Bootcamp 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. Arsitektur Kubernetes
  2. Pod: Unit Terkecil
  3. Dasar-Dasar Perintah kubectl
  4. Namespace dan Label untuk Organisasi
← Kembali ke DevOps Bootcamp