Deckhouse Kubernetes Platform на Deckhouse Virtualization Platform (DVP)

Выберите редакцию Deckhouse Kubernetes Platform

Ниже сгенерированы рекомендованные настройки для установки Deckhouse Kubernetes Platform Community Edition:

  • config.yml — файл первичной конфигурации кластера. Содержит параметры инсталлятора, параметры доступа облачного провайдера, описание ресурсов для создания после установки, и начальные параметры кластера.

Обратите внимание:

  • Так выделены параметры, обязательные для самостоятельного заполнения.
  • Так выделены параметры, которые вы возможно захотите изменить.
  • Если вы запускаете инсталлятор под Windows, то убедитесь, что кодировка создаваемого YAML-файла конфигурации UTF-8 (либо удалите примечания на русском языке).

Создайте файл config.yml.

# Общие параметры кластера.
# https://deckhouse.ru/products/kubernetes-platform/documentation/v1/installing/configuration.html#clusterconfiguration
apiVersion: deckhouse.io/v1
kind: ClusterConfiguration
clusterType: Cloud
cloud:
  provider: DVP
  # Префикс объектов, создаваемых в облаке при установке.
  # Возможно, захотите изменить.
  prefix: cloud-demo
# Адресное пространство подов кластера.
# Не должно пересекаться с адресным пространством подов DVP.
podSubnetCIDR: 10.112.0.0/16
# Адресное пространство для сервисов кластера.
# Не должно пересекаться с адресным пространством сервисов DVP.
serviceSubnetCIDR: 10.223.0.0/16
kubernetesVersion: "Automatic"
clusterDomain: "cluster.local"
---
# Настройки первичной инициализации кластера Deckhouse.
# https://deckhouse.ru/products/kubernetes-platform/documentation/v1/installing/configuration.html#initconfiguration
apiVersion: deckhouse.io/v1
kind: InitConfiguration
deckhouse:
  imagesRepo: registry.deckhouse.ru/deckhouse/ce
  registryDockerCfg: eyJhdXRocyI6IHsgInJlZ2lzdHJ5LmRlY2tob3VzZS5ydSI6IHt9fX0K
---
# Настройки модуля deckhouse.
# https://deckhouse.ru/products/kubernetes-platform/documentation/v1/modules/002-deckhouse/configuration.html
apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
  name: deckhouse
spec:
  version: 1
  enabled: true
  settings:
    bundle: Default
    releaseChannel: EarlyAccess
    logLevel: Info
---
# Глобальные настройки Deckhouse.
# https://deckhouse.ru/products/kubernetes-platform/documentation/v1/deckhouse-configure-global.html#%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D1%8B
apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
  name: global
spec:
  version: 2
  settings:
    modules:
      # Шаблон, который будет использоваться для составления адресов системных приложений в кластере.
      # Например, Grafana для %s.example.com будет доступна на домене 'grafana.example.com'.
      # Домен НЕ ДОЛЖЕН совпадать с указанным в параметре clusterDomain ресурса ClusterConfiguration.
      # Можете изменить на свой сразу, либо следовать шагам руководства и сменить его после установки.
      publicDomainTemplate: "%s.example.com"
---
# Настройки модуля user-authn.
# https://deckhouse.ru/products/kubernetes-platform/documentation/v1/modules/150-user-authn/configuration.html
apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
  name: user-authn
spec:
  version: 2
  enabled: true
  settings:
    controlPlaneConfigurator:
      dexCAMode: DoNotNeed
    # Включение доступа к API-серверу Kubernetes через Ingress.
    # https://deckhouse.ru/products/kubernetes-platform/documentation/v1/modules/150-user-authn/configuration.html#parameters-publishapi
    publishAPI:
      enabled: true
      https:
        mode: Global
        global:
          kubeconfigGeneratorMasterCA: ""
---
# Настройки облачного провайдера.
# https://deckhouse.ru/products/kubernetes-platform/documentation/v1/modules/030-cloud-provider-dvp/cluster_configuration.html
apiVersion: deckhouse.io/v1
kind: DVPClusterConfiguration
layout: Standard
masterNodeGroup:
  replicas: 1
  instanceClass:
    rootDiskSize: 40
    # Настройки виртуальной машины для созданного master-узла.
    virtualMachine:
      # Настройки процессора для виртуальной машины.
      cpu:
        # Количество ядер процессора для виртуальной машины.
        cores: 4
        # Процент гарантированной доли CPU, которая будет выделена для виртуальной машины.
        coreFraction: 100%
      # Определяет параметры памяти для виртуальной машины.
      memory:
        # Количество ресурсов памяти, разрешенных для виртуальной машины.
        size: 8Gi
      # Имя VirtualMachineClass.
      virtualMachineClassName: general
      # Статические IP-адреса (или Auto для автоматического назначения IP-адреса), назначаемые сетевым интерфейсам виртуальных машин. Количество адресов должно соответствовать числу создаваемых реплик — каждый IP-адрес будет закреплён за конкретной репликой.
      ipAddresses:
        - Auto
    # Указывает настройки для корневого диска виртуальной машины.
    rootDisk:
      # Размер корневого диска.
      size: 50Gi
      # Имя существующего StorageClass будет использоваться для создания корневого диска виртуальной машины.
      storageClass: ceph-pool-r2-csi-rbd-immediate
      # Параметры образа, который будет использоваться для создания корневого диска виртуальной машины.
      image:
        # Тип источника образа.
        kind: ClusterVirtualImage
        # Имя образа, который будет использоваться для создания корневого диска.
        # Для установки требуются образы ОС Linux с предустановленным cloud-init.
        name: ubuntu-2204
    # Настройки для диска данных etcd.
    etcdDisk:
      # Размер диска etcd.
      size: 15Gi
      # Имя существующего StorageClass будет использоваться для создания диска данных etcd.
      storageClass: ceph-pool-r2-csi-rbd-immediate
# Публичная часть SSH-ключа для доступа к узлам облака.
# Этот ключ будет добавлен пользователю на созданных узлах (имя пользователя зависит от используемого образа).
sshPublicKey: *!CHANGE_SSH_KEY*
# Содержит настройки для подключения к API Deckhouse Kubernetes Platform.
provider:
  # Kubeconfig для подключения к API Deckhouse Kubernetes Platform в кодировке Base64.
  kubeconfigDataBase64: *!CHANGE_KUBERNETES_CONFIG_BASE64*
  # Пространство имён, в котором будут созданы ресурсы кластера DKP.
  namespace: demo
---
# Секция, описывающая параметры инстанс-класса для узлов c компонентами, обеспечивающими рабочую нагрузку.
# https://deckhouse.ru/products/kubernetes-platform/documentation/v1/modules/030-cloud-provider-dvp/cr.html
apiVersion: deckhouse.io/v1
kind: DVPInstanceClass
metadata:
  name: worker
spec:
  # Настройки виртуальной машины для созданного master-узла.
  virtualMachine:
    # Настройки процессора для виртуальной машины.
    cpu:
      # Количество ядер процессора для виртуальной машины.
      cores: 4
      # Процент гарантированной доли CPU, которая будет выделена для виртуальной машины.
      coreFraction: 100%
    # Определяет параметры памяти для виртуальной машины.
    memory:
      # Количество ресурсов памяти, разрешенных для виртуальной машины.
      size: 8Gi
    # Имя VirtualMachineClass.
    virtualMachineClassName: general
    # Определяет загрузчик для виртуальной машины.
    bootloader: EFI
  # Указывает настройки для корневого диска виртуальной машины.
  rootDisk:
    # Размер корневого диска.
    size: 50Gi
    # Имя существующего StorageClass будет использоваться для создания корневого диска виртуальной машины.
    storageClass: ceph-pool-r2-csi-rbd-immediate
    # Параметры образа, который будет использоваться для создания корневого диска виртуальной машины.
    image:
      # Тип источника образа.
      kind: ClusterVirtualImage
      # Имя образа, который будет использоваться для создания корневого диска.
      # Для установки требуются образы ОС Linux с предустановленным cloud-init.
      name: ubuntu-2204
