1
0
mirror of https://github.com/openshift/openshift-docs.git synced 2026-02-07 09:46:53 +01:00
Files
openshift-docs/modules/kmm-hub-using-the-managedclustermodule.adoc
aireilly 8936b26f9e E810 hardware plugin doc updates
WPC T-GM + GNSS updates

General PTP docs reorg and clean up

Updates based on Aneesh's review comments

removing gnss-state-change from api/ocloudNotifications/v1/<resource_address>/CurrentState

Adding metric details

Adding new PTP image

Adding final PTP 4.14 image

Aneesh's comments

jack's comments

Adjust TOC

Peer review comments
2023-12-13 11:22:03 +00:00

38 lines
1.6 KiB
Plaintext

// Module included in the following assemblies:
//
// * hardware_enablement/kmm-kernel-module-management.adoc
:_mod-docs-content-type: PROCEDURE
[id="kmm-hub-using-the-managedclustermodule_{context}"]
= Using the `ManagedClusterModule` CRD
Use the `ManagedClusterModule` Custom Resource Definition (CRD) to configure the deployment of kernel modules on spoke clusters.
This CRD is cluster-scoped, wraps a `Module` spec and adds the following additional fields:
[source,yaml]
----
apiVersion: hub.kmm.sigs.x-k8s.io/v1beta1
kind: ManagedClusterModule
metadata:
name: <my-mcm>
# No namespace, because this resource is cluster-scoped.
spec:
moduleSpec: <1>
selector: <2>
node-wants-my-mcm: 'true'
spokeNamespace: <some-namespace> <3>
selector: <4>
wants-my-mcm: 'true'
----
<1> `moduleSpec`: Contains `moduleLoader` and `devicePlugin` sections, similar to a `Module` resource.
<2> Selects nodes within the `ManagedCluster`.
<3> Specifies in which namespace the `Module` should be created.
<4> Selects `ManagedCluster` objects.
If build or signing instructions are present in `.spec.moduleSpec`, those pods are run on the hub cluster in the operator's namespace.
When the `.spec.selector matches` one or more `ManagedCluster` resources, then KMM-Hub creates a `ManifestWork` resource in the corresponding namespace(s). `ManifestWork` contains a trimmed-down `Module` resource, with kernel mappings preserved but all `build` and `sign` subsections are removed. `containerImage` fields that contain image names ending with a tag are replaced with their digest equivalent.