Стадия жизненного цикла модуля: General Availability
Пример кастомного ресурса GCPInstanceClass
Ниже представлен простой пример конфигурации кастомного ресурса GCPInstanceClass:
apiVersion: deckhouse.io/v1
kind: GCPInstanceClass
metadata:
name: test
spec:
machineType: n1-standard-1
Включение вложенной виртуализации
Для запуска виртуальных машин (например, KVM) внутри GCP-инстансов необходимо включить вложенную виртуализацию.
Вложенная виртуализация поддерживается только на определённых типах машин. Список совместимых типов приведён в документации GCP.
apiVersion: deckhouse.io/v1
kind: GCPInstanceClass
metadata:
name: vm-nodes
spec:
machineType: n2-standard-8
enableNestedVirtualization: true
Добавление дополнительных дисков
Чтобы подключить к инстансам дополнительные диски (например, для узлов хранилища LINSTOR, Ceph, NFS и аналогичных решений), задайте их в параметре additionalDisks:
apiVersion: deckhouse.io/v1
kind: GCPInstanceClass
metadata:
name: storage-nodes
spec:
machineType: n1-standard-8
additionalDisks:
- size: 200
type: pd-ssd
- size: 500
type: pd-standard
autoDelete: true
Настройка политик безопасности на узлах
На виртуальных машинах кластера в GCP может возникнуть необходимость ограничить или расширить входящий и исходящий трафик по различным причинам. Некоторые из них могут включать:
- Разрешение подключения к узлам кластера с виртуальных машин из другой подсети.
- Разрешение подключения к портам статического узла для работы приложения.
- Ограничение доступа к внешним ресурсам или другим виртуальным машинам в облаке по требованию службы безопасности.
Для всего этого необходимо применять дополнительные network tags.
Установка дополнительных network tags на статических и master-узлах
Данный параметр можно задать либо при создании кластера или в уже существующем кластере. В обоих случаях дополнительные network tags указываются в GCPClusterConfiguration:
- для master-узлов — в секции
masterNodeGroupв полеadditionalNetworkTags; - для статических узлов — в секции
nodeGroupsв конфигурации, описывающей соответствующую nodeGroup, в полеadditionalNetworkTags.
Поле additionalNetworkTags содержит массив строк с именами network tags.
Установка дополнительных network tags на эфемерных узлах
Необходимо указать параметр additionalNetworkTags для всех GCPInstanceClass в кластере, которым нужны дополнительные network tags.