NodeGroupConfiguration

Scope: Cluster
Version: v1alpha1

Ресурс для выполнения bash-скриптов на узлах.

Подробнее в документации модуля.

  • spec
    объект

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

    • spec.bundles
      массив строк

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

      Список bundle’ов, для которых будет выполняться скрипт. Для выбора всех bundle’ов нужно указать '*'.

      Примеры:

      bundles:
      - ubuntu-lts
      - centos-7
      
      bundles:
      - ubuntu-lts
      
      bundles:
      - "*"
      
      • Элемент массива
        строка

        Допустимые значения: ubuntu-lts, centos, debian, redos, rosa, astra, altlinux, opensuse, *

    • spec.content
      строка

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

      Содержимое шага конфигурации в виде bash-скрипта.

      Для генерации скрипта возможно использовать Go Template.

      Получить список параметров, доступных для использования в шаблонах, можно из секрета bashible-apiserver-context:

      kubectl -n d8-cloud-instance-manager get secrets bashible-apiserver-context -o jsonpath='{.data.input\.yaml}'| base64 -d
      

      Пример:

      {{- range .nodeUsers }}
      echo 'Tuning environment for user {{ .name }}'
      # Some code for tuning user environment
      {{- end }}
      

      Также в скрипте допустимо использовать подготовленные команды bashbooster. Например:

      bb-event-on 'bb-package-installed' 'post-install'
      post-install() {
        bb-log-info "Setting reboot flag due to kernel was updated"
        bb-flag-set reboot
      }
      

      Пример использования параметров proxy, указанных в ресурсе ClusterConfiguration:

      bb-set-proxy
      curl -I https://google.com
      bb-unset-proxy
      
      test-function-with-proxy() {
        bb-set-proxy
        trap bb-unset-proxy RETURN
        curl -I https://google.com
      }
      
      test-function-with-proxy
      
    • spec.nodeGroups
      массив строк

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

      Список NodeGroup, к которым нужно применять шаг конфигурации. Для выбора всех NodeGroups нужно указать ‘*’.

      Примеры:

      nodeGroups:
      - master
      - worker
      
      nodeGroups:
      - worker
      
      nodeGroups:
      - "*"
      
    • spec.weight
      целочисленный

      Очередность выполнения шага конфигурации.

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