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