Reference of the resources used during Deckhouse installation.
Do not change the internalNetworkCIDRs
, serviceSubnetCIDR
, podSubnetNodeCIDRPrefix
, podSubnetCIDR
parameters in a running cluster. If you do need to change them, deploy a new cluster.
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 svc/deckhouse-leader -c 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.27'
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
- apiVersion
Required value
Version of the Deckhouse API.
Allowed values:
deckhouse.io/v1
,deckhouse.io/v1alpha1
- cloud.prefix
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.provider
Required value
Cloud provider.
Allowed values:
OpenStack
,AWS
,GCP
,Yandex
,vSphere
,Azure
,VCD
,Zvirt
- clusterDomain
Required value
Cluster domain (used for local routing).
Please note: the domain must not match the domain used in the DNS name template in the publicDomainTemplate parameter. For example, you cannot set
cluster Domain: cluster.local
andpublicDomainTemplate: %s.cluster.local
at the same time.If you need to change a parameter in a running cluster, it is recommended to use instructions
Default:
"cluster.local"
- clusterType
Required value
Type of the cluster infrastructure:
Static
— a cluster on bare metal (physical servers) or virtual machines. In the case of virtual machines, it is assumed that Deckhouse doesn’t have access to the API for managing virtual machines (they are managed by the administrator using the usual cloud infrastructure tools);Cloud
— a cluster deployed on the resources of a cloud infrastructure. This type implies that Deckhouse has access to the cloud infrastructure API for managing virtual machines.
Allowed values:
Cloud
,Static
- defaultCRI
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
- kind
Required value
Allowed values:
ClusterConfiguration
- kubernetesVersion
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. If the stable version of control plane is less than the maximum version that has ever been installed in the cluster, more than 1 minor version, then the version of the cluster will not be changed. The version may change when the minor version of the Deckhouse release is changed (see a corresponding release message).Allowed values:
1.26
,1.27
,1.28
,1.29
,1.30
,Automatic
- podSubnetCIDR
Required value
Address space of the cluster’s Pods.
Caution! Normally, you won’t be able to change the parameter in a running cluster. To avoid this limitation use specific flag.
- podSubnetNodeCIDRPrefix
The prefix of Pod network on a node.
Caution! Normally, you won’t be able to change the parameter in a running cluster. To avoid this limitation use specific flag.
Default:
"24"
- proxy
Global proxy setup (mainly for working in air-gapped environments).
The parameters described in this section will be translated into the environment variables
HTTP_PROXY
,HTTPS_PROXY
, andNO_PROXY
for all cluster nodes and Deckhouse components. This will result in HTTP(S) requests (curl, git, registry, etc.) to all resources not listed in thenoProxy
parameter being made through a proxy. Note that thepodSubnetCIDR
andserviceSubnetCIDR
subnets, as well as theclusterDomain
domain are added tonoProxy
automatically.Caution! To avoid interfering with internal requests, make sure you list all the host subnets in the
noProxy
parameter.This feature is available in enterprise edition only.
- proxy.httpProxy
Proxy URL for HTTP requests.
If necessary, specify the proxy server’s username, password, and port.
This feature is available in enterprise edition only.
Pattern:
^https?://([!*'();&=+$,/?%#\[\]0-9a-zA-Z\.\-\_]+(\:[!*'();:@&=+$,/?%#\[\]0-9a-zA-Z\.\-\_]+)?@)?[0-9a-zA-Z\.\-]+(\:[0-9]{1,5})?$
Examples:
httpProxy: http://proxy.company.my
httpProxy: https://user:password@proxy.company.my:8443
httpProxy: https://DOMAIN%5Cuser:password@proxy.company.my:8443
httpProxy: https://user%40domain.local:password@proxy.company.my:8443
- proxy.httpsProxy
Proxy URL for HTTPS requests.
If necessary, specify the proxy server’s username, password, and port.
This feature is available in enterprise edition only.
Pattern:
^https?://([!*'();&=+$,/?%#\[\]0-9a-zA-Z\.\-\_]+(\:[!*'();:@&=+$,/?%#\[\]0-9a-zA-Z\.\-\_]+)?@)?[0-9a-zA-Z\.\-]+(\:[0-9]{1,5})?$
Examples:
httpsProxy: http://proxy.company.my
httpsProxy: https://user:password@proxy.company.my:8443
httpsProxy: https://DOMAIN%5Cuser:password@proxy.company.my:8443
httpsProxy: https://user%40domain.local:password@proxy.company.my:8443
- proxy.noProxy
List of no proxy IP and domain entries.
For wildcard domains, use a domain name with a dot prefix, e.g., “.example.com”.
This feature is available in enterprise edition only.
- Element of the array
Pattern:
^[a-z0-9\-\./]+$
- serviceSubnetCIDR
Required value
Address space of the cluster’s services.
Caution! Normally, you won’t be able to change the parameter in a running cluster. To avoid this limitation use specific flag.
InitConfiguration
Version: deckhouse.io/v1
Deckhouse configuration to start after installation.
Example:
apiVersion: deckhouse.io/v1
kind: InitConfiguration
deckhouse:
imagesRepo: nexus.company.my/deckhouse/ee
registryDockerCfg: eyJhdXRocyI6IHsgIm5leHVzLmNvbXBhbnkubXkiOiB7InVzZXJuYW1lIjoibmV4dXMtdXNlciIsInBhc3N3b3JkIjoibmV4dXMtcEBzc3cwcmQiLCJhdXRoIjoiYm1WNGRYTXRkWE5sY2pwdVpYaDFjeTF3UUhOemR6QnlaQW89In19fQo=
registryScheme: HTTPS
registryCA: |
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
- apiVersion
Required value
Version of the Deckhouse API.
Allowed values:
deckhouse.io/v1
,deckhouse.io/v1alpha1
- deckhouse
Required value
Initial parameters required to install Deckhouse.
- deckhouse.bundleDeprecated
Instead of this parameter, use the bundle parameter of the ModuleConfig ‘deckhouse’.
The Deckhouse bundle to use in the cluster.
Default:
"Default"
Allowed values:
Minimal
,Managed
,Default
- deckhouse.devBranchDeprecated
The parameter is used for development needs. Will be replaced with the CLI-tools.
- deckhouse.imagesRepo
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"
Pattern:
^[0-9a-zA-Z\.\-]+(\:[0-9]{1,5})?(\/[0-9a-zA-Z\.\-\_\/]+)?$
- deckhouse.logLevelDeprecated
Instead of this parameter, use the logLevel parameter of the ModuleConfig ‘deckhouse’.
Deckhouse logging Level.
Default:
"Info"
Allowed values:
Debug
,Info
,Error
- deckhouse.registryCA
Root CA certificate to validate the container registry’s HTTPS certificate (if self-signed certificates are used).
- deckhouse.registryDockerCfg
A Base64-encoded string from the Docker client configuration file (in Linux it is usually
$HOME/.docker/config.json
), for accessing a third-party container registry.For example, to access the container registry
registry.company.my
under the useruser
with the passwordP@ssw0rd
it will beeyJhdXRocyI6eyJyZWdpc3RyeS5jb21wYW55Lm15Ijp7ImF1dGgiOiJkWE5sY2pwUVFITnpkekJ5WkFvPSJ9fX0K
(string{"auths":{"registry.company.my":{"auth":"dXNlcjpQQHNzdzByZAo="}}}
in Base64).Default:
"eyJhdXRocyI6IHsgInJlZ2lzdHJ5LmRlY2tob3VzZS5pbyI6IHt9fX0="
- deckhouse.registryScheme
Registry access scheme (HTTP or HTTPS).
Default:
"HTTPS"
Allowed values:
HTTP
,HTTPS
- deckhouse.releaseChannelDeprecated
Instead of this parameter, use the releaseChannel parameter of the ModuleConfig ‘deckhouse’.
The release channel to use in the cluster.
Allowed values:
Alpha
,Beta
,EarlyAccess
,Stable
,RockSolid
- kind
Required value
Allowed values:
InitConfiguration
StaticClusterConfiguration
Version: deckhouse.io/v1
Parameters of a static (bare metal) cluster.
To change the StaticClusterConfiguration
resource in a running cluster, run the following command:
kubectl -n d8-system exec -ti svc/deckhouse-leader -c deckhouse -- deckhouse-controller edit static-cluster-configuration
Example:
apiVersion: deckhouse.io/v1
kind: StaticClusterConfiguration
internalNetworkCIDRs:
- 10.244.0.0/16
- 10.50.0.0/16
- apiVersion
Required value
Version of the Deckhouse API.
Allowed values:
deckhouse.io/v1
,deckhouse.io/v1alpha1
- internalNetworkCIDRs
List of internal cluster networks.
Internal cluster networks connect Kubernetes components (
kube-apiserver
,kubelet
, etc.).The parameter is mandatory in the following cases:
- Cluster nodes have more than one network interface
- The cluster is deployed inside a Deckhouse Virtualization Platform
- Element of the array
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
- kind
Required value
Allowed values:
StaticClusterConfiguration