Kem Intensif DevOps · Pelajaran

Menskalakan Aplikasi dengan ReplicaSets

Gunakan ReplicaSets untuk memastikan bilangan Pod seiras yang ditetapkan sentiasa berjalan.

Pelajaran 2 daripada 412 langkah

Menskalakan Aplikasi dengan ReplicaSets ialah pelajaran Kem Intensif DevOps percuma di CoddyKit. Ini ialah pelajaran 2 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Kem Intensif DevOps, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Kem Intensif DevOps merangkumi sejumlah 4 pelajaran.

Mengapa Penskalaan Penting

Dalam dunia aplikasi asli awan, penskalaan amat penting. Penskalaan memastikan aplikasi anda dapat mengendalikan beban kerja yang berubah-ubah dan kekal tersedia walaupun komponen mengalami kegagalan.

Penskalaan bermaksud melaraskan bilangan tika aplikasi yang sedang berjalan untuk memenuhi permintaan. Jika terlalu sedikit, aplikasi anda menjadi perlahan atau tidak responsif. Jika terlalu banyak, sumber akan dibazirkan.

Kenali ReplicaSet

ReplicaSet ialah objek teras Kubernetes yang tugas utamanya adalah mengekalkan sekumpulan Pod yang sedang berjalan secara stabil pada bila-bila masa.

Anggaplah ia sebagai penjaga Pod anda. Ia memastikan bilangan Pod seiras yang anda kehendaki sentiasa sama dengan bilangan yang benar-benar sedang berjalan.

Misi Teras ReplicaSet

Matlamat utama ReplicaSet adalah untuk menjamin ketersediaan bilangan Pod seiras yang ditetapkan.

  • Jika satu Pod terhenti (contohnya disebabkan kegagalan nod), ReplicaSet akan mencipta Pod baharu secara automatik.
  • Jika proses luaran mencipta terlalu banyak Pod, ReplicaSet akan menamatkan Pod yang berlebihan.
  • Keupayaan pemulihan kendiri ini penting untuk kebolehpercayaan aplikasi.

Struktur YAML ReplicaSet

Seperti objek Kubernetes yang lain, ReplicaSet ditakrifkan menggunakan fail YAML. Berikut ialah gambaran struktur asasnya:

  • apiVersion: Menentukan versi API Kubernetes (contohnya, apps/v1).
  • kind: Menentukan jenis objek, iaitu ReplicaSet.
  • metadata: Mengandungi maklumat pengenalan seperti name.
  • spec: Menerangkan keadaan ReplicaSet yang dikehendaki.

Keadaan Dikehendaki: Replika dan Pemilih

Dalam bahagian spec, dua medan penting ialah replicas dan selector:

  • replicas: Nombor yang menunjukkan bilangan Pod seiras yang anda mahu jalankan.
  • selector: Menentukan cara ReplicaSet mencari dan mengurus Pod. Ia menggunakan label untuk memadankan Pod. Hanya Pod yang sepadan dengan label ini akan dianggap sebahagian daripada ReplicaSet ini.

Templat Pod

Medan spec.template menyediakan pelan asas untuk Pod yang akan dicipta oleh ReplicaSet. Pada asasnya, medan ini ialah takrif Pod standard.

Templat ini merangkumi metadata Pod (seperti label) dan spesifikasinya (seperti imej kontena, port dan sebagainya). Label dalam templat mestilah sepadan dengan spec.selector!

Mentakrifkan ReplicaSet Ringkas

Mari kita takrifkan ReplicaSet yang memastikan 2 Pod pelayan web Nginx sentiasa berjalan. Perhatikan bahawa label templat Pod (app: nginx) sepadan 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

Mencipta dan Menyemak Status

Untuk mencipta ReplicaSet ini, simpan YAML sebagai nginx-rs.yaml dan gunakannya. Kemudian, semak statusnya serta Pod yang diuruskannya:

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

Menaikkan dan Menurunkan Skala

Anda boleh mengubah bilangan Pod yang dikehendaki secara dinamik untuk ReplicaSet menggunakan perintah kubectl scale. Mari kita naikkan skala ReplicaSet Nginx kita kepada 4 Pod:

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

Memerhati Penskalaan

Apabila anda menaikkan atau menurunkan skala ReplicaSet, Kubernetes mencipta atau memadam Pod secara automatik supaya sepadan dengan kiraan replicas baharu anda. Anda boleh melihat proses ini berlaku dalam masa nyata:

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

Cabaran Penskalaan

Anda mempunyai ReplicaSet bernama my-app-rs yang sedang menjalankan 3 Pod. Anda mahu meningkatkan jumlah ini kepada 5 Pod. Apakah perintah kubectl yang akan anda gunakan?

Imbas Kembali dan Langkah Seterusnya

Anda telah mempelajari bahawa ReplicaSets penting untuk mengekalkan bilangan Pod seiras yang dikehendaki, sekali gus menyediakan pemulihan kendiri dan ketersediaan tinggi untuk aplikasi anda. Anda boleh mentakrifkannya dalam YAML dan menaikkan atau menurunkan skalanya menggunakan kubectl scale.

Walaupun ReplicaSet berkuasa, dalam amalan anda biasanya akan menggunakan Deployment, yang mengurus ReplicaSet untuk anda dan menawarkan ciri lebih maju seperti kemas kini berperingkat. Kita akan meneroka Deployment selepas ini!

Percuma untuk bermula

Pelajari Kem Intensif DevOps dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
142
Pelajaran
568

Soalan Lazim

Adakah pelajaran “Menskalakan Aplikasi dengan ReplicaSets” percuma?

Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Kem Intensif DevOps, termasuk “Menskalakan Aplikasi dengan ReplicaSets”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Kem Intensif DevOps merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Menskalakan Aplikasi dengan ReplicaSets”?

Gunakan ReplicaSets untuk memastikan bilangan Pod seiras yang ditetapkan sentiasa berjalan. Anda berlatih Kem Intensif DevOps menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Kem Intensif DevOps?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Kem Intensif DevOps di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 2 daripada 4.

Berapa lamakah pelajaran “Menskalakan Aplikasi dengan ReplicaSets” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Kem Intensif DevOps ini?

Ya. Setiap pelajaran Kem Intensif DevOps menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Memahami Pelancaran
  2. Menskalakan Aplikasi dengan ReplicaSets
  3. Kemas Kini Berperingkat dan Pemulihan Versi
  4. Strategi Penggunaan: Blue-Green dan Canary
← Kembali ke Kem Intensif DevOps