Deckhouse CLI (d8) is a command-line interface for working with products in the Deckhouse ecosystem. It combines commands for working with Kubernetes, administering Deckhouse Kubernetes Platform, delivering applications, copying images, creating backups, collecting diagnostic information, virtualization, working with user data, and other tasks.
Starting from release 1.59, d8 is automatically installed on all DKP cluster nodes. The utility can also be installed on a separate administrator machine.
Main command groups
The d8 delivery-kit and d8 mirror command groups are not available in Community Edition (CE) and Basic Edition (BE) editions.
d8 commands are grouped by purpose:
| Commands | Purpose |
|---|---|
d8 k |
Commands for managing a cluster (functionally equivalent to kubectl). |
d8 system |
Commands for working with platform system settings, configuration, modules, queues, packages, and system logs. |
d8 status |
Command for obtaining the current platform status. |
d8 backup |
Commands for creating backups of key cluster data and generating diagnostic dumps. |
d8 mirror |
Commands for copying the platform component images to the local filesystem or a third-party container registry. |
d8 delivery-kit |
Commands for building, publishing, planning, and deploying applications, as well as for working with Helm, registries, SBOM, and related operations. |
d8 data |
Commands for managing data, as well as exporting and importing it. |
d8 v |
Commands for working with virtual machines created a cluster. |
d8 user |
Commands for managing Deckhouse users. |
d8 stronghold |
Commands for managing the lifecycle of secrets (stronghold module) |
d8 network |
Commands for performing network-related operations in the Deckhouse ecosystem, including CNI migration. |
d8 completion |
Commands for generating shell completion scripts. |
d8 tools |
Auxiliary utilities. |
d8 help |
Built-in help. |
How do I install the Deckhouse CLI?
There are two ways to install the Deckhouse CLI:
- Starting with version 0.10, you can install using trdl. This method allows you to get fresh versions of the tool with all improvements and fixes.
Note that trdl installation requires Internet access to the tuf repository containing the tool. This method will not work in an air-gapped environment!
- You can manually download the executable file and install it on the system.
trdl-based installation
Starting with the Deckhouse CLI version 0.10, you can install it using trdl.
Versions earlier than 0.10 must be uninstalled before proceeding.
If you need to install one of the versions below 0.10, use the outdated installation method.
-
Add the Deckhouse CLI repository to trdl:
URL=https://deckhouse.ru/downloads/deckhouse-cli-trdl ROOT_VERSION=1 ROOT_SHA512=343bd5f0d8811254e5f0b6fe292372a7b7eda08d276ff255229200f84e58a8151ab2729df3515cb11372dc3899c70df172a4e54c8a596a73d67ae790466a0491 REPO=d8 trdl add $REPO $URL $ROOT_VERSION $ROOT_SHA512 -
Install the latest stable release of the
d8utility and check if it works as expected:. $(trdl use d8 0 stable) && d8 --version
To avoid having to run . $(trdl use d8 0 stable) before every Deckhouse CLI invocation, add the following line to your shell’s RC file: alias d8='trdl exec d8 0 stable -- "$@"'.
Congratulations, you have installed the Deckhouse CLI.
Installing the executable
Linux x86-64 macOS x86-64 macOS ARM64 Windows
The commands below apply to Deckhouse CLI version v0.29.14, which is bundled with the Deckhouse Kubernetes Platform. The latest version of Deckhouse CLI is available on GitHub. You can check your current Deckhouse CLI version using the d8 --version command.
-
Download the archive for Linux x86-64 in a convenient way:
-
From your cluster:
- Turn on the module deckhouse-tools;
-
Open the web interface with download links. The web interface address is generated according to the publicDomainTemplate template of the Deckhouse global configuration parameter (the
%skey is replaced withtools).For example, if
publicDomainTemplateis set as%s-kube.company.my, the web interface will be available attools-kube.company.my; - Click on the button to download Deckhouse CLI for Linux.
-
From the Deckhouse website:
curl -LO https://deckhouse.io/downloads/deckhouse-cli/v0.29.14/d8-v0.29.14-linux-amd64.tar.gz
-
-
Extract the archive:
tar -xvf "d8-v0.29.14-linux-amd64.tar.gz" "linux-amd64/bin/d8" -
Move the file
d8to the directory listed in thePATHsystem environment variable (for example,/usr/local/bin/):sudo mv "linux-amd64/bin/d8" /usr/local/bin/PATHis a system environment variable containing a list of directories with executable files. This is where the OS will look for the binary when a command is run in the terminal. You can view this list with theecho $PATHcommand. -
Check that the CLI is working:
d8 help
Congrats, you have successfully installed Deckhouse CLI.
The commands below apply to Deckhouse CLI version v0.29.14, which is bundled with the Deckhouse Kubernetes Platform. The latest version of Deckhouse CLI is available on GitHub. You can check your current Deckhouse CLI version using the d8 --version command.
-
Download the archive for macOS x86-64 in a convenient way:
-
From your cluster:
- Turn on the module deckhouse-tools;
-
Open the web interface with download links. The web interface address is generated according to the publicDomainTemplate template of the Deckhouse global configuration parameter (the
%skey is replaced withtools).For example, if
publicDomainTemplateis set as%s-kube.company.my, the web interface will be available attools-kube.company.my; - Click on the button to download Deckhouse CLI for macOS.
-
From the Deckhouse website:
curl -LO https://deckhouse.io/downloads/deckhouse-cli/v0.29.14/d8-v0.29.14-darwin-amd64.tar.gz
-
-
Extract the archive:
tar -xvf "d8-v0.29.14-darwin-amd64.tar.gz" "darwin-amd64/bin/d8" -
Move the file
d8to the directory listed in thePATHsystem environment variable (for example,/usr/local/bin/):sudo mv "darwin-amd64/bin/d8" /usr/local/bin/PATHis a system environment variable containing a list of directories with executable files. This is where the OS will look for the binary when a command is run in the terminal. You can view this list with theecho $PATHcommand. -
Check that the CLI is working:
d8 help
Congrats, you have successfully installed Deckhouse CLI.
The commands below apply to Deckhouse CLI version v0.29.14, which is bundled with the Deckhouse Kubernetes Platform. The latest version of Deckhouse CLI is available on GitHub. You can check your current Deckhouse CLI version using the d8 --version command.
-
Download the archive for macOS ARM64 in a convenient way:
-
From your cluster:
- Turn on the module deckhouse-tools;
-
Open the web interface with download links. The web interface address is generated according to the publicDomainTemplate template of the Deckhouse global configuration parameter (the
%skey is replaced withtools).For example, if
publicDomainTemplateis set as%s-kube.company.my, the web interface will be available attools-kube.company.my; - Click on the button to download Deckhouse CLI for macOS.
-
From the Deckhouse website:
curl -LO https://deckhouse.io/downloads/deckhouse-cli/v0.29.14/d8-v0.29.14-darwin-arm64.tar.gz
-
-
Extract the archive:
tar -xvf "d8-v0.29.14-darwin-arm64.tar.gz" "darwin-arm64/bin/d8" -
Move the file
d8to the directory listed in thePATHsystem environment variable (for example,/usr/local/bin/):sudo mv "darwin-arm64/bin/d8" /usr/local/bin/PATHis a system environment variable containing a list of directories with executable files. This is where the OS will look for the binary when a command is run in the terminal. You can view this list with theecho $PATHcommand. -
Check that the CLI is working:
d8 help
Congrats, you have successfully installed Deckhouse CLI.
The commands below apply to Deckhouse CLI version v0.29.14, which is bundled with the Deckhouse Kubernetes Platform. The latest version of Deckhouse CLI is available on GitHub. You can check your current Deckhouse CLI version using the d8 --version command.
-
Download the archive for Windows x86-64 in a convenient way.
-
From your cluster:
- Turn on the module deckhouse-tools;
-
Open the web interface with download links. The web interface address is generated according to the publicDomainTemplate template of the Deckhouse global configuration parameter (the
%skey is replaced withtools).For example, if
publicDomainTemplateis set as%s-kube.company.my, the web interface will be available attools-kube.company.my; - Click on the button to download Deckhouse CLI for Windows.
-
From the Deckhouse website, download the archive from this link: Windows x86-64.
-
- Extract the archive, move the file
d8.exeto the directory of your choice, and add the directory to the ‘PATH’ environment variable of the operating system. - Unlock the file
d8.exe, for example, in the following way:- Right-click on the file and select Properties from the context menu.
- In the Properties window, make sure you are on the General tab.
- At the bottom of the General tab, you may see a section that says Security with a message like This file came from another computer and might be blocked to help protect this computer. If this message is displayed, there will be an Unblock button or checkbox next to it.
- Check the Unblock checkbox or click the Unblock button, then click Apply and OK to save the changes.
-
Check that the CLI is working:
d8 help -
Enable auto-completion in PowerShell by running the following command:
d8 completion powershell >> $PROFILE
Congrats, you have successfully installed Deckhouse CLI.