---
# Секция, описывающая параметры группы узлов c компонентами, обеспечивающими рабочую нагрузку.
# https://deckhouse.ru/products/kubernetes-platform/documentation/v1/modules/040-node-manager/cr.html#nodegroup
apiVersion: deckhouse.io/v1
kind: NodeGroup
metadata:
  name: worker
spec:
  cloudInstances:
    classReference:
      kind: DVPInstanceClass
      name: worker
    # Максимальное количество инстансов в каждой зоне (используется при масштабировании).
    # Возможно, захотите изменить.
    maxPerZone: 1
    # Минимальное количество инстансов в каждой зоне. Чтобы запустить больше узлов, увеличьте maxPerZone или добавьте зоны.
    minPerZone: 1
  nodeType: CloudEphemeral
---
# Секция, описывающая параметры NGINX Ingress controller.
# https://deckhouse.ru/products/kubernetes-platform/documentation/v1/modules/402-ingress-nginx/cr.html
apiVersion: deckhouse.io/v1
kind: IngressNginxController
metadata:
  name: nginx
spec:
  ingressClass: nginx
  inlet: LoadBalancer
  # Описывает, на каких узлах будет находиться Ingress-контроллер. Лейбл "node.deckhouse.io/group: <NODE_GROUP_NAME>" устанавливается автоматически.
  nodeSelector:
    node.deckhouse.io/group: worker
---
# Настройки RBAC и авторизации.
# https://deckhouse.ru/products/kubernetes-platform/documentation/v1/modules/140-user-authz/cr.html#clusterauthorizationrule
apiVersion: deckhouse.io/v1
kind: ClusterAuthorizationRule
metadata:
  name: admin
spec:
  subjects:
  - kind: User
    name: admin@deckhouse.io
  accessLevel: SuperAdmin
  portForwarding: true
---
# Данные статического пользователя.
# https://deckhouse.ru/products/kubernetes-platform/documentation/v1/modules/150-user-authn/cr.html#user
apiVersion: deckhouse.io/v1
kind: User
metadata:
  name: admin
spec:
  # E-mail пользователя.
  email: admin@deckhouse.io
  # Это хэш пароля <GENERATED_PASSWORD>, сгенерированного при загрузке страницы "Быстрого Старта".
  # Сгенерируйте свой или используйте этот, но только для тестирования
  # echo "<GENERATED_PASSWORD>" | htpasswd -BinC 10 "" | cut -d: -f2 | base64 -w0
  # Возможно, захотите изменить.
  password: <GENERATED_PASSWORD_HASH>

Введите лицензионный ключ

Ввести

Ниже сгенерированы рекомендованные настройки для установки Deckhouse Kubernetes Platform Basic Edition:

  • config.yml — файл первичной конфигурации кластера. Содержит параметры инсталлятора, параметры доступа облачного провайдера, описание ресурсов для создания после установки, и начальные параметры кластера.

Обратите внимание:

  • Так выделены параметры, обязательные для самостоятельного заполнения.
  • Так выделены параметры, которые вы возможно захотите изменить.
  • Если вы запускаете инсталлятор под Windows, то убедитесь, что кодировка создаваемого YAML-файла конфигурации UTF-8 (либо удалите примечания на русском языке).

Создайте файл config.yml.

# Общие параметры кластера.
# https://deckhouse.ru/products/kubernetes-platform/documentation/v1/installing/configuration.html#clusterconfiguration
apiVersion: deckhouse.io/v1
kind: ClusterConfiguration
clusterType: Cloud
cloud:
  provider: DVP
  # Префикс объектов, создаваемых в облаке при установке.
  # Возможно, захотите изменить.
  prefix: cloud-demo
# Адресное пространство подов кластера.
# Не должно пересекаться с адресным пространством подов DVP.
podSubnetCIDR: 10.112.0.0/16
# Адресное пространство для сервисов кластера.
# Не должно пересекаться с адресным пространством сервисов DVP.
serviceSubnetCIDR: 10.223.0.0/16
kubernetesVersion: "Automatic"
clusterDomain: "cluster.local"
---
# Настройки первичной инициализации кластера Deckhouse.
# https://deckhouse.ru/products/kubernetes-platform/documentation/v1/installing/configuration.html#initconfiguration
apiVersion: deckhouse.io/v1
kind: InitConfiguration
deckhouse:
  imagesRepo: registry.deckhouse.ru/deckhouse/<REVISION>
  # Строка с ключом для доступа к Docker registry (сгенерировано автоматически для вашего токена доступа).
  registryDockerCfg: <YOUR_ACCESS_STRING_IS_HERE>
---
# Настройки модуля deckhouse.
# https://deckhouse.ru/products/kubernetes-platform/documentation/v1/modules/002-deckhouse/configuration.html
apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
  name: deckhouse
spec:
  version: 1
  enabled: true
  settings:
    bundle: Default
    releaseChannel: Stable
    logLevel: Info
---
# Глобальные настройки Deckhouse.
# https://deckhouse.ru/products/kubernetes-platform/documentation/v1/deckhouse-configure-global.html#%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D1%8B
apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
  name: global
spec:
  version: 2
  settings:
    modules:
      # Шаблон, который будет использоваться для составления адресов системных приложений в кластере.
      # Например, Grafana для %s.example.com будет доступна на домене 'grafana.example.com'.
      # Домен НЕ ДОЛЖЕН совпадать с указанным в параметре clusterDomain ресурса ClusterConfiguration.
      # Можете изменить на свой сразу, либо следовать шагам руководства и сменить его после установки.
      publicDomainTemplate: "%s.example.com"
---
# Настройки модуля user-authn.
# https://deckhouse.ru/products/kubernetes-platform/documentation/v1/modules/150-user-authn/configuration.html
apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
  name: user-authn
spec:
  version: 2
  enabled: true
  settings:
    controlPlaneConfigurator:
      dexCAMode: DoNotNeed
    # Включение доступа к API-серверу Kubernetes через Ingress.
    # https://deckhouse.ru/products/kubernetes-platform/documentation/v1/modules/150-user-authn/configuration.html#parameters-publishapi
    publishAPI:
      enabled: true
      https:
        mode: Global
        global:
          kubeconfigGeneratorMasterCA: ""
---
# Настройки облачного провайдера.
# https://deckhouse.ru/products/kubernetes-platform/documentation/v1/modules/030-cloud-provider-dvp/cluster_configuration.html
apiVersion: deckhouse.io/v1
kind: DVPClusterConfiguration
layout: Standard
masterNodeGroup:
  replicas: 1
  instanceClass:
    rootDiskSize: 40
    # Настройки виртуальной машины для созданного master-узла.
    virtualMachine:
      # Настройки процессора для виртуальной машины.
      cpu:
        # Количество ядер процессора для виртуальной машины.
        cores: 4
        # Процент гарантированной доли CPU, которая будет выделена для виртуальной машины.
        coreFraction: 100%
      # Определяет параметры памяти для виртуальной машины.
      memory:
        # Количество ресурсов памяти, разрешенных для виртуальной машины.
        size: 8Gi
      # Имя VirtualMachineClass.
      virtualMachineClassName: general
      # Статические IP-адреса (или Auto для автоматического назначения IP-адреса), назначаемые сетевым интерфейсам виртуальных машин. Количество адресов должно соответствовать числу создаваемых реплик — каждый IP-адрес будет закреплён за конкретной репликой.
      ipAddresses:
        - Auto
    # Указывает настройки для корневого диска виртуальной машины.
    rootDisk:
      # Размер корневого диска.
      size: 50Gi
      # Имя существующего StorageClass будет использоваться для создания корневого диска виртуальной машины.
      storageClass: ceph-pool-r2-csi-rbd-immediate
      # Параметры образа, который будет использоваться для создания корневого диска виртуальной машины.
      image:
        # Тип источника образа.
        kind: ClusterVirtualImage
        # Имя образа, который будет использоваться для создания корневого диска.
        # Для установки требуются образы ОС Linux с предустановленным cloud-init.
        name: ubuntu-2204
    # Настройки для диска данных etcd.
    etcdDisk:
      # Размер диска etcd.
      size: 15Gi
      # Имя существующего StorageClass будет использоваться для создания диска данных etcd.
      storageClass: ceph-pool-r2-csi-rbd-immediate
