DevOps Bootcamp · Pelajaran

Definisi Sumber Daya Kustom (CRD)

Pelajari cara Custom Resource Definitions memperluas API Kubernetes dengan jenis sumber daya Anda sendiri, yang menjadi fondasi bagi Operators.

Pelajaran 4 dari 413 langkah

Definisi Sumber Daya Kustom (CRD) adalah pelajaran DevOps Bootcamp gratis di CoddyKit. Ini adalah pelajaran 4 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.

Memperluas API Kubernetes

Objek bawaan seperti Pod dan Deployment bukanlah batasnya. Dengan Custom Resource Definition (CRD), Anda dapat mengajarkan Kubernetes jenis sumber daya yang benar-benar baru.

Apa Itu Custom Resource

Custom Resource (CR) adalah instans dari jenis yang Anda definisikan. Setelah CRD dipasang, Anda membuat CR dengan kubectl seperti halnya objek bawaan.

Anatomi CRD

CRD menyatakan jenis baru, grup API, versi, dan cakupannya, yaitu dengan cakupan ruang nama atau seluruh klaster.

apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  name: backups.data.example.com
spec:
  group: data.example.com
  scope: Namespaced
  names:
    plural: backups
    singular: backup
    kind: Backup

Mendefinisikan Skema

Skema OpenAPI memvalidasi bidang-bidang dalam sumber daya kustom Anda dan menolak spesifikasi yang tidak valid saat pembuatan.

versions:
- name: v1
  served: true
  storage: true
  schema:
    openAPIV3Schema:
      type: object
      properties:
        spec:
          type: object
          properties:
            schedule:
              type: string
            retention:
              type: integer

Membuat Custom Resource

Setelah CRD diterapkan, Anda membuat instans dari jenis baru tersebut.

apiVersion: data.example.com/v1
kind: Backup
metadata:
  name: nightly-db
spec:
  schedule: '0 2 * * *'
  retention: 7

Mengelola CR melalui kubectl

Sumber daya kustom merupakan objek kelas utama. Anda dapat mencantumkan, menjelaskan, dan menghapusnya dengan perintah yang sudah dikenal.

kubectl get backups
kubectl describe backup nightly-db
kubectl delete backup nightly-db

Nama Singkat dan Kolom Tampilan

Anda dapat menentukan nama singkat dan kolom tabel kustom agar CR lebih mudah digunakan.

names:
  shortNames: ['bk']
additionalPrinterColumns:
- name: Schedule
  type: string
  jsonPath: .spec.schedule

CRD Hanyalah Data

Dengan sendirinya, CRD hanya menyimpan data di etcd. Tidak ada yang bertindak atasnya. Agar Backup benar-benar terjadi, Anda memerlukan pengendali yang mengawasi sumber daya tersebut.

Kaitannya dengan Operator

Operator adalah pengendali ditambah satu atau beberapa CRD. CRD menentukan keadaan yang diinginkan; pengendali terus-menerus menyelaraskan keadaan nyata agar sesuai dengannya. CRD adalah fondasi tempat Operator berdiri.

Pemberian Versi pada CRD

CRD mendukung beberapa versi dengan konversi, sehingga Anda dapat mengembangkan API. Tepat satu versi ditandai sebagai versi penyimpanan di etcd.

versions:
- name: v1beta1
  served: true
  storage: false
- name: v1
  served: true
  storage: true

Kapan Menggunakan CRD

  • Anda ingin memodelkan konsep domain secara deklaratif, seperti Cadangan, Basis Data, atau Sertifikat
  • Anda sedang membangun Operator untuk mengotomatiskan operasi
  • Anda ingin pengguna mengelola aplikasi menggunakan alur kerja kubectl yang sudah dikenal

Pemeriksaan Singkat

Uji pemahaman Anda tentang CRD.

Ringkasan

Anda telah mempelajari bahwa CRD memperluas API Kubernetes dengan jenis kustom yang divalidasi oleh skema OpenAPI dan dikelola menggunakan perintah kubectl biasa. CRD saja hanya menyimpan data; menggabungkannya dengan pengendali menghasilkan Operator yang menyelaraskan keadaan yang diinginkan.

Gratis untuk memulai

Belajar DevOps Bootcamp dengan tutor AI — gratis

Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.

Kursus
142
Pelajaran
568

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Definisi Sumber Daya Kustom (CRD)” gratis?

Ya — teks lengkap “Definisi Sumber Daya Kustom (CRD)” 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 “Definisi Sumber Daya Kustom (CRD)”?

Pelajari cara Custom Resource Definitions memperluas API Kubernetes dengan jenis sumber daya Anda sendiri, yang menjadi fondasi bagi Operators. 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 4 dari 4.

Berapa lama pelajaran “Definisi Sumber Daya Kustom (CRD)” 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. StatefulSets untuk Aplikasi Berstatus
  2. DaemonSets untuk Tugas Khusus Node
  3. Memahami Operator Kubernetes
  4. Definisi Sumber Daya Kustom (CRD)
← Kembali ke DevOps Bootcamp