Přeskočit na obsah
_CORE
AI & agentní systémy Podnikové informační systémy Cloud & Platform Engineering Datová platforma & integrace Bezpečnost & compliance QA, testování & observabilita IoT, automatizace & robotika Mobilní & digitální produkty Bankovnictví & finance Pojišťovnictví Veřejná správa Obrana & bezpečnost Zdravotnictví Energetika & utility Telco & média Průmysl & výroba Logistika & e-commerce Retail & věrnostní programy
Reference Technologie Blog Know-how Nástroje
O nás Spolupráce Kariéra
CS EN DE
Pojďme to probrat

Kubernetes CRDs — Custom Resource Definitions

08. 06. 2020 Aktualizováno: 24. 03. 2026 1 min čtení intermediate
Tento článek byl publikován v roce 2020. Některé informace mohou být zastaralé.

Cloud Pokročilý

Kubernetes CRDs — Custom Resource Definitions

KubernetesCRDAPIExtensibility 5 min čtení

Rozšíření Kubernetes API vlastními resource typy. CRD definice, validace, verzování a best practices.

Co jsou CRDs

Custom Resource Definitions rozšiřují Kubernetes API o vlastní typy objektů.

apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  name: databases.example.com
spec:
  group: example.com
  versions:
    - name: v1
      served: true
      storage: true
      schema:
        openAPIV3Schema:
          type: object
          properties:
            spec:
              type: object
              required: [engine, version]
              properties:
                engine:
                  type: string
                  enum: [postgres, mysql, mongodb]
                version:
                  type: string
                replicas:
                  type: integer
                  minimum: 1
                  maximum: 7
                  default: 3
  scope: Namespaced
  names:
    plural: databases
    singular: database
    kind: Database
    shortNames: [db]

Použití Custom Resource

apiVersion: example.com/v1
kind: Database
metadata:
  name: orders-db
  namespace: production
spec:
  engine: postgres
  version: "16"
  replicas: 3

# kubectl get databases
# kubectl describe db orders-db

Verzování

CRDs podporují více verzí s conversion webhookem.

versions:
  - name: v1
    served: true
    storage: true
  - name: v1beta1
    served: true
    storage: false
conversion:
  strategy: Webhook
  webhook:
    conversionReviewVersions: ["v1"]
    clientConfig:
      service:
        name: db-conversion
        namespace: system
        path: /convert

Shrnutí

CRDs jsou základ Kubernetes extensibility. Umožňují deklarativní řízení libovolné infrastruktury přes kubectl a standardní K8s API.

Potřebujete pomoct s implementací?

Náš tým má zkušenosti s návrhem a implementací moderních architektur. Rádi vám pomůžeme.

Nezávazná konzultace

Sdílet:

CORE SYSTEMS tým

Stavíme core systémy a AI agenty, které drží provoz. 15 let zkušeností s enterprise IT.