# Публичная часть SSH-ключа для доступа к узлам облака.
# Этот ключ будет добавлен пользователю на созданных узлах (имя пользователя зависит от используемого образа).
sshPublicKey: *!CHANGE_SSH_KEY*
# Содержит настройки для подключения к API Deckhouse Kubernetes Platform.
provider:
  # Kubeconfig для подключения к API Deckhouse Kubernetes Platform в кодировке Base64.
  kubeconfigDataBase64: *!CHANGE_KUBERNETES_CONFIG_BASE64*
  # Пространство имён, в котором будут созданы ресурсы кластера DKP.
  namespace: demo
---
# Секция, описывающая параметры инстанс-класса для узлов c компонентами, обеспечивающими рабочую нагрузку.
# https://deckhouse.ru/products/kubernetes-platform/documentation/v1/modules/030-cloud-provider-dvp/cr.html
apiVersion: deckhouse.io/v1
kind: DVPInstanceClass
metadata:
  name: worker
spec:
  # Настройки виртуальной машины для созданного master-узла.
  virtualMachine:
    # Настройки процессора для виртуальной машины.
    cpu:
      # Количество ядер процессора для виртуальной машины.
      cores: 4
      # Процент гарантированной доли CPU, которая будет выделена для виртуальной машины.
      coreFraction: 100%
    # Определяет параметры памяти для виртуальной машины.
    memory:
      # Количество ресурсов памяти, разрешенных для виртуальной машины.
      size: 8Gi
    # Имя VirtualMachineClass.
    virtualMachineClassName: general
    # Определяет загрузчик для виртуальной машины.
    bootloader: EFI
  # Указывает настройки для корневого диска виртуальной машины.
  rootDisk:
    # Размер корневого диска.
    size: 50Gi
    # Имя существующего StorageClass будет использоваться для создания корневого диска виртуальной машины.
    storageClass: ceph-pool-r2-csi-rbd-immediate
    # Параметры образа, который будет использоваться для создания корневого диска виртуальной машины.
    image:
      # Тип источника образа.
      kind: ClusterVirtualImage
      # Имя образа, который будет использоваться для создания корневого диска.
      # Для установки требуются образы ОС Linux с предустановленным cloud-init.
      name: ubuntu-2204
---
# Секция, описывающая параметры группы узлов c компонентами, обеспечивающими рабочую нагрузку.
# https://deckhouse.ru/products/kubernetes-platform/documentation/v1/modules/040-node-manager/cr.html#nodegroup
apiVersion: deckhouse.io/v1
kind: NodeGroup
metadata:
  name: worker
spec:
  cloudInstances:
    classReference:
      kind: DVPInstanceClass
      name: worker
    # Максимальное количество инстансов в каждой зоне (используется при масштабировании).
    # Возможно, захотите изменить.
    maxPerZone: 1
    # Минимальное количество инстансов в каждой зоне. Чтобы запустить больше узлов, увеличьте maxPerZone или добавьте зоны.
    minPerZone: 1
  nodeType: CloudEphemeral
---
# Секция, описывающая параметры NGINX Ingress controller.
# https://deckhouse.ru/products/kubernetes-platform/documentation/v1/modules/402-ingress-nginx/cr.html
apiVersion: deckhouse.io/v1
kind: IngressNginxController
metadata:
  name: nginx
spec:
  ingressClass: nginx
  inlet: LoadBalancer
  # Описывает, на каких узлах будет находиться Ingress-контроллер. Лейбл "node.deckhouse.io/group: <NODE_GROUP_NAME>" устанавливается автоматически.
  nodeSelector:
    node.deckhouse.io/group: worker
---
# Настройки RBAC и авторизации.
# https://deckhouse.ru/products/kubernetes-platform/documentation/v1/modules/140-user-authz/cr.html#clusterauthorizationrule
apiVersion: deckhouse.io/v1
kind: ClusterAuthorizationRule
metadata:
  name: admin
spec:
  subjects:
  - kind: User
    name: admin@deckhouse.io
  accessLevel: SuperAdmin
  portForwarding: true
---
# Данные статического пользователя.
# https://deckhouse.ru/products/kubernetes-platform/documentation/v1/modules/150-user-authn/cr.html#user
apiVersion: deckhouse.io/v1
kind: User
metadata:
  name: admin
spec:
  # E-mail пользователя.
  email: admin@deckhouse.io
  # Это хэш пароля <GENERATED_PASSWORD>, сгенерированного при загрузке страницы "Быстрого Старта".
  # Сгенерируйте свой или используйте этот, но только для тестирования
  # echo "<GENERATED_PASSWORD>" | htpasswd -BinC 10 "" | cut -d: -f2 | base64 -w0
  # Возможно, захотите изменить.
  password: <GENERATED_PASSWORD_HASH>

Введите лицензионный ключ

Ввести

Ниже сгенерированы рекомендованные настройки для установки Deckhouse Kubernetes Platform Standard Edition:

  • config.yml — файл первичной конфигурации кластера. Содержит параметры инсталлятора, параметры доступа облачного провайдера, описание ресурсов для создания после установки, и начальные параметры кластера.

Обратите внимание:

  • Так выделены параметры, обязательные для самостоятельного заполнения.
  • Так выделены параметры, которые вы возможно захотите изменить.
  • Если вы запускаете инсталлятор под Windows, то убедитесь, что кодировка создаваемого YAML-файла конфигурации UTF-8 (либо удалите примечания на русском языке).

Создайте файл config.yml.

# Общие параметры кластера.
# https://deckhouse.ru/products/kubernetes-platform/documentation/v1/installing/configuration.html#clusterconfiguration
apiVersion: deckhouse.io/v1
kind: ClusterConfiguration
clusterType: Cloud
cloud:
  provider: DVP
  # Префикс объектов, создаваемых в облаке при установке.
  # Возможно, захотите изменить.
  prefix: cloud-demo
# Адресное пространство подов кластера.
# Не должно пересекаться с адресным пространством подов DVP.
podSubnetCIDR: 10.112.0.0/16
# Адресное пространство для сервисов кластера.
# Не должно пересекаться с адресным пространством сервисов DVP.
serviceSubnetCIDR: 10.223.0.0/16
kubernetesVersion: "Automatic"
clusterDomain: "cluster.local"
---
# Настройки первичной инициализации кластера Deckhouse.
# https://deckhouse.ru/products/kubernetes-platform/documentation/v1/installing/configuration.html#initconfiguration
apiVersion: deckhouse.io/v1
kind: InitConfiguration
deckhouse:
  imagesRepo: registry.deckhouse.ru/deckhouse/<REVISION>
  # Строка с ключом для доступа к Docker registry (сгенерировано автоматически для вашего токена доступа).
  registryDockerCfg: <YOUR_ACCESS_STRING_IS_HERE>
---
# Настройки модуля deckhouse.
# https://deckhouse.ru/products/kubernetes-platform/documentation/v1/modules/002-deckhouse/configuration.html
apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
  name: deckhouse
spec:
  version: 1
  enabled: true
  settings:
    bundle: Default
    releaseChannel: Stable
    logLevel: Info
---
# Глобальные настройки Deckhouse.
# https://deckhouse.ru/products/kubernetes-platform/documentation/v1/deckhouse-configure-global.html#%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D1%8B
apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
  name: global
spec:
  version: 2
  settings:
    modules:
      # Шаблон, который будет использоваться для составления адресов системных приложений в кластере.
      # Например, Grafana для %s.example.com будет доступна на домене 'grafana.example.com'.
      # Домен НЕ ДОЛЖЕН совпадать с указанным в параметре clusterDomain ресурса ClusterConfiguration.
      # Можете изменить на свой сразу, либо следовать шагам руководства и сменить его после установки.
      publicDomainTemplate: "%s.example.com"
---
# Настройки модуля user-authn.
# https://deckhouse.ru/products/kubernetes-platform/documentation/v1/modules/150-user-authn/configuration.html
apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
  name: user-authn
