Standard

Схема размещения Standard

Пример конфигурации схемы размещения:

---
apiVersion: deckhouse.io/v1alpha1
kind: VCDClusterConfiguration
layout: Standard
provider:
  server: '<SERVER>'
  username: '<USERNAME>'
  password: '<PASSWORD>'
  insecure: true
sshPublicKey: ssh-rsa AAAABBBBB
organization: deckhouse
virtualDataCenter: MSK-1
virtualApplicationName: deckhouse
internalNetworkCIDR: 192.168.199.0/24
mainNetwork: internal
masterNodeGroup:
  replicas: 1
  instanceClass:
    storageProfile: "Fast vHDD"
    sizingPolicy: 4cpu8mem
    template: "catalog/Ubuntu 22.04 Server"
    mainNetworkIPAddresses:
    - 192.168.199.2

WithNAT

Схема размещения WithNAT

При использовании данной схемы размещения необходимо уточнить у администратора тип платформы сетевой виртуализации и указать его в параметре edgeGateway.type. Поддерживаются два варианта: NSX-T и NSX-V.

Для обеспечения административного доступа к узлам кластера разворачивается бастион. Параметры для его настройки описываются в секции bastion.

Если Edge Gateway работает на базе NSX-T, в созданной сети для узлов автоматически активируется DHCP-сервер. Он будет выделять IP-адреса, начиная с 30-го адреса в подсети и до предпоследнего (перед broadcast-адресом). Начальный адрес DHCP-пула можно изменить с помощью параметра internalNetworkDHCPPoolStartAddress.

Если используется NSX-V, DHCP необходимо настроить вручную. В противном случае узлы, ожидающие получение IP-адреса по DHCP, не смогут его получить.

Не рекомендуется использовать динамическую адресацию для первого master-узла совместно с NSX-V.

Схема размещения предполагает автоматическое создание следующих правил NAT:

  • SNAT — трансляция адресов внутренней сети узлов во внешний адрес, указанный в параметре edgeGateway.externalIP.
  • DNAT — трансляция внешнего адреса и порта, заданных в параметрах edgeGateway.externalIP и edgeGateway.externalPort, на внутренний IP-адрес бастиона по порту 22 (протокол TCP) для обеспечения административного доступа по SSH.

Если Edge Gateway обеспечивается средствами NSX-V, то для построения правил необходимо указать имя и тип сети, к которым правило будет привязано в свойствах edgeGateway.NSX-V.externalNetworkName и edgeGateway.NSX-V.externalNetworkType соответственно. Как правило, это сеть, подключённая к Edge Gateway в разделе Gateway Interfaces и имеющая внешний IP-адрес.

Дополнительно возможно создание правил брандмауэра отдельным свойством createDefaultFirewallRules.

Если Edge Gateway обеспечивается средствами NSX-T, то существующие в Edge Gateway правила будут перезаписаны. Предполагается, что использование данной опции подразумевает размещение одного кластера на Edge Gateway.

Будут созданы следующие правила:

  • Разрешение любого исходящего трафика;
  • Разрешение входящего трафика по протоколу TCP и 22 порту для соединения с узлами кластера по SSH;
  • Разрешение любого входящего трафика по протоколу ICMP;
  • Разрешение входящего трафика по протоколам TCP и UDP и портам 30000–32767 для использования NodePort.

Пример конфигурации схемы размещения с использованием NSX-T:

---
apiVersion: deckhouse.io/v1alpha1
kind: VCDClusterConfiguration
layout: WithNAT
provider:
  server: '<SERVER>'
  username: '<USERNAME>'
  password: '<PASSWORD>'
  insecure: true
sshPublicKey: ssh-rsa AAAABBBBB
organization: deckhouse
virtualDataCenter: MSK-1
virtualApplicationName: deckhouse
internalNetworkCIDR: 192.168.199.0/24
internalNetworkDNSServers:
  - 77.88.8.8
  - 1.1.1.1
mainNetwork: internal
bastion:
  instanceClass:
    rootDiskSizeGb: 30
    sizingPolicy: 2cpu1mem
    template: "catalog/Ubuntu 22.04 Server"
    storageProfile: Fast vHDD
    mainNetworkIPAddress: 10.1.4.10
edgeGateway:
  name: "edge-gateway-01"
  type: "NSX-T"
  externalIP: 10.0.0.1
  externalPort: 10022
createDefaultFirewallRules: false
masterNodeGroup:
  replicas: 1
  instanceClass:
    storageProfile: "Fast vHDD"
    sizingPolicy: 4cpu8mem
    template: "catalog/Ubuntu 22.04 Server"
    mainNetworkIPAddresses:
    - 192.168.199.2

Пример конфигурации схемы размещения с использованием NSX-V:

---
apiVersion: deckhouse.io/v1alpha1
kind: VCDClusterConfiguration
layout: WithNAT
provider:
  server: '<SERVER>'
  username: '<USERNAME>'
  password: '<PASSWORD>'
  insecure: true
sshPublicKey: ssh-rsa AAAABBBBB
organization: deckhouse
virtualDataCenter: MSK-1
virtualApplicationName: deckhouse
internalNetworkCIDR: 192.168.199.0/24
internalNetworkDNSServers:
  - 77.88.8.8
  - 1.1.1.1
mainNetwork: internal
bastion:
  instanceClass:
    rootDiskSizeGb: 30
    sizingPolicy: 2cpu1mem
    template: "catalog/Ubuntu 22.04 Server"
    storageProfile: Fast vHDD
    mainNetworkIPAddress: 10.1.4.10
edgeGateway:
  name: "edge-gateway-01"
  type: "NSX-V"
  externalIP: 10.0.0.1
  externalPort: 10022
  NSX-V:
    externalNetworkName: external
    externalNetworkType: ext
createDefaultFirewallRules: true
masterNodeGroup:
  replicas: 1
  instanceClass:
    storageProfile: "Fast vHDD"
    sizingPolicy: 4cpu8mem
    template: "catalog/Ubuntu 22.04 Server"
    mainNetworkIPAddresses:
    - 192.168.199.2