This section describes the architecture of Deckhouse Kubernetes Platform (DKP).

The section consists of the following subsections:

This section does not yet cover all DKP subsystems and modules.
Documentation for the remaining components will be added as it becomes available.

DKP architecture

DKP is a platform for managing Kubernetes clusters in various infrastructures — from isolated server environments to public clouds. The platform includes:

  • A Kubernetes cluster.
  • The Deckhouse controller and the modules it manages.
  • Bashible, an agent running as a service on cluster nodes that executes bash scripts to manage nodes.

Modules are grouped into subsystems according to their functional purpose. The Deckhouse controller is also implemented as a module and is the only mandatory module required for the platform to function.

The DKP architecture at the subsystem and module level is described in the C4 model subsection.

Modules

A module is a set of resources and applications designed to extend DKP functionality.

Key modules:

The control-plane-manager and node-manager modules are not installed when DKP is installed into an existing Managed Kubernetes cluster.

Module contents:

  • Helm charts
  • Addon-operator hooks
  • Build rules for module components (Deckhouse components)
  • Other related files

DKP uses the addon-operator project to manage modules. Refer to its documentation to learn how DKP works with modules, module hooks, and module parameters.

For more information about module architecture and developing custom modules, refer to Modules.

Additional resources