0Pricing
Kubernetes Basics · Pelajaran

Menskalakan Aplikasi dengan ReplicaSets

Gunakan ReplicaSets untuk menjamin jumlah Pod identik yang ditentukan selalu berjalan.

Menskalakan Aplikasi dengan ReplicaSets 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.

Mengapa Penskalaan Penting

Dalam dunia aplikasi cloud-native, penskalaan sangat penting. Penskalaan memastikan aplikasi Anda dapat menangani beban kerja yang berubah-ubah dan tetap tersedia meskipun terjadi kegagalan pada komponen.

Penskalaan berarti menyesuaikan jumlah instans aplikasi yang sedang berjalan agar memenuhi permintaan. Jika terlalu sedikit, aplikasi Anda menjadi lambat atau tidak responsif. Jika terlalu banyak, sumber daya terbuang.

Berkenalan dengan ReplicaSet

ReplicaSet adalah objek inti Kubernetes yang tugas utamanya mempertahankan sekumpulan Pod yang sedang berjalan secara stabil pada waktu tertentu.

Anggaplah ReplicaSet sebagai penjaga Pod Anda. ReplicaSet memastikan jumlah Pod identik yang Anda inginkan selalu sama dengan jumlah Pod yang benar-benar sedang berjalan.

Misi Utama ReplicaSet

Tujuan utama ReplicaSet adalah menjamin ketersediaan sejumlah Pod identik yang telah ditentukan.

  • Jika sebuah Pod berhenti (misalnya karena kegagalan node), ReplicaSet secara otomatis membuat Pod baru.
  • Jika proses eksternal membuat terlalu banyak Pod, ReplicaSet menghentikan Pod yang berlebih.
  • Kemampuan pemulihan mandiri ini sangat penting bagi keandalan aplikasi.

Struktur YAML ReplicaSet

Seperti objek Kubernetes lainnya, ReplicaSet ditentukan menggunakan berkas YAML. Berikut struktur dasarnya:

  • apiVersion: Menentukan versi API Kubernetes (misalnya, apps/v1).
  • kind: Menentukan jenis objek, yaitu ReplicaSet.
  • metadata: Berisi informasi identitas seperti name.
  • spec: Menjelaskan keadaan ReplicaSet yang diinginkan.

Keadaan yang Diinginkan: Replika & Pemilih

Di dalam bagian spec, dua bidang penting adalah replicas dan selector:

  • replicas: Angka yang menunjukkan jumlah Pod identik yang Anda inginkan untuk tetap berjalan.
  • selector: Menentukan cara ReplicaSet menemukan dan mengelola Pod. ReplicaSet menggunakan label untuk mencocokkan Pod. Hanya Pod yang cocok dengan label tersebut yang akan dianggap sebagai bagian dari ReplicaSet ini.

Templat Pod

Bidang spec.template menyediakan cetak biru untuk Pod yang akan dibuat oleh ReplicaSet. Pada dasarnya, bidang ini adalah definisi Pod standar.

Templat ini mencakup metadata Pod (seperti label) dan spesifikasinya (seperti citra kontainer, port, dan sebagainya). Label dalam templat harus cocok dengan spec.selector!

Menentukan ReplicaSet Sederhana

Mari tentukan ReplicaSet yang memastikan 2 Pod server web Nginx selalu berjalan. Perhatikan bahwa label templat Pod (app: nginx) cocok dengan pemilih.

apiVersion: apps/v1
kind: ReplicaSet
metadata:
  name: nginx-replicaset
spec:
  replicas: 2
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:latest
        ports:
        - containerPort: 80

Membuat & Memeriksa Status

Untuk membuat ReplicaSet ini, simpan YAML sebagai nginx-rs.yaml lalu terapkan. Setelah itu, periksa statusnya dan Pod yang dikelolanya:

kubectl apply -f nginx-rs.yaml
kubectl get rs
kubectl get pods -l app=nginx

Menambah dan Mengurangi Penskalaan

Anda dapat mengubah jumlah Pod yang diinginkan untuk ReplicaSet secara dinamis menggunakan perintah kubectl scale. Mari ubah penskalaan ReplicaSet Nginx kita menjadi 4 Pod:

kubectl scale --replicas=4 rs/nginx-replicaset
kubectl get rs
kubectl get pods -l app=nginx

Mengamati Penskalaan

Saat Anda mengubah penskalaan ReplicaSet, Kubernetes secara otomatis membuat atau menghapus Pod agar sesuai dengan jumlah replicas yang baru. Anda dapat mengamati proses ini secara langsung:

kubectl scale --replicas=1 rs/nginx-replicaset
kubectl get pods -l app=nginx -w

Tantangan Penskalaan

Anda memiliki ReplicaSet bernama my-app-rs yang saat ini menjalankan 3 Pod. Anda ingin menambah jumlahnya menjadi 5 Pod. Perintah kubectl mana yang akan Anda gunakan?

Ringkasan & Langkah Berikutnya

Anda telah mempelajari bahwa ReplicaSets sangat penting untuk mempertahankan jumlah Pod identik yang diinginkan, serta menyediakan pemulihan mandiri dan ketersediaan tinggi bagi aplikasi Anda. Anda dapat menentukannya dalam YAML dan mengubah skalanya menggunakan kubectl scale.

Meskipun ReplicaSet sangat andal, dalam praktiknya Anda akan lebih sering menggunakan Deployment, yang mengelola ReplicaSet untuk Anda dan menyediakan fitur lanjutan seperti pembaruan bergulir. Selanjutnya, kita akan mempelajari Deployment!

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Menskalakan Aplikasi dengan ReplicaSets” gratis?

Ya — teks lengkap “Menskalakan Aplikasi dengan ReplicaSets” 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 “Menskalakan Aplikasi dengan ReplicaSets”?

Gunakan ReplicaSets untuk menjamin jumlah Pod identik yang ditentukan selalu berjalan. 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 “Menskalakan Aplikasi dengan ReplicaSets” 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. Memahami Deployment
  2. Menskalakan Aplikasi dengan ReplicaSets
  3. Pembaruan Bergulir dan Pengembalian Versi
  4. Strategi Deployment: Blue-Green dan Canary
← Kembali ke Kubernetes Basics