spec:
  version: 2
  enabled: true
  settings:
    controlPlaneConfigurator:
      dexCAMode: DoNotNeed
    # Включение доступа к API-серверу Kubernetes через Ingress.
    # https://deckhouse.ru/products/kubernetes-platform/documentation/v1/modules/150-user-authn/configuration.html#parameters-publishapi
    publishAPI:
      enabled: true
      https:
        mode: Global
        global:
          kubeconfigGeneratorMasterCA: ""
---
# Настройки облачного провайдера.
# https://deckhouse.ru/products/kubernetes-platform/documentation/v1/modules/030-cloud-provider-dvp/cluster_configuration.html
apiVersion: deckhouse.io/v1
kind: DVPClusterConfiguration
layout: Standard
masterNodeGroup:
  replicas: 1
  instanceClass:
    rootDiskSize: 40
    # Настройки виртуальной машины для созданного master-узла.
    virtualMachine:
      # Настройки процессора для виртуальной машины.
      cpu:
        # Количество ядер процессора для виртуальной машины.
        cores: 4
        # Процент гарантированной доли CPU, которая будет выделена для виртуальной машины.
        coreFraction: 100%
      # Определяет параметры памяти для виртуальной машины.
      memory:
        # Количество ресурсов памяти, разрешенных для виртуальной машины.
        size: 8Gi
      # Имя VirtualMachineClass.
      virtualMachineClassName: general
      # Статические IP-адреса (или Auto для автоматического назначения IP-адреса), назначаемые сетевым интерфейсам виртуальных машин. Количество адресов должно соответствовать числу создаваемых реплик — каждый IP-адрес будет закреплён за конкретной репликой.
      ipAddresses:
        - Auto
    # Указывает настройки для корневого диска виртуальной машины.
    rootDisk:
      # Размер корневого диска.
      size: 50Gi
      # Имя существующего StorageClass будет использоваться для создания корневого диска виртуальной машины.
      storageClass: ceph-pool-r2-csi-rbd-immediate
      # Параметры образа, который будет использоваться для создания корневого диска виртуальной машины.
      image:
        # Тип источника образа.
        kind: ClusterVirtualImage
        # Имя образа, который будет использоваться для создания корневого диска.
        # Для установки требуются образы ОС Linux с предустановленным cloud-init.
        name: ubuntu-2204
    # Настройки для диска данных etcd.
    etcdDisk:
      # Размер диска etcd.
      size: 15Gi
      # Имя существующего StorageClass будет использоваться для создания диска данных etcd.
      storageClass: ceph-pool-r2-csi-rbd-immediate
# Публичная часть SSH-ключа для доступа к узлам облака.
# Этот ключ будет добавлен пользователю на созданных узлах (имя пользователя зависит от используемого образа).
sshPublicKey: *!CHANGE_SSH_KEY*
# Содержит настройки для подключения к API Deckhouse Kubernetes Platform.
provider:
  # Kubeconfig для подключения к API Deckhouse Kubernetes Platform в кодировке Base64.
  kubeconfigDataBase64: *!CHANGE_KUBERNETES_CONFIG_BASE64*
  # Пространство имён, в котором будут созданы ресурсы кластера DKP.
  namespace: demo
---
# Секция, описывающая параметры инстанс-класса для узлов c компонентами, обеспечивающими рабочую нагрузку.
# https://deckhouse.ru/products/kubernetes-platform/documentation/v1/modules/030-cloud-provider-dvp/cr.html
apiVersion: deckhouse.io/v1
kind: DVPInstanceClass
metadata:
  name: worker
spec:
  # Настройки виртуальной машины для созданного master-узла.
  virtualMachine:
    # Настройки процессора для виртуальной машины.
    cpu:
      # Количество ядер процессора для виртуальной машины.
      cores: 4
      # Процент гарантированной доли CPU, которая будет выделена для виртуальной машины.
      coreFraction: 100%
    # Определяет параметры памяти для виртуальной машины.
    memory:
      # Количество ресурсов памяти, разрешенных для виртуальной машины.
      size: 8Gi
    # Имя VirtualMachineClass.
    virtualMachineClassName: general
    # Определяет загрузчик для виртуальной машины.
    bootloader: EFI
  # Указывает настройки для корневого диска виртуальной машины.
  rootDisk:
    # Размер корневого диска.
    size: 50Gi
    # Имя существующего StorageClass будет использоваться для создания корневого диска виртуальной машины.
    storageClass: ceph-pool-r2-csi-rbd-immediate
    # Параметры образа, который будет использоваться для создания корневого диска виртуальной машины.
    image:
      # Тип источника образа.
      kind: ClusterVirtualImage
      # Имя образа, который будет использоваться для создания корневого диска.
      # Для установки требуются образы ОС Linux с предустановленным cloud-init.
      name: ubuntu-2204
---
# Секция, описывающая параметры группы узлов c компонентами, обеспечивающими рабочую нагрузку.
# https://deckhouse.ru/products/kubernetes-platform/documentation/v1/modules/040-node-manager/cr.html#nodegroup
apiVersion: deckhouse.io/v1
kind: NodeGroup
metadata:
  name: worker
spec:
  cloudInstances:
    classReference:
      kind: DVPInstanceClass
      name: worker
    # Максимальное количество инстансов в каждой зоне (используется при масштабировании).
    # Возможно, захотите изменить.
    maxPerZone: 1
    # Минимальное количество инстансов в каждой зоне. Чтобы запустить больше узлов, увеличьте maxPerZone или добавьте зоны.
    minPerZone: 1
  nodeType: CloudEphemeral
---
# Секция, описывающая параметры NGINX Ingress controller.
# https://deckhouse.ru/products/kubernetes-platform/documentation/v1/modules/402-ingress-nginx/cr.html
apiVersion: deckhouse.io/v1
kind: IngressNginxController
metadata:
  name: nginx
spec:
  ingressClass: nginx
  inlet: LoadBalancer
  # Описывает, на каких узлах будет находиться Ingress-контроллер. Лейбл "node.deckhouse.io/group: <NODE_GROUP_NAME>" устанавливается автоматически.
  nodeSelector:
    node.deckhouse.io/group: worker
---
# Настройки RBAC и авторизации.
# https://deckhouse.ru/products/kubernetes-platform/documentation/v1/modules/140-user-authz/cr.html#clusterauthorizationrule
apiVersion: deckhouse.io/v1
kind: ClusterAuthorizationRule
metadata:
  name: admin
spec:
  subjects:
  - kind: User
    name: admin@deckhouse.io
  accessLevel: SuperAdmin
  portForwarding: true
---
# Данные статического пользователя.
# https://deckhouse.ru/products/kubernetes-platform/documentation/v1/modules/150-user-authn/cr.html#user
apiVersion: deckhouse.io/v1
kind: User
metadata:
  name: admin
spec:
  # E-mail пользователя.
  email: admin@deckhouse.io
  # Это хэш пароля <GENERATED_PASSWORD>, сгенерированного при загрузке страницы "Быстрого Старта".
  # Сгенерируйте свой или используйте этот, но только для тестирования
  # echo "<GENERATED_PASSWORD>" | htpasswd -BinC 10 "" | cut -d: -f2 | base64 -w0
  # Возможно, захотите изменить.
  password: <GENERATED_PASSWORD_HASH>

Введите лицензионный ключ

Ввести

Ниже сгенерированы рекомендованные настройки для установки Deckhouse Kubernetes Platform Standard Edition+:

  • config.yml — файл первичной конфигурации кластера. Содержит параметры инсталлятора, параметры доступа облачного провайдера, описание ресурсов для создания после установки, и начальные параметры кластера.

Обратите внимание:

  • Так выделены параметры, обязательные для самостоятельного заполнения.
  • Так выделены параметры, которые вы возможно захотите изменить.
  • Если вы запускаете инсталлятор под Windows, то убедитесь, что кодировка создаваемого YAML-файла конфигурации UTF-8 (либо удалите примечания на русском языке).

Создайте файл config.yml.

# Общие параметры кластера.
# https://deckhouse.ru/products/kubernetes-platform/documentation/v1/installing/configuration.html#clusterconfiguration
apiVersion: deckhouse.io/v1
kind: ClusterConfiguration
clusterType: Cloud
cloud:
  provider: DVP
  # Префикс объектов, создаваемых в облаке при установке.
  # Возможно, захотите изменить.
  prefix: cloud-demo
