Deckhouse CLI — это интерфейс командной строки для работы с кластерами от Deckhouse Kubernetes Platform (DKP). Начиная с релиза 1.59, интерфейс автоматически устанавливается на все узлы кластера. Утилиту можно также установить на любую машину и использовать для работы с кластерами без DKP.

В командной строке к утилите можно обратиться как d8. Все команды сгруппированы по функциям:

Группы команд d8 d и d8 mirror недоступны для Community Edition (CE) и Basic Edition (BE).

  • d8 k — команды, которые в кластерах Kubernetes выполняет kubectl.
    Например, в кластере можно выполнить kubectl get pods как d8 k get pods.
  • d8 dk — команды, отвечающие за доставку по аналогии с утилитой werf.
    Например, вместо werf plan --repo registry.deckhouse.io можно выполнить d8 d plan --repo registry.deckhouse.io.

  • d8 mirror — команды, которые позволяют скопировать образы дистрибутива DKP в частный container registry (ранее для этого использовалась утилита dhctl mirror). Например, можно выполнить d8 mirror pull -l <LICENSE> <TAR-BUNDLE-PATH> вместо dhctl mirror --license <LICENSE> --images-bundle-path <TAR-BUNDLE-PATH>.

    Сценарии использования:

  • d8 v — команды, отвечающие за работу с виртуальными машинами, созданными Deckhouse Virtualization Platform.
    Например, команда d8 virtualization console подключает к консоли виртуальной машины.

    Больше команд для виртуализации...
    • d8 v console подключает к консоли виртуальной машины.
    • d8 v port-forward перенаправляет локальные порты на виртуальную машину.
    • d8 v scp использует клиент SCP для работы с файлами на виртуальной машине.
    • d8 v ssh подключает к виртуальной машине по SSH.
    • d8 v vnc подключает к виртуальной машине по VNC.

Как установить Deckhouse CLI

Начиная с версии 0.10 Deckhouse CLI, установить её можно с помощью trdl.

Если у вас установлена версия ниже 0.10, то её необходимо предварительно удалить.

Если вам нужно установить одну из версий ниже 0.10, воспользуйтесь устаревшим способом установки.

  1. Установите клиент trdl.

  2. Добавьте репозиторий Deckhouse CLI в trdl:

    URL=https://trrr.flant.dev/trdl-deckhouse-cli
    ROOT_VERSION=1
    ROOT_SHA512=$(curl -Ls ${URL}/${ROOT_VERSION}.root.json | sha512sum | tr -d '\-[:space:]\n')
    REPO=trdl-deckhouse-cli
       
    trdl add $REPO $URL $ROOT_VERSION $ROOT_SHA512
    
  3. Установите актуальный стабильный релиз:

    trdl update $REPO $ROOT_VERSION stable
    
  4. Убедитесь, что исполняемый файл d8 установлен и работоспособен:

    . $(trdl use $REPO $ROOT_VERSION stable) && d8 --version
    

Если вы используете macOS, вам может потребоваться удалить атрибут карантина с исполняемого файла, чтобы Gatekeeper не блокировал его. (sudo xattr -d com.apple.quarantine /path/to/d8)