0Pricing
Kubernetes Basics · 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.

Definisi Sumber Daya Kustom (CRD) adalah pelajaran Kubernetes Basics 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 Kubernetes Basics, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Kubernetes Basics 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.

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 Kubernetes Basics, upgrade ke CoddyKit PRO. Kursus Kubernetes Basics 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 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 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 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. StatefulSets untuk Aplikasi Berstatus
  2. DaemonSets untuk Tugas Khusus Node
  3. Memahami Operator Kubernetes
  4. Definisi Sumber Daya Kustom (CRD)
← Kembali ke Kubernetes Basics