# Адресное пространство подов кластера.
# Не должно пересекаться с адресным пространством подов DVP.
podSubnetCIDR: 10.112.0.0/16
# Адресное пространство для сервисов кластера.
# Не должно пересекаться с адресным пространством сервисов DVP.
serviceSubnetCIDR: 10.223.0.0/16
kubernetesVersion: "Automatic"
clusterDomain: "cluster.local"
---
# Настройки первичной инициализации кластера Deckhouse.
# https://deckhouse.ru/products/kubernetes-platform/documentation/v1/installing/configuration.html#initconfiguration
apiVersion: deckhouse.io/v1
kind: InitConfiguration
deckhouse:
  imagesRepo: registry.deckhouse.ru/deckhouse/<REVISION>
  # Строка с ключом для доступа к Docker registry (сгенерировано автоматически для вашего токена доступа).
  registryDockerCfg: <YOUR_ACCESS_STRING_IS_HERE>
---
# Настройки модуля deckhouse.
# https://deckhouse.ru/products/kubernetes-platform/documentation/v1/modules/002-deckhouse/configuration.html
apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
  name: deckhouse
spec:
  version: 1
  enabled: true
  settings:
    bundle: Default
    releaseChannel: Stable
    logLevel: Info
---
# Глобальные настройки Deckhouse.
# https://deckhouse.ru/products/kubernetes-platform/documentation/v1/deckhouse-configure-global.html#%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D1%8B
apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
  name: global
spec:
  version: 2
  settings:
    modules:
      # Шаблон, который будет использоваться для составления адресов системных приложений в кластере.
      # Например, Grafana для %s.example.com будет доступна на домене 'grafana.example.com'.
      # Домен НЕ ДОЛЖЕН совпадать с указанным в параметре clusterDomain ресурса ClusterConfiguration.
      # Можете изменить на свой сразу, либо следовать шагам руководства и сменить его после установки.
      publicDomainTemplate: "%s.example.com"
---
# Настройки модуля user-authn.
# https://deckhouse.ru/products/kubernetes-platform/documentation/v1/modules/150-user-authn/configuration.html
apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
  name: user-authn
spec:
  version: 2
  enabled: true
  settings:
    controlPlaneConfigurator:
      dexCAMode: DoNotNeed
    # Включение доступа к API-серверу Kubernetes через Ingress.
    # https://deckhouse.ru/products/kubernetes-platform/documentation/v1/modules/150-user-authn/configuration.html#parameters-publishapi
    publishAPI:
      enabled: true
      https:
        mode: Global
        global:
          kubeconfigGeneratorMasterCA: ""
---
# Настройки облачного провайдера.
# https://deckhouse.ru/products/kubernetes-platform/documentation/v1/modules/030-cloud-provider-dvp/cluster_configuration.html
apiVersion: deckhouse.io/v1
kind: DVPClusterConfiguration
layout: Standard
masterNodeGroup:
  replicas: 1
  instanceClass:
    rootDiskSize: 40
    # Настройки виртуальной машины для созданного master-узла.
    virtualMachine:
      # Настройки процессора для виртуальной машины.
      cpu:
        # Количество ядер процессора для виртуальной машины.
        cores: 4
        # Процент гарантированной доли CPU, которая будет выделена для виртуальной машины.
        coreFraction: 100%
      # Определяет параметры памяти для виртуальной машины.
      memory:
        # Количество ресурсов памяти, разрешенных для виртуальной машины.
        size: 8Gi
      # Имя VirtualMachineClass.
      virtualMachineClassName: general
      # Статические IP-адреса (или Auto для автоматического назначения IP-адреса), назначаемые сетевым интерфейсам виртуальных машин. Количество адресов должно соответствовать числу создаваемых реплик — каждый IP-адрес будет закреплён за конкретной репликой.
      ipAddresses:
        - Auto
    # Указывает настройки для корневого диска виртуальной машины.
    rootDisk:
      # Размер корневого диска.
      size: 50Gi
      # Имя существующего StorageClass будет использоваться для создания корневого диска виртуальной машины.
      storageClass: ceph-pool-r2-csi-rbd-immediate
      # Параметры образа, который будет использоваться для создания корневого диска виртуальной машины.
      image:
        # Тип источника образа.
        kind: ClusterVirtualImage
        # Имя образа, который будет использоваться для создания корневого диска.
        # Для установки требуются образы ОС Linux с предустановленным cloud-init.
        name: ubuntu-2204
    # Настройки для диска данных etcd.
    etcdDisk:
      # Размер диска etcd.
      size: 15Gi
      # Имя существующего StorageClass будет использоваться для создания диска данных etcd.
      storageClass: ceph-pool-r2-csi-rbd-immediate
# Публичная часть SSH-ключа для доступа к узлам облака.
# Этот ключ будет добавлен пользователю на созданных узлах (имя пользователя зависит от используемого образа).
sshPublicKey: *!CHANGE_SSH_KEY*
# Содержит настройки для подключения к API Deckhouse Kubernetes Platform.
provider:
  # Kubeconfig для подключения к API Deckhouse Kubernetes Platform в кодировке Base64.
  kubeconfigDataBase64: *!CHANGE_KUBERNETES_CONFIG_BASE64*
  # Пространство имён, в котором будут созданы ресурсы кластера DKP.
  namespace: demo
---
# Секция, описывающая параметры инстанс-класса для узлов c компонентами, обеспечивающими рабочую нагрузку.
# https://deckhouse.ru/products/kubernetes-platform/documentation/v1/modules/030-cloud-provider-dvp/cr.html
apiVersion: deckhouse.io/v1
kind: DVPInstanceClass
metadata:
  name: worker
spec:
  # Настройки виртуальной машины для созданного master-узла.
  virtualMachine:
    # Настройки процессора для виртуальной машины.
    cpu:
      # Количество ядер процессора для виртуальной машины.
      cores: 4
      # Процент гарантированной доли CPU, которая будет выделена для виртуальной машины.
      coreFraction: 100%
    # Определяет параметры памяти для виртуальной машины.
    memory:
      # Количество ресурсов памяти, разрешенных для виртуальной машины.
      size: 8Gi
    # Имя VirtualMachineClass.
    virtualMachineClassName: general
    # Определяет загрузчик для виртуальной машины.
    bootloader: EFI
  # Указывает настройки для корневого диска виртуальной машины.
  rootDisk:
    # Размер корневого диска.
    size: 50Gi
    # Имя существующего StorageClass будет использоваться для создания корневого диска виртуальной машины.
    storageClass: ceph-pool-r2-csi-rbd-immediate
    # Параметры образа, который будет использоваться для создания корневого диска виртуальной машины.
    image:
      # Тип источника образа.
      kind: ClusterVirtualImage
      # Имя образа, который будет использоваться для создания корневого диска.
      # Для установки требуются образы ОС Linux с предустановленным cloud-init.
      name: ubuntu-2204
---
# Секция, описывающая параметры группы узлов c компонентами, обеспечивающими рабочую нагрузку.
# https://deckhouse.ru/products/kubernetes-platform/documentation/v1/modules/040-node-manager/cr.html#nodegroup
apiVersion: deckhouse.io/v1
kind: NodeGroup
metadata:
  name: worker
spec:
  cloudInstances:
    classReference:
      kind: DVPInstanceClass
      name: worker
    # Максимальное количество инстансов в каждой зоне (используется при масштабировании).
    # Возможно, захотите изменить.
    maxPerZone: 1
    # Минимальное количество инстансов в каждой зоне. Чтобы запустить больше узлов, увеличьте maxPerZone или добавьте зоны.
    minPerZone: 1
  nodeType: CloudEphemeral
---
# Секция, описывающая параметры NGINX Ingress controller.
# https://deckhouse.ru/products/kubernetes-platform/documentation/v1/modules/402-ingress-nginx/cr.html
apiVersion: deckhouse.io/v1
kind: IngressNginxController
metadata:
  name: nginx
spec:
  ingressClass: nginx
  inlet: LoadBalancer
  # Описывает, на каких узлах будет находиться Ingress-контроллер. Лейбл "node.deckhouse.io/group: <NODE_GROUP_NAME>" устанавливается автоматически.
  nodeSelector:
    node.deckhouse.io/group: worker
---
# Настройки RBAC и авторизации.
# https://deckhouse.ru/products/kubernetes-platform/documentation/v1/modules/140-user-authz/cr.html#clusterauthorizationrule
apiVersion: deckhouse.io/v1
kind: ClusterAuthorizationRule
metadata:
  name: admin
spec:
  subjects:
  - kind: User
    name: admin@deckhouse.io
  accessLevel: SuperAdmin
  portForwarding: true
---
# Данные статического пользователя.
# https://deckhouse.ru/products/kubernetes-platform/documentation/v1/modules/150-user-authn/cr.html#user
apiVersion: deckhouse.io/v1
kind: User
metadata:
  name: admin
spec:
  # E-mail пользователя.
  email: admin@deckhouse.io
  # Это хэш пароля <GENERATED_PASSWORD>, сгенерированного при загрузке страницы "Быстрого Старта".
  # Сгенерируйте свой или используйте этот, но только для тестирования
  # echo "<GENERATED_PASSWORD>" | htpasswd -BinC 10 "" | cut -d: -f2 | base64 -w0
  # Возможно, захотите изменить.
  password: <GENERATED_PASSWORD_HASH>

Введите лицензионный ключ

Ввести

Ниже сгенерированы рекомендованные настройки для установки Deckhouse Kubernetes Platform Enterprise Edition:

  • config.yml — файл первичной конфигурации кластера. Содержит параметры инсталлятора, параметры доступа облачного провайдера, описание ресурсов для создания после установки, и начальные параметры кластера.

Обратите внимание:

  • Так выделены параметры, обязательные для самостоятельного заполнения.
  • Так выделены параметры, которые вы возможно захотите изменить.
  • Если вы запускаете инсталлятор под Windows, то убедитесь, что кодировка создаваемого YAML-файла конфигурации UTF-8 (либо удалите примечания на русском языке).

Создайте файл config.yml.

# Общие параметры кластера.
# https://deckhouse.ru/products/kubernetes-platform/documentation/v1/installing/configuration.html#clusterconfiguration
apiVersion: deckhouse.io/v1
kind: ClusterConfiguration
clusterType: Cloud
cloud:
  provider: DVP
  # Префикс объектов, создаваемых в облаке при установке.
  # Возможно, захотите изменить.
  prefix: cloud-demo
# Адресное пространство подов кластера.
# Не должно пересекаться с адресным пространством подов DVP.
podSubnetCIDR: 10.112.0.0/16
# Адресное пространство для сервисов кластера.
# Не должно пересекаться с адресным пространством сервисов DVP.
serviceSubnetCIDR: 10.223.0.0/16
kubernetesVersion: "Automatic"
clusterDomain: "cluster.local"
---
# Настройки первичной инициализации кластера Deckhouse.
# https://deckhouse.ru/products/kubernetes-platform/documentation/v1/installing/configuration.html#initconfiguration
apiVersion: deckhouse.io/v1
kind: InitConfiguration
deckhouse:
  imagesRepo: registry.deckhouse.ru/deckhouse/<REVISION>
  # Строка с ключом для доступа к Docker registry (сгенерировано автоматически для вашего токена доступа).
  registryDockerCfg: <YOUR_ACCESS_STRING_IS_HERE>
---
# Настройки модуля deckhouse.
# https://deckhouse.ru/products/kubernetes-platform/documentation/v1/modules/002-deckhouse/configuration.html
apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
  name: deckhouse
spec:
  version: 1
  enabled: true
  settings:
    bundle: Default
    releaseChannel: Stable
    logLevel: Info
---
# Глобальные настройки Deckhouse.
# https://deckhouse.ru/products/kubernetes-platform/documentation/v1/deckhouse-configure-global.html#%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D1%8B
apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
  name: global
spec:
  version: 2
  settings:
    modules:
      # Шаблон, который будет использоваться для составления адресов системных приложений в кластере.
      # Например, Grafana для %s.example.com будет доступна на домене 'grafana.example.com'.
      # Домен НЕ ДОЛЖЕН совпадать с указанным в параметре clusterDomain ресурса ClusterConfiguration.
      # Можете изменить на свой сразу, либо следовать шагам руководства и сменить его после установки.
      publicDomainTemplate: "%s.example.com"
---
# Настройки модуля user-authn.
# https://deckhouse.ru/products/kubernetes-platform/documentation/v1/modules/150-user-authn/configuration.html
apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
  name: user-authn
spec:
  version: 2
  enabled: true
  settings:
    controlPlaneConfigurator:
      dexCAMode: DoNotNeed
    # Включение доступа к API-серверу Kubernetes через Ingress.
    # https://deckhouse.ru/products/kubernetes-platform/documentation/v1/modules/150-user-authn/configuration.html#parameters-publishapi
    publishAPI:
      enabled: true
      https:
        mode: Global
        global:
          kubeconfigGeneratorMasterCA: ""
---
# Настройки облачного провайдера.
# https://deckhouse.ru/products/kubernetes-platform/documentation/v1/modules/030-cloud-provider-dvp/cluster_configuration.html
apiVersion: deckhouse.io/v1
kind: DVPClusterConfiguration
layout: Standard
masterNodeGroup:
  replicas: 1
  instanceClass:
    rootDiskSize: 40
    # Настройки виртуальной машины для созданного master-узла.
    virtualMachine:
      # Настройки процессора для виртуальной машины.
      cpu:
        # Количество ядер процессора для виртуальной машины.
        cores: 4
        # Процент гарантированной доли CPU, которая будет выделена для виртуальной машины.
        coreFraction: 100%
      # Определяет параметры памяти для виртуальной машины.
      memory:
        # Количество ресурсов памяти, разрешенных для виртуальной машины.
        size: 8Gi
      # Имя VirtualMachineClass.
      virtualMachineClassName: general
      # Статические IP-адреса (или Auto для автоматического назначения IP-адреса), назначаемые сетевым интерфейсам виртуальных машин. Количество адресов должно соответствовать числу создаваемых реплик — каждый IP-адрес будет закреплён за конкретной репликой.
      ipAddresses:
        - Auto
    # Указывает настройки для корневого диска виртуальной машины.
    rootDisk:
      # Размер корневого диска.
      size: 50Gi
      # Имя существующего StorageClass будет использоваться для создания корневого диска виртуальной машины.
      storageClass: ceph-pool-r2-csi-rbd-immediate
      # Параметры образа, который будет использоваться для создания корневого диска виртуальной машины.
      image:
        # Тип источника образа.
        kind: ClusterVirtualImage
        # Имя образа, который будет использоваться для создания корневого диска.
        # Для установки требуются образы ОС Linux с предустановленным cloud-init.
        name: ubuntu-2204
    # Настройки для диска данных etcd.
    etcdDisk:
      # Размер диска etcd.
      size: 15Gi
      # Имя существующего StorageClass будет использоваться для создания диска данных etcd.
      storageClass: ceph-pool-r2-csi-rbd-immediate
# Публичная часть SSH-ключа для доступа к узлам облака.
# Этот ключ будет добавлен пользователю на созданных узлах (имя пользователя зависит от используемого образа).
sshPublicKey: *!CHANGE_SSH_KEY*
# Содержит настройки для подключения к API Deckhouse Kubernetes Platform.
provider:
  # Kubeconfig для подключения к API Deckhouse Kubernetes Platform в кодировке Base64.
  kubeconfigDataBase64: *!CHANGE_KUBERNETES_CONFIG_BASE64*
  # Пространство имён, в котором будут созданы ресурсы кластера DKP.
  namespace: demo
---
# Секция, описывающая параметры инстанс-класса для узлов c компонентами, обеспечивающими рабочую нагрузку.
# https://deckhouse.ru/products/kubernetes-platform/documentation/v1/modules/030-cloud-provider-dvp/cr.html
apiVersion: deckhouse.io/v1
kind: DVPInstanceClass
metadata:
  name: worker
