-
Notifications
You must be signed in to change notification settings - Fork 90
KubeDirectorConfig Definition
Joel Baxter edited this page May 3, 2023
·
8 revisions
This page documents the v1beta1 KubeDirectorConfig data structure.
KubeDirectorConfig is a representation of an administrative configuration set for KubeDirector. Currently only a global configuration (affecting all KubeDirector-managed virtual clusters) is supported; that KubeDirectorConfig resource must be named "kd-global-config" and placed in the same namespace as the KubeDirector deployment.
Field | Description |
---|---|
defaultStorageClassName string |
Name of the storage class to use for a role that requests persistent storage but does not specify a storage class, instead of using the K8s default storage class. Optional. |
defaultServiceType string |
Name of the service type to use for a virtual cluster that does not specify a service type. May be "ClusterIP", "NodePort", or "LoadBalancer". Optional: defaults to "LoadBalancer". |
nativeSystemdSupport boolean |
Whether the K8s platform natively supports systemd inside virtual cluster members, without additional action required from KubeDirector. This should be set true if K8s is running in a RHEL or CentOS environment (OS version 7.2 or later), but should usually be false for K8s in a typical "cloud" environment. Optional: defaults to false. |
requiredSecretPrefix string |
A prefix that must match against a secret's name before a KubeDirectorCluster can mount that secret. Optional: if unspecified, no such check is performed. |
clusterSvcDomainBase string |
The domain suffix (including the initial dot character) that is used for composing DNS names in this K8s installation. Used when informing config package scripts about member FQDNs. Optional: if unspecified, defaults to ".svc.cluster.local". |
properties supported by KD v0.5.2+ below | |
defaultNamingScheme string |
Naming scheme used for the K8s resources created to implement a virtual cluster, if that KubeDirectorCluster does not specify a naming scheme. (See the KubeDirectorCluster docs for more details.) May be "UID" or "CrNameRole". Optional: if unspecified, defaults to "UID". |
properties supported by KD v0.7.0+ below | |
masterEncryptionKey string |
Hex-encoded representation of a 16-byte, 24-byte, or 32-byte key used to encrypt "secret keys" values in KubeDirectorCluster role specs (using AES-GCM). See the secret-keys.md doc for more details. Cannot be modified while any KubeDirectorCluster resources exist. Optional: if unspecified, defaults to a 32-byte (64 characters when hex-encoded) key. |
podLabels string dictionary |
Additional labels that will be attached to any member pod created for any KubeDirectorCluster. |
podAnnotations string dictionary |
Additional annotations that will be attached to any member pod created for any KubeDirectorCluster. |
serviceLabels string dictionary |
Additional labels that will be attached to any member service created for any KubeDirectorCluster. |
serviceAnnotations string dictionary |
Additional annotations that will be attached to any member service created for any KubeDirectorCluster. |
backupClusterStatus boolean |
Whether to enable backup and restore of KubeDirectorClusters by turning on "status backup". See the backup-and-restore.md doc for more details. Optional: defaults to false. |
allowRestoreWithoutConnections boolean |
Whether, in a restore-from-backup situation, to allow automatic resumption of a KubeDirectorCluster's reconciliation even if some of its "connected" resources are missing. See the backup-and-restore.md doc for more details. Optional: defaults to false. |
properties supported only on KD master-branch builds below | |
forceSharedMemorySizeSupport boolean |
Whether to allow setting the "sharedMemory" property in a KubeDirectorCluster role spec. This should correspond to the value of the SizeMemoryBackedVolumes feature gate on the K8s cluster. Optional. If this flag is unset, then the default behavior is to allow setting that "sharedMemory" property if and only if running on K8s version 1.22 or later, where SizeMemoryBackedVolumes is true by default. |
Field | Description |
---|---|
state string |
Overall state of the config. May be "creating" or "ready". |
generationUID string |
A UID that changes each time the status object changes. Used internally by KubeDirector. |
Field | Description |
---|---|
apiVersion string |
Must be "kubedirector.hpe.com/v1beta1". |
kind string |
Must be "KubeDirectorConfig". |
metadata ObjectMeta |
The metadata.name property must have the value "kd-global-config". |
spec KubeDirectorConfigSpec |
|
status KubeDirectorConfigStatus |
Read-only. Do not specify status when creating or updating the resource. Can be read directly as a "status" sub-resource of the KubeDirectorConfig resource. |