Deckhouse Platform for bare metal

Select the Deckhouse Platform revision

The recommended settings for a Deckhouse Platform Community Edition installation are generated below:

  • config.yml — a file with the configuration needed to bootstrap the cluster. Contains the installer parameters, access parameters, and the initial cluster parameters.

Please pay attention to:

  • highlighted parameters you must define.
  • parameters you might want to change.

The other available cloud provider related options are described in the documentation.

To learn more about the Deckhouse Platform release channels, please see the relevant documentation.

# general cluster parameters (ClusterConfiguration)
# version of the Deckhouse API
apiVersion: deckhouse.io/v1
# type of the configuration section
kind: ClusterConfiguration
# type of the infrastructure: bare metal (Static) or Cloud (Cloud)
clusterType: Static
# address space of the cluster's Pods
podSubnetCIDR: 10.111.0.0/16
# address space of the cluster's services
serviceSubnetCIDR: 10.222.0.0/16
# Kubernetes version to install
kubernetesVersion: "1.19"
# cluster domain (used for local routing)
clusterDomain: "cluster.local"
---
# section for bootstrapping the Deckhouse cluster (InitConfiguration)
# version of the Deckhouse API
apiVersion: deckhouse.io/v1
# type of the configuration section
kind: InitConfiguration
# Deckhouse parameters
deckhouse:
  # the release channel in use
  releaseChannel: Stable
  configOverrides:
    global:
      modules:
        # template that will be used for system apps domains within the cluster
        # e.g., Grafana for %s.example.com will be available as grafana.example.com
        publicDomainTemplate: "%s.example.com"
    # enable cni-flannel module
    cniFlannelEnabled: true
    # cni-flannel module settings
    cniFlannel:
      # flannel backend, available values are VXLAN (if your servers have L3 connectivity) and HostGW (for L2 networks)
      # you might consider changing this
      podNetworkMode: VXLAN
---
# section with the parameters of the bare metal cluster (StaticClusterConfiguration)
# version of the Deckhouse API
apiVersion: deckhouse.io/v1
# type of the configuration section
kind: StaticClusterConfiguration
# address space of the cluster's internal network
# you might consider changing this
internalNetworkCIDRs:
- 10.0.4.0/24
# general cluster parameters (ClusterConfiguration) # version of the Deckhouse API apiVersion: deckhouse.io/v1 # type of the configuration section kind: ClusterConfiguration # type of the infrastructure: bare metal (Static) or Cloud (Cloud) clusterType: Static # address space of the cluster's Pods podSubnetCIDR: 10.111.0.0/16 # address space of the cluster's services serviceSubnetCIDR: 10.222.0.0/16 # Kubernetes version to install kubernetesVersion: "1.19" # cluster domain (used for local routing) clusterDomain: "cluster.local" --- # section for bootstrapping the Deckhouse cluster (InitConfiguration) # version of the Deckhouse API apiVersion: deckhouse.io/v1 # type of the configuration section kind: InitConfiguration # Deckhouse parameters deckhouse: # the release channel in use releaseChannel: Stable configOverrides: global: modules: # template that will be used for system apps domains within the cluster # e.g., Grafana for %s.example.com will be available as grafana.example.com publicDomainTemplate: "%s.example.com" # enable cni-flannel module cniFlannelEnabled: true # cni-flannel module settings cniFlannel: # flannel backend, available values are VXLAN (if your servers have L3 connectivity) and HostGW (for L2 networks) # you might consider changing this podNetworkMode: VXLAN --- # section with the parameters of the bare metal cluster (StaticClusterConfiguration) # version of the Deckhouse API apiVersion: deckhouse.io/v1 # type of the configuration section kind: StaticClusterConfiguration # address space of the cluster's internal network # you might consider changing this internalNetworkCIDRs: - 10.0.4.0/24

Deckhouse Platform Enterprise Edition license key

The license key is used by Deckhouse components to access the geo-distributed container registry, where all images used by the Deckhouse are stored.

The commands and configuration files on this page are generated using the license key you entered.

Request access

Fill out this form and we will send you access credentials via email.

Enter license key

The recommended settings for a Deckhouse Platform Enterprise Edition installation are generated below:

  • config.yml — a file with the configuration needed to bootstrap the cluster. Contains the installer parameters, access parameters, and the initial cluster parameters.

Please pay attention to:

  • highlighted parameters you must define.
  • parameters you might want to change.

The other available cloud provider related options are described in the documentation.

To learn more about the Deckhouse Platform release channels, please see the relevant documentation.

# general cluster parameters (ClusterConfiguration)
# version of the Deckhouse API
apiVersion: deckhouse.io/v1
# type of the configuration section
kind: ClusterConfiguration
# type of the infrastructure: bare metal (Static) or Cloud (Cloud)
clusterType: Static
# address space of the cluster's Pods
podSubnetCIDR: 10.111.0.0/16
# address space of the cluster's services
serviceSubnetCIDR: 10.222.0.0/16
# Kubernetes version to install
kubernetesVersion: "1.19"
# cluster domain (used for local routing)
clusterDomain: "cluster.local"
---
# section for bootstrapping the Deckhouse cluster (InitConfiguration)
# version of the Deckhouse API
apiVersion: deckhouse.io/v1
# type of the configuration section
kind: InitConfiguration
# Deckhouse parameters
deckhouse:
  # address of the Docker registry where the Deckhouse images are located
  imagesRepo: registry.deckhouse.io/deckhouse/ee
  # a special string with your token to access Docker registry (generated automatically for your license token)
  registryDockerCfg: <YOUR_ACCESS_STRING_IS_HERE>
  # the release channel in use
  releaseChannel: Stable
  configOverrides:
    global:
      modules:
        # template that will be used for system apps domains within the cluster
        # e.g., Grafana for %s.example.com will be available as grafana.example.com
        publicDomainTemplate: "%s.example.com"
    # enable cni-flannel module
    cniFlannelEnabled: true
    # cni-flannel module settings
    cniFlannel:
      # flannel backend, available values are VXLAN (if your servers have L3 connectivity) and HostGW (for L2 networks)
      # you might consider changing this
      podNetworkMode: VXLAN
