- Note: CRD is part of the new CKAD syllabus. Here are a few examples of installing custom resource into the Kubernetes API by creating a CRD.
- Name :
operators.stable.example.com - Group :
stable.example.com - Schema:
<email: string><name: string><age: integer> - Scope:
Namespaced - Names:
<plural: operators><singular: operator><shortNames: op> - Kind:
Operator
show
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
# name must match the spec fields below, and be in the form: <plural>.<group>
name: operators.stable.example.com
spec:
group: stable.example.com
versions:
- name: v1
served: true
# One and only one version must be marked as the storage version.
storage: true
schema:
openAPIV3Schema:
type: object
properties:
spec:
type: object
properties:
email:
type: string
name:
type: string
age:
type: integer
scope: Namespaced
names:
plural: operators
singular: operator
# kind is normally the CamelCased singular type. Your resource manifests use this.
kind: Operator
shortNames:
- opshow
kubectl apply -f operator-crd.yml- Name :
operator-sample - Kind:
Operator - Spec:
- email:
operator-sample@stable.example.com - name:
operator sample - age:
30
- email:
show
apiVersion: stable.example.com/v1
kind: Operator
metadata:
name: operator-sample
spec:
email: operator-sample@stable.example.com
name: "operator sample"
age: 30kubectl apply -f operator.ymlshow
Use singular, plural and short forms
kubectl get operators
or
kubectl get operator
or
kubectl get op