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: BackupMendefinisikan 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: integerMembuat 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: 7Mengelola 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-dbNama 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.scheduleCRD 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: trueKapan 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
- StatefulSets untuk Aplikasi Berstatus
- DaemonSets untuk Tugas Khusus Node
- Memahami Operator Kubernetes
- Definisi Sumber Daya Kustom (CRD)