Home

apiextensionsk8sio

apiextensions.k8s.io is a Kubernetes API group used to extend the Kubernetes API surface with custom resources and related extension objects. The primary resource in this group is CustomResourceDefinition (CRD), which allows cluster operators to define new resource kinds that behave like native Kubernetes objects and are managed through the standard API machinery.

CRDs define a custom resource’s API group, version, kind, and semantics. A CRD specifies the resource’s names

Versions and evolution: the apiextensions.k8s.io group provides a v1 API, which is the stable, recommended version.

Usage considerations: CRDs enable dynamic extension of the Kubernetes API but require careful lifecycle management and

(plural,
singular,
kind)
and
scope
(Namespaced
or
Cluster),
the
versions
served
and
stored,
and
a
validation
schema
(OpenAPI
v3).
When
a
CRD
is
applied
and
Established,
clients
can
create,
read,
update,
and
delete
custom
resources
of
that
kind
via
the
Kubernetes
API
path
/apis/<group>/<version>/<plural>,
and
through
kubectl
or
client
libraries.
CRDs
may
also
declare
subresources,
status
fields,
and
conversion
strategies
for
versioning.
Earlier
Kubernetes
releases
exposed
a
v1beta1
version,
which
has
been
deprecated
in
favor
of
v1.
The
v1
API
enforces
structural
schemas
and
provides
stronger
validation,
defaulting,
and
tooling
support.
This
group
is
central
to
the
operator
pattern,
as
CRDs
enable
controllers
to
manage
domain-specific
resources
without
modifying
the
core
Kubernetes
code.
governance.
Installing
and
upgrading
CRDs
affects
the
API
surface
and
may
interact
with
custom
controllers
that
reconcile
the
defined
resources.
The
apiextensions.k8s.io
group
is
maintained
by
Kubernetes
API
machinery
and
the
broader
ecosystem
of
extension
tooling.