---
# section with the parameters of the bare metal cluster (StaticClusterConfiguration)
# version of the Deckhouse API
apiVersion: deckhouse.io/v1
# type of the configuration section
kind: StaticClusterConfiguration
# address space of the cluster's internal network
# you might consider changing this
internalNetworkCIDRs:
- 10.0.4.0/24
# general cluster parameters (ClusterConfiguration) # version of the Deckhouse API apiVersion: deckhouse.io/v1 # type of the configuration section kind: ClusterConfiguration # type of the infrastructure: bare metal (Static) or Cloud (Cloud) clusterType: Static # address space of the cluster's Pods podSubnetCIDR: 10.111.0.0/16 # address space of the cluster's services serviceSubnetCIDR: 10.222.0.0/16 # Kubernetes version to install kubernetesVersion: "1.19" # cluster domain (used for local routing) clusterDomain: "cluster.local" --- # section for bootstrapping the Deckhouse cluster (InitConfiguration) # version of the Deckhouse API apiVersion: deckhouse.io/v1 # type of the configuration section kind: InitConfiguration # Deckhouse parameters deckhouse: # address of the Docker registry where the Deckhouse images are located imagesRepo: registry.deckhouse.io/deckhouse/ee # a special string with your token to access Docker registry (generated automatically for your license token) registryDockerCfg: <YOUR_ACCESS_STRING_IS_HERE> # the release channel in use releaseChannel: Stable configOverrides: global: modules: # template that will be used for system apps domains within the cluster # e.g., Grafana for %s.example.com will be available as grafana.example.com publicDomainTemplate: "%s.example.com" # enable cni-flannel module cniFlannelEnabled: true # cni-flannel module settings cniFlannel: # flannel backend, available values are VXLAN (if your servers have L3 connectivity) and HostGW (for L2 networks) # you might consider changing this podNetworkMode: VXLAN --- # section with the parameters of the bare metal cluster (StaticClusterConfiguration) # version of the Deckhouse API apiVersion: deckhouse.io/v1 # type of the configuration section kind: StaticClusterConfiguration # address space of the cluster's internal network # you might consider changing this internalNetworkCIDRs: - 10.0.4.0/24

To install the Deckhouse Platform, we will use a prebuilt Docker image. It is necessary to transfer configuration files to the container, as well as ssh-keys for access to the master nodes:

docker run -it -v "$PWD/config.yml:/config.yml" -v "$HOME/.ssh/:/tmp/.ssh/" \
 registry.deckhouse.io/deckhouse/ce/install:stable bash
docker run -it -v "$PWD/config.yml:/config.yml" -v "$HOME/.ssh/:/tmp/.ssh/" \ registry.deckhouse.io/deckhouse/ce/install:stable bash

Now, to initiate the process of installation, you need to execute inside the container:

dhctl bootstrap \
  --ssh-user=<username> \
  --ssh-host=<master_ip> \
  --ssh-agent-private-keys=/tmp/.ssh/id_rsa \
  --config=/config.yml
dhctl bootstrap \ --ssh-user=<username> \ --ssh-host=<master_ip> \ --ssh-agent-private-keys=/tmp/.ssh/id_rsa \ --config=/config.yml

username variable here refers to the user that generated the SSH key.

After the installation is complete, you will be returned to the command line.

Almost everything is ready for a fully-fledged Deckhouse Platform to work!

To install the Deckhouse Platform, we will use a prebuilt Docker image. It is necessary to transfer configuration files to the container, as well as ssh-keys for access to the master nodes:

 echo <LICENSE_TOKEN> | docker login -u license-token --password-stdin registry.deckhouse.io
docker run -it -v "$PWD/config.yml:/config.yml" -v "$HOME/.ssh/:/tmp/.ssh/" \
 registry.deckhouse.io/deckhouse/ee/install:stable bash
echo <LICENSE_TOKEN> | docker login -u license-token --password-stdin registry.deckhouse.io docker run -it -v "$PWD/config.yml:/config.yml" -v "$HOME/.ssh/:/tmp/.ssh/" \ registry.deckhouse.io/deckhouse/ee/install:stable bash

Now, to initiate the process of installation, you need to execute inside the container:

dhctl bootstrap \
  --ssh-user=<username> \
  --ssh-host=<master_ip> \
  --ssh-agent-private-keys=/tmp/.ssh/id_rsa \
  --config=/config.yml
dhctl bootstrap \ --ssh-user=<username> \ --ssh-host=<master_ip> \ --ssh-agent-private-keys=/tmp/.ssh/id_rsa \ --config=/config.yml

username variable here refers to the user that generated the SSH key.

After the installation is complete, you will be returned to the command line.

Almost everything is ready for a fully-fledged Deckhouse Platform to work!