Reference of the resources used during Deckhouse installation.
ClusterConfiguration
Version: deckhouse.io/v1
General parameters of a cluster.
Defines, for example, network and CRI parameters, control plane version, etc. Some parameters can be changed after the cluster is bootstrapped, during its operation.
To change the ClusterConfiguration
resource in a running cluster, run the following command:
kubectl -n d8-system exec -ti deploy/deckhouse -- deckhouse-controller edit cluster-configuration
Example:
apiVersion: deckhouse.io/v1
kind: ClusterConfiguration
podSubnetNodeCIDRPrefix: '24'
podSubnetCIDR: 10.244.0.0/16
serviceSubnetCIDR: 192.168.0.0/16
kubernetesVersion: '1.23'
clusterDomain: k8s.internal
clusterType: Cloud
cloud:
prefix: k8s-dev
provider: Yandex
proxy:
httpProxy: https://user:password@proxy.company.my:8443
httpsProxy: https://user:password@proxy.company.my:8443
noProxy:
- company.my
- apiVersionstring
Required value
Version of the Deckhouse API.
Allowed values:
deckhouse.io/v1
,deckhouse.io/v1alpha1
- cloudobject
Cloud provider-related settings (if the
Cloud
clusterType is used).- cloud.prefixstring
A prefix of the objects to be created in the cloud.
Is used, for example, to distinguish objects created for different clusters, to configure routing, etc.
Pattern:
^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
- cloud.providerstring
Required value
Cloud provider.
Allowed values:
OpenStack
,AWS
,GCP
,Yandex
,vSphere
,Azure
- cloud.prefixstring
- clusterDomainstring
Required value
Cluster domain (used for local routing).
Default:
"cluster.local"
- clusterTypestring
Required value
Type of the cluster infrastructure:
Static
— a bare metal cluster (physical servers);Cloud
— a cluster, deployed on the resources of a cloud provider.
Allowed values:
Cloud
,Static
- defaultCRIstring
The container runtime type that used on cluster nodes (NodeGroups) by default.
If the value
NotManaged
is used, then Deckhouse does not manage the container runtime (and doesn’t install it). In this case, it is necessary to use images for NodeGroups on which the container runtime is already installed.Default:
"Containerd"
Allowed values:
Docker
,Containerd
,NotManaged
- kindstring
Required value
Allowed values:
ClusterConfiguration
- kubernetesVersionstring
Required value
Kubernetes control plane version to use in a cluster.
Changing a parameter in a running cluster will automatically update the cluster’s control plane version.
If
Automatic
is specified, then the control plane version is used, which is considered stable at the moment. The version may change when the minor version of the Deckhouse release is changed (see a corresponding release message).Allowed values:
1.22
,1.23
,1.24
,1.25
,1.26
,Automatic
- podSubnetCIDRstring
Required value
Address space of the cluster’s Pods.
- podSubnetNodeCIDRPrefixstring
The prefix of Pod network on a node.
Caution! Don’t change the parameter in a working cluster.
Default:
"24"
- proxyobject
Global proxy setup (especially for working in air-gapped environments).
Caution! To avoid interference with internal requests it is important to fill
noProxy
parameter with host subnets.- proxy.httpProxystring
Proxy URL for HTTP requests.
If necessary, specify the proxy server’s username, password, and port.
Pattern:
^https?://[0-9a-zA-Z\.\-:@]+$
Examples:
httpProxy: http://proxy.company.my
httpProxy: https://user:password@proxy.company.my:8443
- proxy.httpsProxystring
Proxy URL for HTTPS requests.
If necessary, specify the proxy server’s username, password, and port.
Pattern:
^https?://[0-9a-zA-Z\.\-:@]+$
Examples:
httpsProxy: http://proxy.company.my
httpsProxy: https://user:password@proxy.company.my:8443
- proxy.noProxyarray of strings
List of no proxy IP and domain entries.
For wildcard domains, use a domain name with a dot prefix, e.g., “.example.com”.
- Element of the arraystring
Pattern:
^[a-z0-9\-\./]+$
- Element of the arraystring
- proxy.httpProxystring
- serviceSubnetCIDRstring
Required value
Address space of the cluster’s services.
InitConfiguration
Version: deckhouse.io/v1
Deckhouse configuration to start after installation.
Example:
apiVersion: deckhouse.io/v1
kind: InitConfiguration
releaseChannel: Stable
imagesRepo: nexus.company.my/deckhouse/ee
registryDockerCfg: eyJhdXRocyI6IHsgIm5leHVzLmNvbXBhbnkubXkiOiB7InVzZXJuYW1lIjoibmV4dXMtdXNlciIsInBhc3N3b3JkIjoibmV4dXMtcEBzc3cwcmQiLCJhdXRoIjoiYm1WNGRYTXRkWE5sY2pwdVpYaDFjeTF3UUhOemR6QnlaQW89In19fQo=
registryScheme: HTTPS
registryCA: |
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
configOverrides:
global:
modules:
publicDomainTemplate: "%s.kube.company.my"
cniFlannelEnabled: true
cniFlannel:
podNetworkMode: VXLAN
- apiVersionstring
Required value
Version of the Deckhouse API.
Allowed values:
deckhouse.io/v1
,deckhouse.io/v1alpha1
- deckhouseobject
Required value
Initial parameters required to install Deckhouse.
- deckhouse.bundlestring
The Deckhouse bundle to use in the cluster.
Default:
"Default"
Allowed values:
Minimal
,Managed
,Default
- deckhouse.configOverridesobject
Initial Deckhouse configuration.
The structure specified in the parameter will be moved to ConfigMap
deckhouse' (in the namespace
d8-system’) as is (without changes).Specify any Deckhouse configuration parameters with which it should start after installation.
- deckhouse.devBranchstring
- deckhouse.imagesRepostring
Address of a container registry with Deckhouse images.
Specify it if Deckhouse Enterprise Edition edition or third-party registry (e.g. proxy server in a closed environment) is used.
The address matches the edition of Deckhouse used. The public container registry address for Deckhouse Enterprise Edition is
registry.deckhouse.io/deckhouse/ee
.Default:
"registry.deckhouse.io/deckhouse/ce"
- deckhouse.logLevelstring
Deckhouse logging Level.
Default:
"Info"
Allowed values:
Debug
,Info
,Error
- deckhouse.registryCAstring
Root CA certificate to validate the container registry’s HTTPS certificate (if self-signed certificates are used).
- deckhouse.registryDockerCfgstring
A Base64-encoded string with a token to access a Docker registry.
Default:
"eyJhdXRocyI6IHsgInJlZ2lzdHJ5LmRlY2tob3VzZS5pbyI6IHt9fX0="
- deckhouse.registrySchemestring
Registry access scheme (HTTP or HTTPS).
Default:
"HTTPS"
Allowed values:
HTTP
,HTTPS
- deckhouse.releaseChannelstring
The release channel to use in the cluster.
Allowed values:
Alpha
,Beta
,EarlyAccess
,Stable
,RockSolid
- deckhouse.bundlestring
- kindstring
Required value
Allowed values:
InitConfiguration
StaticClusterConfiguration
Version: deckhouse.io/v1
Parameters of a static (bare metal) cluster.
Example:
apiVersion: deckhouse.io/v1
kind: StaticClusterConfiguration
internalNetworkCIDRs:
- 10.244.0.0/16
- 10.50.0.0/16
- apiVersionstring
Required value
Version of the Deckhouse API.
Allowed values:
deckhouse.io/v1
,deckhouse.io/v1alpha1
- internalNetworkCIDRsarray of strings
List of internal cluster networks.
Internal cluster networks connect Kubernetes components (
kube-apiserver
,kubelet
, etc.).The parameter can be omitted (and the
StaticClusterConfiguration
resource can be omitted) if each node in the cluster has only one network interface.- Element of the arraystring
Pattern:
^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/(3[0-2]|[1-2][0-9]|[0-9]))$
Example:
192.168.42.0/24
- Element of the arraystring
- kindstring
Required value
Allowed values:
StaticClusterConfiguration