Working with CRDs¶
New Custom Resource Definitions are not immediately available for use in the Kubernetes API until the Kubernetes API has acknowledged them.
If a Custom Resource Definition is being defined inside of a test step, be sure to wait for the CustomResourceDefinition object to appear.
For example, given this Custom Resource Definition:
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
name: mycrds.mycrd.k8s.io
spec:
group: mycrd.k8s.io
version: v1alpha1
names:
kind: MyCRD
listKind: MyCRDList
plural: mycrds
singular: mycrd
scope: Namespaced
Create the following assert:
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
name: mycrds.mycrd.k8s.io
status:
acceptedNames:
kind: MyCRD
listKind: MyCRDList
plural: mycrds
singular: mycrd
storedVersions:
- v1alpha1
And then the CRD can be used in subsequent steps: