GCPClusterConfiguration

Version: deckhouse.io/v1

  • apiVersion (строка)

    Допустимые значения: deckhouse.io/v1, deckhouse.io/v1alpha1

    Обязательный параметр.

  • kind (строка)

    Допустимые значения: GCPClusterConfiguration

    Обязательный параметр.

  • labels (объект)

    Список лейблов, которые будут прикреплены ко всем ресурсам кластера (которые это поддерживают).

    Если поменять теги в рабочем кластере, то после конвержа необходимо пересоздать все машины, чтобы теги применились.

    Подробнее про лейблы можно прочитать в официальной документации.

    Формат — key: value.

  • layout (строка)

    Название схемы размещения.

    Standard — включает режим Cloud NAT. Подробнее….

    WithoutNAT — выделенная VPN создается для кластера. Все узлы имеют публичные IP адреса. Подробнее….

    Допустимые значения: Standard, WithoutNAT

    Обязательный параметр.

  • masterNodeGroup (объект)

    Спецификация для описания NodeGroup master-узлов.

    Обязательный параметр.

    • additionalLabels (объект)

      Список дополнительных label’ов.

      Подробно про labels можно прочитать в официальной документации.

      Пример:

      project: cms-production
      severity: critical
      
    • additionalNetworkTags (массив строк)

      Список дополнительных тегов.

      К примеру, теги позволяют применять к инстансам правила firewall. Подробно про network tags можно прочитать в официальной документации.

    • instanceClass (объект)

      Частичное содержимое полей GCPInstanceClass.

      Обязательный параметр.

      • disableExternalIP (булевый)

        Запретить ли назначение внешнего IP для инстанса.

        Параметр доступен только для layout Standard.

        true — узлы не имеют публичных адресов, доступ в интернет осуществляется через CloudNAT.

        false — для узлов создаются статические публичные адреса, они же используются для One-to-one NAT.

        По умолчанию: true

        Допустимые значения: true, false

      • diskSizeGb (целочисленный)

        Размер root-диска. Значение указывается в ГиБ.

        Пример: 20

      • image (строка)

        Образ, который будет использоваться в заказанных инстансах.

        Список образов можно найти в документации.

        Внимание! Сейчас поддерживается и тестируется только Ubuntu 18.04, Ubuntu 20.04, Centos 7.

        Пример: "projects/ubuntu-os-cloud/global/images/ubuntu-1804-bionic-v20190911"

        Обязательный параметр.

      • machineType (строка)

        Тип заказываемых инстансов.

        Внимание! Следует убедиться, что указанный тип есть во всех зонах, указанных в zones.

        GCP позволяет указывать нестандартное количество CPU и RAM, например: custom-8-40960 или n2-custom-8-40960.

        Пример: "n1-standard-4"

        Обязательный параметр.

    • replicas (целочисленный)

      Сколько master-узлов создавать.

      Допустимые значения: 1 <= X

      Обязательный параметр.

    • zones (массив строк)

      Cписок зон, в которых допустимо создавать статичные-узлы.

  • nodeGroups (массив объектов)

    Массив дополнительных NodeGroup для создания статичных узлов (например, для выделенных фронтов или шлюзов).

    • additionalLabels (объект)
    • additionalNetworkTags (массив строк)
    • instanceClass (объект)

      Частичное содержимое полей GCPInstanceClass.

      Обязательный параметр.

      • disableExternalIP (булевый)

        Запретить ли назначение внешнего IP для инстанса.

        Параметр доступен только для layout Standard.

        true — узлы не имеют публичных адресов, доступ в интернет осуществляется через CloudNAT.

        false — для узлов создаются статические публичные адреса, они же используются для One-to-one NAT.

        По умолчанию: true

        Допустимые значения: true, false

      • diskSizeGb (целочисленный)

        Размер root-диска. Значение указывается в ГиБ.

        Пример: 20

      • image (строка)

        Образ, который будет использоваться в заказанных инстансах.

        Список образов можно найти в документации.

        Внимание! Сейчас поддерживается и тестируется только Ubuntu 18.04, Ubuntu 20.04, Centos 7.

        Пример: "projects/ubuntu-os-cloud/global/images/ubuntu-1804-bionic-v20190911"

        Обязательный параметр.

      • machineType (строка)

        Тип заказываемых инстансов.

        Внимание! Следует убедиться, что указанный тип есть во всех зонах, указанных в zones.

        GCP позволяет указывать нестандартное количество CPU и RAM, например: custom-8-40960 или n2-custom-8-40960.

        Пример: "n1-standard-4"

        Обязательный параметр.

    • name (строка)

      Имя NodeGroup, будет использоваться для генерации имен узлов.

      Обязательный параметр.

    • nodeTemplate (объект)

      Настройки Node-объектов в Kubernetes, которые будут добавлены после регистрации узлов.

      • annotations (объект)

        Аналогично стандартному полю metadata.annotations.

      • labels (объект)

        Аналогично стандартному полю metadata.labels.

      • taints (массив объектов)

        Аналогично полю .spec.taints из объекта Node. Внимание! Доступны только поля effect, key, values.

        • effect (строка)

          Допустимые значения: NoSchedule, PreferNoSchedule, NoExecute

        • key (строка)
        • value (строка)
    • replicas (целочисленный)

      Количество узлов.

      Обязательный параметр.

    • zones (массив строк)

      Список зон, в которых допустимо создавать узлы.

  • peeredVPCs (массив строк)

    Список GCP VPC networks, с которыми будет объединена сеть кластера.

    Сервис-аккаунт должен иметь доступ ко всем перечисленным VPC. Если доступа нет, то пиринг необходимо настраивать вручную.

  • provider (объект)

    Параметры подключения к API GCP.

    Обязательный параметр.

    • region (строка)

      Имя региона в котором будут заказываться инстансы.

      Обязательный параметр.

    • serviceAccountJSON (строка)

      Ключ к Service Account’у с правами Project Admin (service account key), в JSON-формате.

      Как получить service account key.

      Обязательный параметр.

  • sshKey (строка)

    Публичный ключ для доступа на узлы под пользователем user.

    Обязательный параметр.

  • standard (объект)

    Настройки для схемы размещения Standard.

    • cloudNATAddresses (массив строк)

      Список имен публичных статических IP-адресов для Cloud NAT.

  • subnetworkCIDR (строка)

    Подсеть, в которой будут работать узлы кластера.

    Шаблон: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/(3[0-2]|[1-2][0-9]|[0-9]))$

  • withoutNAT (объект)

    Настройки для схемы размещения WithoutNAT.

    • zones (массив строк)

      Список зон, в которых допустимо создавать узлы.