Deckhouse Platform in existing cluster
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.
- We recommend that you read the section If something went wrong first; perhaps, your ISP case is already addressed there. Refer to it if you have any problems during the installation process.
Create the config.yml
file.
# Section for bootstrapping the Deckhouse cluster.
# https://deckhouse.io/documentation/v1/installing/configuration.html#initconfiguration
apiVersion: deckhouse.io/v1
kind: InitConfiguration
deckhouse:
releaseChannel: Stable
# The Minimal bundle is used when installing Deckhouse in an existing cluster.
bundle: Minimal
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'.
# You can change it to your own or follow the steps in the guide and change it after installation.
publicDomainTemplate: "%s.example.com"
# You might consider changing this.
placement:
customTolerationKeys:
- SystemLoad
certManagerEnabled: true
# Use for Deckhouse 1.46 or newer.
# documentationEnabled: true
# Use for Deckhouse 1.45 or older.
deckhouseWebEnabled: true
Enter license key
Have no 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.
- We recommend that you read the section If something went wrong first; perhaps, your ISP case is already addressed there. Refer to it if you have any problems during the installation process.
Create the config.yml
file.
# Section for bootstrapping the Deckhouse cluster.
# https://deckhouse.io/documentation/v1/installing/configuration.html#initconfiguration
apiVersion: deckhouse.io/v1
kind: InitConfiguration
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>
releaseChannel: Stable
# the Minimal bundle is used when installing Deckhouse in an existing cluster.
bundle: Minimal
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'.
# You can change it to your own or follow the steps in the guide and change it after installation.
publicDomainTemplate: "%s.example.com"
# You might consider changing this.
placement:
customTolerationKeys:
- SystemLoad
certManagerEnabled: true
# Use for Deckhouse 1.46 or newer.
# documentationEnabled: true
# Use for Deckhouse 1.45 or older.
deckhouseWebEnabled: true
Use a Docker image to install the Deckhouse Platform. It is necessary to transfer configuration files to the container.
Run the installer on the personal computer.
docker run --pull=always -it -v "$PWD/config.yml:/config.yml" \
-v "$HOME/.kube/config:/kubeconfig" registry.deckhouse.io/deckhouse/ce/install:stable bash
docker run --pull=always -it -v "%cd%\config.yml:/config.yml" -v "%userprofile%\.kube\config:/kubeconfig" registry.deckhouse.io/deckhouse/ce/install:stable bash -c "chmod 400 /tmp/.ssh/id_rsa; bash"
Notes:
- Kubectl configuration file with access to Kubernetes API must be mount as the /kubeconfig file in the container.
Now, to initiate the process of installation, you need to execute inside the container:
dhctl bootstrap-phase install-deckhouse --kubeconfig=/kubeconfig --config=/config.yml
The installation process may take about from 5 to 30 minutes, depending on the connection.
After the installation is complete, the installer will output the IP of the master node (you will need it further). Example output:
...
┌ 🎈 ~ Common: Kubernetes Master Node addresses for SSH
│ cloud-demo-master-0 | ssh ubuntu@1.2.3.4
└ 🎈 ~ Common: Kubernetes Master Node addresses for SSH (0.00 seconds)
Almost everything is ready for a fully-fledged Deckhouse Platform to work!
If something went wrong
Some providers’ clusters may require extra steps before or after installing Deckhouse.
Here are some common problems and ways to solve them. Should you run into difficulties installing Deckhouse in an existing cluster, please, share them by creating an issue.
Use a Docker image to install the Deckhouse Platform. It is necessary to transfer configuration files to the container.
Run the installer on the personal computer.
echo <LICENSE_TOKEN> | docker login -u license-token --password-stdin registry.deckhouse.io
docker run --pull=always -it -v "$PWD/config.yml:/config.yml" \
-v "$HOME/.kube/config:/kubeconfig" registry.deckhouse.io/deckhouse/ee/install:stable bash
Log in on the personal computer to the container image registry by providing the license key as a password:
docker login -u license-token registry.deckhouse.io
Run a container with the installer:
docker run --pull=always -it -v "%cd%\config.yml:/config.yml" -v "%userprofile%\.kube\config:/kubeconfig" registry.deckhouse.io/deckhouse/ee/install:stable bash -c "chmod 400 /tmp/.ssh/id_rsa; bash"
Notes:
- Kubectl configuration file with access to Kubernetes API must be mount as the /kubeconfig file in the container.
Now, to initiate the process of installation, you need to execute inside the container:
dhctl bootstrap-phase install-deckhouse --kubeconfig=/kubeconfig --config=/config.yml
The installation process may take about from 5 to 30 minutes, depending on the connection.
After the installation is complete, the installer will output the IP of the master node (you will need it further). Example output:
...
┌ 🎈 ~ Common: Kubernetes Master Node addresses for SSH
│ cloud-demo-master-0 | ssh ubuntu@1.2.3.4
└ 🎈 ~ Common: Kubernetes Master Node addresses for SSH (0.00 seconds)
Almost everything is ready for a fully-fledged Deckhouse Platform to work!
If something went wrong
Some providers’ clusters may require extra steps before or after installing Deckhouse.
Here are some common problems and ways to solve them. Should you run into difficulties installing Deckhouse in an existing cluster, please, share them by creating an issue.