Ответы на квизы и отметки пройденных уроков будут удалены на этом устройстве.
Это действие нельзя отменить.
Шпаргалка: d8 (deckhouse-cli)
d8 — единый CLI-интерфейс к экосистеме Deckhouse: d8 k дублирует kubectl (см. шпаргалку kubectl), а остальные группы команд управляют платформой, доставкой приложений и диагностикой. Подробнее — M0 урок 2, M2 урок 2, M5 урок 9.
Самые используемые команды
1
2
3
4
5
6
7
8
9
10
d8 version # версия CLId8 status # агрегированный статус кластера/модулейd8 k <любая kubectl-команда> # алиас kubectld8 package --help # встроенная команда (DKP 1.76+)d8 package bootstrap application <name> [--hooks][--extended][--werf][-o <path>]d8 package verify [--hide-warnings][--show-ignored]d8 package build --version <semver> [--repo <registry>][--user <u>][--token <t>]d8 system queue list # очередь обработки модулей deckhouse-controller
Установка
1
2
3
4
. $(trdl use d8 0 stable)&& d8 --version # установка/активация через trdl (одна сессия)trdl add d8 https://tuf.deckhouse.io 0 <root-sha512> d8
trdl use d8 0 stable
d8 version
Переменные окружения CI (эквиваленты флагов d8 package build, не попадают в логи):
1
2
3
4
5
6
PACKAGE_BUILD_REPOSITORY # = --repo (prod)PACKAGE_BUILD_REPOSITORY_DEV # отдельный dev registry-путьPACKAGE_BUILD_REPOSITORY_USER # = --userPACKAGE_BUILD_REPOSITORY_TOKEN # = --token (хранить как Protected+Masked в GitLab)PACKAGE_BUILD_SIGN_CERT # = --sign-certPACKAGE_BUILD_SIGN_KEY # = --sign-key
d8 status / d8 system — диагностика платформы
1
2
3
4
d8 status # сводка: модули, очередь, версияd8 system queue list # очередь задач deckhouse-controllerd8 system queue list --watch # отслеживание изменений очереди (v0.23+)d8 system --help
d8 backup — снапшот etcd
1
d8 backup etcd <snapshot-file> # снапшот конфигурации объектов кластера (НЕ данные PVC!)
d8 mirror — офлайн-зеркалирование (недоступно в CE/BE)
d8 k — примеры платформенных запросов (полный список см. в шпаргалке kubectl)
1
2
3
4
5
d8 k explain application.spec
d8 k get app -n <ns>
d8 k get module <name> -o yaml
d8 k get moduleconfig deckhouse -o jsonpath='{.spec.settings.releaseChannel}'d8 k debug -it deploy/<name> -n <ns> --image=busybox --target=<container> # эфемерный debug-контейнер (distroless)
Дополнительно: другие группы (из официальной документации Deckhouse)
Эти возможности d8 упоминаются в документации платформы, но не разбираются отдельным уроком курса — полезно знать об их существовании:
1
2
3
4
5
6
d8 cr <subcommand> # работа с container registry (list/copy/etc.)d8 iam <subcommand> # identity/access managementd8 stronghold <subcommand> # управление секретами Strongholdd8 network <subcommand> # сетевые настройки кластераd8 v <subcommand> # виртуализация (Deckhouse Virtualization Platform)d8 delivery-kit <subcommand> # build/publish/plan/deploy для delivery-кита (EE)