Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
143 changes: 143 additions & 0 deletions content/documentation/admin/install.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,143 @@
---
title: Installation
weight: 11
---

Deckhouse Development Platform can be installed in two ways: with [external PostgreSQL and Redis instances](#installation-with-external-instances) (connecting to databases already deployed outside the cluster) or with [internal instances](#installation-with-internal-instances) (deploying PostgreSQL and Redis inside the cluster). External instances are recommended for production; internal instances are suitable for testing and pilot use. Both options are described below.

## Installation with internal instances

To install Deckhouse Development Platform, enable the `development-platform` module in your Kubernetes cluster running on Deckhouse Kubernetes Platform. You can use [ModuleConfig](/products/kubernetes-platform/documentation/v1/reference/api/cr.html#moduleconfig) with minimal settings:

```yaml
apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
name: development-platform
spec:
enabled: true
version: 1
settings:
rbac:
superAdminEmail: admin@deckhouse.io # Super administrator email with full access to platform configuration. Can be changed at any time.
security:
secretKey: "16charssecretkey" # Secret key for encrypting private data. If changed, API access tokens will need to be regenerated and users will need to re-enter their credentials.
```

After installation, the Deckhouse Development Platform web UI will be available at `https://ddp.<your domain>`.

When you do not specify `postgres` and `redis` sections, the platform deploys **internal** PostgreSQL and Redis instances inside the cluster. This scenario is not recommended for production and is suitable only for testing and pilot use; for production, use [external resources](#installation-with-external-instances).

### Configuring internal instances (optional)

If you use internal instances, you can explicitly set `mode: internal` and specify images from a private Docker registry:

```yaml
apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
name: development-platform
spec:
enabled: true
version: 1
settings:
rbac:
superAdminEmail: admin@deckhouse.io
security:
secretKey: "16charssecretkey"
postgres:
mode: internal
image: registry.example.com/postgres:16.3 # PostgreSQL image from private registry
redis:
mode: internal
image: registry.example.com/redis:7.4.0 # Redis image from private registry.
additionalImagePullSecrets:
- "custom-registry-secret" # (optional) additional secrets for private registry access.
```

## Installation with external instances

This installation option is recommended for production: the platform connects to PostgreSQL and Redis deployed outside the cluster, which improves resilience and simplifies backup and scaling of databases.

### Connecting external PostgreSQL

To use an external PostgreSQL instance, specify connection parameters in the `postgres` section:

```yaml
apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
name: development-platform
spec:
enabled: true
version: 1
settings:
rbac:
superAdminEmail: admin@deckhouse.io
security:
secretKey: "16charssecretkey"
postgres:
mode: external
host: postgres.example.com # PostgreSQL server hostname or IP address.
port: 5432 # PostgreSQL port (default 5432).
database: ddp # Database name.
username: ddp_user # Connection username.
password: secure_password # Connection password.
```

### Connecting external Redis

To use an external Redis instance, specify connection parameters in the `redis` section:

```yaml
apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
name: development-platform
spec:
enabled: true
version: 1
settings:
rbac:
superAdminEmail: admin@deckhouse.io
security:
secretKey: "16charssecretkey"
redis:
mode: external
host: redis.example.com # Redis server hostname or IP address.
port: 6379 # Redis port (default 6379).
database: "0" # Redis database index (default "0").
password: redis_password # Connection password (optional; leave empty if Redis has no password).
```

### Full example with external instances

Example configuration with external PostgreSQL and Redis:

```yaml
apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
name: development-platform
spec:
enabled: true
version: 1
settings:
rbac:
superAdminEmail: admin@deckhouse.io
security:
secretKey: "16charssecretkey"
postgres:
mode: external
host: postgres.production.example.com
port: 5432
database: ddp
username: ddp_user
password: secure_postgres_password
redis:
mode: external
host: redis.production.example.com
port: 6379
database: "0"
password: secure_redis_password
```
139 changes: 138 additions & 1 deletion content/documentation/admin/install.ru.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,141 @@ title: Установка
weight: 11
---

Процесс установки Deckhouse Development Platform описан в секции [начало работы](https://deckhouse.ru/modules/development-platform/getting-started.html) в документации модуля.
Deckhouse Development Platform можно установить двумя способами: с [внешними инстансами](#установка-с-внешними-инстансами) PostgreSQL и Redis (подключение к уже развёрнутым базам данных вне кластера) или с [внутренними инстансами](#установка-с-внутренними-инстансами) (развёртывание PostgreSQL и Redis внутри кластера). Внешние инстансы рекомендуются для production, внутренние подходят для тестов и пилотной эксплуатации.

## Установка с внутренними инстансами

Для установки Deckhouse Development Platform включите модуль `development-platform` в вашем Kubernetes-кластере под управлением Deckhouse Kubernetes Platform. Для этого можно использовать [ModuleConfig](/products/kubernetes-platform/documentation/v1/reference/api/cr.html#moduleconfig) с минимальным количеством настроек:

```yaml
apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
name: development-platform
spec:
enabled: true
version: 1
settings:
rbac:
superAdminEmail: admin@deckhouse.io # Email супер-администратора, который будет иметь полный доступ к конфигурации платформы. Может быть изменен в любой момент.
security:
secretKey: "16charssecretkey" # Секретный ключ для шифрования приватных данных. При изменении потребуется перегенерация токенов доступа к API платформы и повторное заполнение учетных данных пользователями.
```

После установки веб-интерфейс Deckhouse Development Platform будет доступен по адресу `https://ddp.<ваш домен>`.

При развёртывании без указания секций `postgres` и `redis` платформа разворачивает **внутренние** инстансы PostgreSQL и Redis внутри кластера. Такой сценарий не рекомендуется для production и подходит только для тестов и пилотной эксплуатации; для промышленной эксплуатации используйте [внешние ресурсы](#установка-с-внешними-инстансами).

### Настройка внутренних инстансов (опционально)

Если вы используете внутренние инстансы, можно явно указать `mode: internal` и задать образы из приватного Docker registry:

```yaml
apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
name: development-platform
spec:
enabled: true
version: 1
settings:
rbac:
superAdminEmail: admin@deckhouse.io
security:
secretKey: "16charssecretkey"
postgres:
mode: internal
image: registry.example.com/postgres:16.3 # Образ PostgreSQL из приватного registry.
redis:
mode: internal
image: registry.example.com/redis:7.4.0 # Образ Redis из приватного registry.
additionalImagePullSecrets:
- "custom-registry-secret" # (опционально) дополнительные секреты для доступа к приватному registry.
```

## Установка с внешними инстансами

Этот вариант установки рекомендуется для production: платформа подключается к уже развёрнутым PostgreSQL и Redis вне кластера, что обеспечивает отказоустойчивость и упрощает резервное копирование и масштабирование баз данных.

### Подключение внешнего PostgreSQL

Для использования внешнего инстанса PostgreSQL необходимо указать параметры подключения в секции `postgres`:

```yaml
apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
name: development-platform
spec:
enabled: true
version: 1
settings:
rbac:
superAdminEmail: admin@deckhouse.io
security:
secretKey: "16charssecretkey"
postgres:
mode: external
host: postgres.example.com # Имя хоста или IP-адрес сервера PostgreSQL.
port: 5432 # Порт PostgreSQL (по умолчанию 5432).
database: ddp # Название базы данных.
username: ddp_user # Имя пользователя для подключения.
password: secure_password # Пароль для подключения.
```

### Подключение внешнего Redis

Для использования внешнего инстанса Redis необходимо указать параметры подключения в секции `redis`:

```yaml
apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
name: development-platform
spec:
enabled: true
version: 1
settings:
rbac:
superAdminEmail: admin@deckhouse.io
security:
secretKey: "16charssecretkey"
redis:
mode: external
host: redis.example.com # Имя хоста или IP-адрес сервера Redis.
port: 6379 # Порт Redis (по умолчанию 6379).
database: "0" # Индекс базы данных Redis (по умолчанию "0").
password: redis_password # Пароль для подключения (необязательно; если Redis без пароля — оставить пустым).
```

### Полный пример с внешними инстансами

Пример конфигурации с подключением к внешним инстансам PostgreSQL и Redis:

```yaml
apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
name: development-platform
spec:
enabled: true
version: 1
settings:
rbac:
superAdminEmail: admin@deckhouse.io
security:
secretKey: "16charssecretkey"
postgres:
mode: external
host: postgres.production.example.com
port: 5432
database: ddp
username: ddp_user
password: secure_postgres_password
redis:
mode: external
host: redis.production.example.com
port: 6379
database: "0"
password: secure_redis_password
```
Loading