spec:
  # Настройки виртуальной машины для созданного master-узла.
  virtualMachine:
    # Настройки процессора для виртуальной машины.
    cpu:
      # Количество ядер процессора для виртуальной машины.
      cores: 4
      # Процент гарантированной доли CPU, которая будет выделена для виртуальной машины.
      coreFraction: 100%
    # Определяет параметры памяти для виртуальной машины.
    memory:
      # Количество ресурсов памяти, разрешенных для виртуальной машины.
      size: 8Gi
    # Имя VirtualMachineClass.
    virtualMachineClassName: general
    # Определяет загрузчик для виртуальной машины.
    bootloader: EFI
  # Указывает настройки для корневого диска виртуальной машины.
  rootDisk:
    # Размер корневого диска.
    size: 50Gi
    # Имя существующего StorageClass будет использоваться для создания корневого диска виртуальной машины.
    storageClass: ceph-pool-r2-csi-rbd-immediate
    # Параметры образа, который будет использоваться для создания корневого диска виртуальной машины.
    image:
      # Тип источника образа.
      kind: ClusterVirtualImage
      # Имя образа, который будет использоваться для создания корневого диска.
      # Для установки требуются образы ОС Linux с предустановленным cloud-init.
      name: ubuntu-2204
---
# Секция, описывающая параметры группы узлов c компонентами, обеспечивающими рабочую нагрузку.
# https://deckhouse.ru/products/kubernetes-platform/documentation/v1/modules/040-node-manager/cr.html#nodegroup
apiVersion: deckhouse.io/v1
kind: NodeGroup
metadata:
  name: worker
spec:
  cloudInstances:
    classReference:
      kind: DVPInstanceClass
      name: worker
    # Максимальное количество инстансов в каждой зоне (используется при масштабировании).
    # Возможно, захотите изменить.
    maxPerZone: 1
    # Минимальное количество инстансов в каждой зоне. Чтобы запустить больше узлов, увеличьте maxPerZone или добавьте зоны.
    minPerZone: 1
  nodeType: CloudEphemeral
---
# Секция, описывающая параметры NGINX Ingress controller.
# https://deckhouse.ru/products/kubernetes-platform/documentation/v1/modules/402-ingress-nginx/cr.html
apiVersion: deckhouse.io/v1
kind: IngressNginxController
metadata:
  name: nginx
spec:
  ingressClass: nginx
  inlet: LoadBalancer
  # Описывает, на каких узлах будет находиться Ingress-контроллер. Лейбл "node.deckhouse.io/group: <NODE_GROUP_NAME>" устанавливается автоматически.
  nodeSelector:
    node.deckhouse.io/group: worker
---
# Настройки RBAC и авторизации.
# https://deckhouse.ru/products/kubernetes-platform/documentation/v1/modules/140-user-authz/cr.html#clusterauthorizationrule
apiVersion: deckhouse.io/v1
kind: ClusterAuthorizationRule
metadata:
  name: admin
spec:
  subjects:
  - kind: User
    name: admin@deckhouse.io
  accessLevel: SuperAdmin
  portForwarding: true
---
# Данные статического пользователя.
# https://deckhouse.ru/products/kubernetes-platform/documentation/v1/modules/150-user-authn/cr.html#user
apiVersion: deckhouse.io/v1
kind: User
metadata:
  name: admin
spec:
  # E-mail пользователя.
  email: admin@deckhouse.io
  # Это хэш пароля <GENERATED_PASSWORD>, сгенерированного при загрузке страницы "Быстрого Старта".
  # Сгенерируйте свой или используйте этот, но только для тестирования
  # echo "<GENERATED_PASSWORD>" | htpasswd -BinC 10 "" | cut -d: -f2 | base64 -w0
  # Возможно, захотите изменить.
  password: <GENERATED_PASSWORD_HASH>

Для установки Deckhouse Kubernetes Platform используется образ контейнера, в который необходимо передать конфигурационные файлы и SSH-ключи доступа на master-узел (далее подразумевается что используется SSH-ключ ~/.ssh/id_rsa пользователя персонального компьютера, с которого выполняется установка).

Запустите установщик на персональном компьютере.

Linux / macOS Windows

docker run --pull=always -it -v "$PWD/config.yml:/config.yml" -v "$HOME/.ssh/:/tmp/.ssh/" \
  -v "$PWD/dhctl-tmp:/tmp/dhctl" registry.deckhouse.ru/deckhouse/ce/install:stable bash
docker run --pull=always -it -v "%cd%\config.yml:/config.yml" -v "%userprofile%\.ssh\:/tmp/.ssh/" -v "%cd%\config.yml:/config.yml" -v "%cd%\dhctl-tmp:/tmp/dhctl"  registry.deckhouse.ru/deckhouse/ce/install:stable bash -c "chmod 400 /tmp/.ssh/id_rsa; bash"

Внутри контейнера выполните команду:

dhctl bootstrap --ssh-user=ubuntu --ssh-agent-private-keys=/tmp/.ssh/id_rsa --config=/config.yml

В параметре --ssh-user укажите имя пользователя по умолчанию для выбранного образа виртуальной машины. Для предложенного в руководстве образа это ubuntu.

Если установка была прервана...

Если установка была прервана (не хватило квот, ошибки сети и т.п.), вы можете ее перезапустить. Установка корректно продолжится, никакие дублирующие ресурсы в облаке созданы не будут.

Если установка не может быть продолжена и вам нужно удалить созданные в облаке ресурсы, выполните следующую команду:

dhctl bootstrap-phase abort --ssh-user=ubuntu --ssh-agent-private-keys=/tmp/.ssh/id_rsa --config=/config.yml

Процесс установки может занять от 5 до 30 минут, в зависимости от качества соединения.

По окончании установки инсталлятор выведет IP-адрес master-узла (он вам потребуется далее). Пример вывода:

...
┌ 🎈 ~ Common: Kubernetes Master Node addresses for SSH
│ cloud-demo-master-0 | ssh ubuntu@1.2.3.4
└ 🎈 ~ Common: Kubernetes Master Node addresses for SSH (0.00 seconds)

Почти все готово для полноценной работы Deckhouse Kubernetes Platform!

Для установки Deckhouse Kubernetes Platform используется образ контейнера, в который необходимо передать конфигурационные файлы и SSH-ключи доступа на master-узел (далее подразумевается что используется SSH-ключ ~/.ssh/id_rsa пользователя персонального компьютера, с которого выполняется установка).

Запустите установщик на персональном компьютере.

Linux / macOS Windows

Авторизуйтесь на персональном компьютере в container image registry:

echo <LICENSE_TOKEN> | docker login -u license-token --password-stdin registry.deckhouse.ru

Запустите контейнер с установщиком:

docker run --pull=always -it -v "$PWD/config.yml:/config.yml" -v "$HOME/.ssh/:/tmp/.ssh/" registry.deckhouse.ru/deckhouse/be/install:stable bash

Авторизуйтесь на персональном компьютере в container image registry, введя лицензионный ключ на запрос пароля:

docker login -u license-token registry.deckhouse.ru

Запустите контейнер с установщиком:

docker run --pull=always -it -v "%cd%\config.yml:/config.yml" -v "%userprofile%\.ssh\:/tmp/.ssh/" registry.deckhouse.ru/deckhouse/be/install:stable bash -c "chmod 400 /tmp/.ssh/id_rsa; bash"

Внутри контейнера выполните команду:

dhctl bootstrap --ssh-user=ubuntu --ssh-agent-private-keys=/tmp/.ssh/id_rsa --config=/config.yml

В параметре --ssh-user укажите имя пользователя по умолчанию для выбранного образа виртуальной машины. Для предложенного в руководстве образа это ubuntu.

Если установка была прервана...

Если установка была прервана (не хватило квот, ошибки сети и т.п.), вы можете ее перезапустить. Установка корректно продолжится, никакие дублирующие ресурсы в облаке созданы не будут.

Если установка не может быть продолжена и вам нужно удалить созданные в облаке ресурсы, выполните следующую команду:

dhctl bootstrap-phase abort --ssh-user=ubuntu --ssh-agent-private-keys=/tmp/.ssh/id_rsa --config=/config.yml

Процесс установки может занять от 5 до 30 минут, в зависимости от качества соединения.

