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.21'
clusterDomain: k8s.internal
clusterType: Cloud
cloud:
  prefix: k8s-dev
  provider: Yandex
packagesProxy:
  uri: https://packages-proxy.company.my
  username: proxy-username
  password: proxy-p@ssw0rd
  • 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).

    • 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])?$

    • providerstring

      Required value

      Cloud provider.

      Allowed values: OpenStack, AWS, GCP, Yandex, vSphere, Azure

  • 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.20, 1.21, 1.22, 1.23, 1.24, Automatic

  • packagesProxyobject

    A proxy server parameters for downloading OS packages (e.g deb or rpm).

    • passwordstring

      The password for authenticating with the proxy server.

    • uristring

      The address of the proxy server.

    • usernamestring

      The username for authenticating with the proxy server.

  • podSubnetCIDRstring

    Required value

    Address space of the cluster’s Pods.

  • podSubnetNodeCIDRPrefixstring

    The prefix of Pod network on a node.

    Default: "24"

  • 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"
      proxy:
        httpProxy: http://proxy.company.my
        httpsProxy: https://proxy.company.my
        noProxy:
        - 192.168.0.0/24
        - company.my
        - ".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.

    • bundlestring

      The Deckhouse bundle to use in the cluster.

      Default: "Default"

      Allowed values: Minimal, Managed, Default

    • 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.

    • devBranchstring
    • 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"

    • logLevelstring

      Deckhouse logging Level.

      Default: "Info"

      Allowed values: Debug, Info, Error

    • registryCAstring

      Root CA certificate to validate the container registry’s HTTPS certificate (if self-signed certificates are used).

    • registryDockerCfgstring

      A Base64-encoded string with a token to access a Docker registry.

      Default: "eyJhdXRocyI6IHsgInJlZ2lzdHJ5LmRlY2tob3VzZS5pbyI6IHt9fX0="

    • registrySchemestring

      Registry access scheme (HTTP or HTTPS).

      Default: "HTTPS"

      Allowed values: HTTP, HTTPS

    • releaseChannelstring

      The release channel to use in the cluster.

      Allowed values: Alpha, Beta, EarlyAccess, Stable, RockSolid

  • 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.).

    • 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
      
  • kindstring

    Required value

    Allowed values: StaticClusterConfiguration