Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

AttributeQualifierCardinalityContentDescription
minKernelVersionM1StringDescribes the minimal required Kernel version, e.g. 4.15.0. Coded as displayed by linux command uname –r
requiredKernelModulesM0..1List of StringRequired kernel modules are coded as listed by linux lsmod command, e.g. ip6_tables, cryptd, nf_nat etc.
conflictingKernelModulesM0..1List of StringKernel modules, which must not be present in the target environment. The kernel modules are coded as listed by linux lsmod command, e.g. ip6_tables, cryptd, nf_nat etc. Example: Linux kernel SCTP module, which may conflict with use of proprietary user space SCTP stack provided by the application.

requiredCustomResources

>kind

>apiVersion

M0..NStructure (inlined)

List the required custom resources types in the target environment, identifying each by the "kind" and "apiVersion" field in the K8S resource manifests and in the application. The list shall include those custom resource types which are not delivered with the application.

Example:
requiredCustomResources: 
-{kind: "Redis", apiVersion: "kubedb.com/v1alpha1"}


clusterLabels M0..1List of String

This attribute allows to associate arbitrary labels to clusters.

These can indicate special infrastructure capabilities (e.g., NW acceleration, GPGPU GPU compute, etc.). The intent of these labels is to serve as a set of values that can help in application placement decisions.

This can be specified with the attribute

-m: Mandatory, means deployment is not attempted if such support is not available in the target system

-p: As preference - it means orchestrator will try to select a system with specific requirements, but if not found it will attempt deployment in a system not having such HW. 

clusterLabels follow the Kubernetes label key-value-nomenclature (https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/). It is recommended that labels follow a standardized meaning e.g. for node features (https://kubernetes-sigs.github.io/node-feature-discovery/v0.9/get-started/features.html#table-of-contents) or are mutually agreed between ASD supplier and operators.

Example:

ClusterLabels
- feature.node.kubernetes.io/cpu-cpuid.AESNI: true

requiredPodAnnotationsM0..NStringAnnotations required to be supported.
Example that list requirement for Kubernetes cluster infrastructure support for the Multus network attachment annotations:
requiredPodAnnotations: {"k8s.v1.cncf.io/networks", ... }

Note 1 : clusterLabels follow the Kubernetes label key-value-nomenclature (https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/). It is recommended that labels follow a standardized meaning e.g. for node features (https://kubernetes-sigs.github.io/node-feature-discovery/v0.9/get-started/features.html#table-of-contents) or are mutually agreed between ASD supplier and operators.

Example:

ClusterLabels
- feature.node.kubernetes.io/cpu-cpuid.AESNI: true


References: 

...