По окончании установки инсталлятор выведет IP-адрес master-узла (он вам потребуется далее). Пример вывода:

...
┌ 🎈 ~ Common: Kubernetes Master Node addresses for SSH
│ cloud-demo-master-0 | ssh ubuntu@1.2.3.4
└ 🎈 ~ Common: Kubernetes Master Node addresses for SSH (0.00 seconds)

Почти все готово для полноценной работы Deckhouse Kubernetes Platform!

Для установки Deckhouse Kubernetes Platform используется образ контейнера, в который необходимо передать конфигурационные файлы и SSH-ключи доступа на master-узел (далее подразумевается что используется SSH-ключ ~/.ssh/id_rsa пользователя персонального компьютера, с которого выполняется установка).

Запустите установщик на персональном компьютере.

Linux / macOS Windows

Авторизуйтесь на персональном компьютере в container image registry:

echo <LICENSE_TOKEN> | docker login -u license-token --password-stdin registry.deckhouse.ru

Запустите контейнер с установщиком:

docker run --pull=always -it -v "$PWD/config.yml:/config.yml" -v "$HOME/.ssh/:/tmp/.ssh/" registry.deckhouse.ru/deckhouse/se/install:stable bash

Авторизуйтесь на персональном компьютере в container image registry, введя лицензионный ключ на запрос пароля:

docker login -u license-token registry.deckhouse.ru

Запустите контейнер с установщиком:

docker run --pull=always -it -v "%cd%\config.yml:/config.yml" -v "%userprofile%\.ssh\:/tmp/.ssh/" registry.deckhouse.ru/deckhouse/se/install:stable bash -c "chmod 400 /tmp/.ssh/id_rsa; bash"

Внутри контейнера выполните команду:

dhctl bootstrap --ssh-user=ubuntu --ssh-agent-private-keys=/tmp/.ssh/id_rsa --config=/config.yml

В параметре --ssh-user укажите имя пользователя по умолчанию для выбранного образа виртуальной машины. Для предложенного в руководстве образа это ubuntu.

Если установка была прервана...

Если установка была прервана (не хватило квот, ошибки сети и т.п.), вы можете ее перезапустить. Установка корректно продолжится, никакие дублирующие ресурсы в облаке созданы не будут.

Если установка не может быть продолжена и вам нужно удалить созданные в облаке ресурсы, выполните следующую команду:

dhctl bootstrap-phase abort --ssh-user=ubuntu --ssh-agent-private-keys=/tmp/.ssh/id_rsa --config=/config.yml

Процесс установки может занять от 5 до 30 минут, в зависимости от качества соединения.

По окончании установки инсталлятор выведет IP-адрес master-узла (он вам потребуется далее). Пример вывода:

...
┌ 🎈 ~ Common: Kubernetes Master Node addresses for SSH
│ cloud-demo-master-0 | ssh ubuntu@1.2.3.4
└ 🎈 ~ Common: Kubernetes Master Node addresses for SSH (0.00 seconds)

Почти все готово для полноценной работы Deckhouse Kubernetes Platform!

Для установки Deckhouse Kubernetes Platform используется образ контейнера, в который необходимо передать конфигурационные файлы и SSH-ключи доступа на master-узел (далее подразумевается что используется SSH-ключ ~/.ssh/id_rsa пользователя персонального компьютера, с которого выполняется установка).

Запустите установщик на персональном компьютере.

Linux / macOS Windows

Авторизуйтесь на персональном компьютере в container image registry:

echo <LICENSE_TOKEN> | docker login -u license-token --password-stdin registry.deckhouse.ru

Запустите контейнер с установщиком:

docker run --pull=always -it -v "$PWD/config.yml:/config.yml" -v "$HOME/.ssh/:/tmp/.ssh/" registry.deckhouse.ru/deckhouse/se-plus/install:stable bash

Авторизуйтесь на персональном компьютере в container image registry, введя лицензионный ключ на запрос пароля:

docker login -u license-token registry.deckhouse.ru

Запустите контейнер с установщиком:

docker run --pull=always -it -v "%cd%\config.yml:/config.yml" -v "%userprofile%\.ssh\:/tmp/.ssh/" registry.deckhouse.ru/deckhouse/se-plus/install:stable bash -c "chmod 400 /tmp/.ssh/id_rsa; bash"

Внутри контейнера выполните команду:

dhctl bootstrap --ssh-user=ubuntu --ssh-agent-private-keys=/tmp/.ssh/id_rsa --config=/config.yml

В параметре --ssh-user укажите имя пользователя по умолчанию для выбранного образа виртуальной машины. Для предложенного в руководстве образа это ubuntu.

Если установка была прервана...

Если установка была прервана (не хватило квот, ошибки сети и т.п.), вы можете ее перезапустить. Установка корректно продолжится, никакие дублирующие ресурсы в облаке созданы не будут.

Если установка не может быть продолжена и вам нужно удалить созданные в облаке ресурсы, выполните следующую команду:

dhctl bootstrap-phase abort --ssh-user=ubuntu --ssh-agent-private-keys=/tmp/.ssh/id_rsa --config=/config.yml

Процесс установки может занять от 5 до 30 минут, в зависимости от качества соединения.

По окончании установки инсталлятор выведет IP-адрес master-узла (он вам потребуется далее). Пример вывода:

...
┌ 🎈 ~ Common: Kubernetes Master Node addresses for SSH
│ cloud-demo-master-0 | ssh ubuntu@1.2.3.4
└ 🎈 ~ Common: Kubernetes Master Node addresses for SSH (0.00 seconds)

Почти все готово для полноценной работы Deckhouse Kubernetes Platform!

Для установки Deckhouse Kubernetes Platform используется образ контейнера, в который необходимо передать конфигурационные файлы и SSH-ключи доступа на master-узел (далее подразумевается что используется SSH-ключ ~/.ssh/id_rsa пользователя персонального компьютера, с которого выполняется установка).

Запустите установщик на персональном компьютере.

Linux / macOS Windows

Авторизуйтесь на персональном компьютере в container image registry:

echo <LICENSE_TOKEN> | docker login -u license-token --password-stdin registry.deckhouse.ru

Запустите контейнер с установщиком:

docker run --pull=always -it -v "$PWD/config.yml:/config.yml" -v "$HOME/.ssh/:/tmp/.ssh/" registry.deckhouse.ru/deckhouse/ee/install:stable bash

Авторизуйтесь на персональном компьютере в container image registry, введя лицензионный ключ на запрос пароля:

docker login -u license-token registry.deckhouse.ru

Запустите контейнер с установщиком:

docker run --pull=always -it -v "%cd%\config.yml:/config.yml" -v "%userprofile%\.ssh\:/tmp/.ssh/" registry.deckhouse.ru/deckhouse/ee/install:stable bash -c "chmod 400 /tmp/.ssh/id_rsa; bash"

Внутри контейнера выполните команду:

dhctl bootstrap --ssh-user=ubuntu --ssh-agent-private-keys=/tmp/.ssh/id_rsa --config=/config.yml

В параметре --ssh-user укажите имя пользователя по умолчанию для выбранного образа виртуальной машины. Для предложенного в руководстве образа это ubuntu.

Если установка была прервана...

Если установка была прервана (не хватило квот, ошибки сети и т.п.), вы можете ее перезапустить. Установка корректно продолжится, никакие дублирующие ресурсы в облаке созданы не будут.

Если установка не может быть продолжена и вам нужно удалить созданные в облаке ресурсы, выполните следующую команду:

dhctl bootstrap-phase abort --ssh-user=ubuntu --ssh-agent-private-keys=/tmp/.ssh/id_rsa --config=/config.yml

Процесс установки может занять от 5 до 30 минут, в зависимости от качества соединения.

По окончании установки инсталлятор выведет IP-адрес master-узла (он вам потребуется далее). Пример вывода:

...
┌ 🎈 ~ Common: Kubernetes Master Node addresses for SSH
│ cloud-demo-master-0 | ssh ubuntu@1.2.3.4
└ 🎈 ~ Common: Kubernetes Master Node addresses for SSH (0.00 seconds)

Почти все готово для полноценной работы Deckhouse Kubernetes Platform!