Kem Intensif DevOps · Pelajaran

Takrif Sumber Tersuai (CRD)

Pelajari cara Takrif Sumber Tersuai melanjutkan API Kubernetes dengan jenis sumber anda sendiri, iaitu asas yang digunakan oleh Operator.

Pelajaran 4 daripada 413 langkah

Takrif Sumber Tersuai (CRD) ialah pelajaran Kem Intensif DevOps percuma di CoddyKit. Ini ialah pelajaran 4 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.

Memperluas API Kubernetes

Objek terbina dalam seperti Pod dan Deployment bukanlah hadnya. Dengan Custom Resource Definition (CRD), anda boleh mengajar Kubernetes jenis sumber yang baharu sepenuhnya.

Apakah Sumber Tersuai?

Custom Resource (CR) ialah tika bagi jenis yang anda tentukan. Setelah CRD dipasang, anda mencipta CR dengan kubectl sama seperti objek asli.

Anatomi CRD

CRD mengisytiharkan jenis baharu, kumpulan API, versi dan skopnya (berskop ruang nama atau seluruh kluster).

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

Menentukan Skema

Skema OpenAPI mengesahkan medan sumber tersuai anda dan menolak spesifikasi yang tidak sah semasa penciptaan.

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

Mencipta Sumber Tersuai

Selepas CRD diterapkan, anda mencipta tika bagi jenis baharu anda.

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

Menggunakan CR melalui kubectl

Sumber tersuai ialah objek kelas utama. Anda boleh menyenaraikan, menerangkan dan memadamkannya dengan arahan yang biasa.

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

Nama Ringkas dan Lajur Pencetak

Anda boleh menentukan nama ringkas dan lajur jadual tersuai supaya CR lebih mudah digunakan.

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

CRD Hanyalah Data

Dengan sendirinya, CRD hanya menyimpan data dalam etcd. Tiada apa-apa yang bertindak terhadapnya. Untuk benar-benar melaksanakan sandaran, anda memerlukan pengawal yang memerhatikan sumber ini.

Pautan kepada Operator

Operator ialah pengawal bersama satu atau lebih CRD. CRD menentukan keadaan yang dikehendaki; pengawal sentiasa menyelaraskan keadaan sebenar supaya sepadan dengannya. CRD ialah asas kepada Operator.

Pemberversian CRD

CRD menyokong berbilang versi dengan penukaran, membolehkan anda mengembangkan API. Tepat satu versi ditandakan sebagai versi storan dalam etcd.

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

Bila Perlu Menggunakan CRD

  • Anda mahu memodelkan konsep domain secara deklaratif (sandaran, pangkalan data, sijil)
  • Anda sedang membina Operator untuk mengautomasikan operasi
  • Anda mahu pengguna mengurus aplikasi anda menggunakan aliran kerja kubectl yang biasa

Semakan Pantas

Uji pemahaman anda tentang CRD.

Rumusan

Anda telah mempelajari bahawa CRDs memperluas API Kubernetes dengan jenis tersuai yang disahkan oleh skema OpenAPI dan diuruskan menggunakan arahan kubectl biasa. CRD sahaja hanya menyimpan data; menggabungkannya dengan pengawal menghasilkan Operator yang menyelaraskan keadaan yang dikehendaki.

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 “Takrif Sumber Tersuai (CRD)” percuma?

Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Kem Intensif DevOps, termasuk “Takrif Sumber Tersuai (CRD)”, 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 “Takrif Sumber Tersuai (CRD)”?

Pelajari cara Takrif Sumber Tersuai melanjutkan API Kubernetes dengan jenis sumber anda sendiri, iaitu asas yang digunakan oleh Operator. 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 4 daripada 4.

Berapa lamakah pelajaran “Takrif Sumber Tersuai (CRD)” 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. StatefulSets untuk Aplikasi Berkeadaan
  2. DaemonSets untuk Tugas Khusus Nod
  3. Memahami Operator Kubernetes
  4. Takrif Sumber Tersuai (CRD)
← Kembali ke Kem Intensif DevOps