Standard

Схема Standard предназначена для размещения кластера внутри инфраструктуры vSphere с возможностью управления ресурсами, сетями и хранилищем.

Особенности:

  • Использование vSphere Datacenter в качестве региона (region);
  • Использование vSphere Cluster в качестве зоны (zone);
  • Поддержка нескольких зон и размещения узлов по зонам;
  • Использование различных datastore для дисков и volume’ов;
  • Поддержка подключения сетей, включая дополнительную сетевую изоляцию (например, MetalLB + BGP).

resources

Пример конфигурации:

apiVersion: deckhouse.io/v1
kind: VsphereClusterConfiguration
layout: Standard
provider:
  server: '<SERVER>'
  username: '<USERNAME>'
  password: '<PASSWORD>'
  insecure: true
vmFolderPath: dev
regionTagCategory: k8s-region
zoneTagCategory: k8s-zone
region: X1
internalNetworkCIDR: 192.168.199.0/24
masterNodeGroup:
  replicas: 1
  zones:
    - ru-central1-a
    - ru-central1-b
  instanceClass:
    numCPUs: 4
    memory: 8192
    template: dev/golden_image
    datastore: dev/lun_1
    mainNetwork: net3-k8s
nodeGroups:
  - name: khm
    replicas: 1
    zones:
      - ru-central1-a
    instanceClass:
      numCPUs: 4
      memory: 8192
      template: dev/golden_image
      datastore: dev/lun_1
      mainNetwork: net3-k8s
sshPublicKey: "<SSH_PUBLIC_KEY>"
zones:
  - ru-central1-a
  - ru-central1-b

Обязательные параметры ресурса VsphereClusterConfiguration:

  • region — тег, присвоенный объекту Datacenter;
  • zoneTagCategory и regionTagCategory — категории тегов, по которым распознаются регионы и зоны;
  • internalNetworkCIDR — подсеть для назначения внутренних IP-адресов;
  • vmFolderPath — путь до папки, в которой будут размещаться виртуальные машины кластера;
  • sshPublicKey — публичный SSH-ключ для доступа к узлам;
  • zones — список зон, доступных для размещения узлов.

Все узлы, размещённые в разных зонах, должны иметь доступ к общим datastore с аналогичными тегами зоны.

Список необходимых привилегий

Подробнее о том, как создать и назначить роль пользователю можно ознакомиться в разделах«Настройка через vSphere Client» и «Настройка через govc».

Детальный список привилегий, необходимых для работы Deckhouse Kubernetes Platform в vSphere:

Категория привилегий в UI Список привилегий в UI Список привилегий в API Назначение привилегий в Deckhouse
— (назначаются по умолчанию при создании роли) System.Anonymous
System.Read
System.View
Базовый доступ к объектам vSphere Inventory, необходимый для работы всех компонентов интеграции Deckhouse с vSphere.
Cns Searchable Cns.Searchable Поиск и сопоставление объектов Container Native Storage при работе CSI-драйвера с томами Kubernetes.
Datastore Allocate space,
Browse datastore,
Low level file operations
Datastore.AllocateSpace
Datastore.Browse
Datastore.FileManagement
Выделение дисков при создании виртуальных машин и заказе PersistentVolumes в кластере.
Folder Create folder,
Delete folder,
Move folder,
Rename folder
Folder.Create
Folder.Delete
Folder.Move
Folder.Rename
Группировка кластера Deckhouse Kubernetes Platform в одном Folder в vSphere Inventory.
Global Global tag,
System tag
Global.GlobalTag
Global.SystemTag
Доступ к глобальным и системным тегам, используемым Deckhouse Kubernetes Platform при работе с объектами vSphere.
vSphere Tagging Assign or Unassign vSphere Tag,
Assign or Unassign vSphere Tag on Object,
Create vSphere Tag,
Create vSphere Tag Category,
Delete vSphere Tag,
Delete vSphere Tag Category,
Edit vSphere Tag,
Edit vSphere Tag Category,
Modify UsedBy Field for Category,
Modify UsedBy Field for Tag
InventoryService.Tagging.AttachTag
InventoryService.Tagging.ObjectAttachable
InventoryService.Tagging.CreateTag
InventoryService.Tagging.CreateCategory
InventoryService.Tagging.DeleteTag
InventoryService.Tagging.DeleteCategory
InventoryService.Tagging.EditTag
InventoryService.Tagging.EditCategory
InventoryService.Tagging.ModifyUsedByForCategory
InventoryService.Tagging.ModifyUsedByForTag
Deckhouse Kubernetes Platform использует теги для определения доступных ему объектов Datacenter, Cluster и Datastore, а также для определения виртуальных машин, находящихся под его управлением.
Network Assign network Network.Assign Подключение сетей и port group к виртуальным машинам кластера Deckhouse Kubernetes Platform.
Resource Assign virtual machine to resource pool,
Create resource pool,
Modify resource pool,
Remove resource pool,
Rename resource pool
Resource.AssignVMToPool
Resource.CreatePool
Resource.DeletePool
Resource.EditPool
Resource.RenamePool
Размещение виртуальных машин кластера Deckhouse Kubernetes Platform в целевом пуле ресурсов и управление этим пулом.
VM Storage Policies (Profile-driven Storage Privileges в vSphere 7) View VM storage policies (Profile-driven storage view в vSphere 7) StorageProfile.View Просмотр политик хранения, используемых при создании виртуальных машин и динамическом заказе томов в кластере.
vApp Add virtual machine,
Assign resource pool,
Create,
Delete,
Import,
Power Off,
Power On,
View OVF Environment,
vApp application configuration,
vApp instance configuration,
vApp resource configuration
VApp.ApplicationConfig
VApp.AssignResourcePool
VApp.AssignVM
VApp.Create
VApp.Delete
VApp.ExtractOvfEnvironment
VApp.Import
VApp.InstanceConfig
VApp.PowerOff
VApp.PowerOn
VApp.ResourceConfig
Управление операциями, связанными с развертыванием и конфигурацией vApp и OVF-шаблонов, используемых при создании виртуальных машин.
Virtual Machine > Change Configuration Add existing disk,
Add new disk,
Add or remove device,
Advanced configuration,
Set annotation,
Change CPU count,
Toggle disk change tracking,
Extend virtual disk,
Acquire disk lease,
Modify device settings,
Configure managedBy,
Change Memory,
Query unowned files,
Configure Raw device,
Reload from path,
Remove disk,
Rename,
Reset guest information,
Change resource,
Change Settings,
Change Swapfile placement,
Upgrade virtual machine compatibility
VirtualMachine.Config.AddExistingDisk
VirtualMachine.Config.AddNewDisk
VirtualMachine.Config.AddRemoveDevice
VirtualMachine.Config.AdvancedConfig
VirtualMachine.Config.Annotation
VirtualMachine.Config.CPUCount
VirtualMachine.Config.ChangeTracking
VirtualMachine.Config.DiskExtend
VirtualMachine.Config.DiskLease
VirtualMachine.Config.EditDevice
VirtualMachine.Config.ManagedBy
VirtualMachine.Config.Memory
VirtualMachine.Config.QueryUnownedFiles
VirtualMachine.Config.RawDevice
VirtualMachine.Config.ReloadFromPath
VirtualMachine.Config.RemoveDisk
VirtualMachine.Config.Rename
VirtualMachine.Config.ResetGuestInfo
VirtualMachine.Config.Resource
VirtualMachine.Config.Settings
VirtualMachine.Config.SwapPlacement
VirtualMachine.Config.UpgradeVirtualHardware
Управление жизненным циклом виртуальных машин кластера Deckhouse Kubernetes Platform.
Virtual Machine > Edit Inventory Create new,
Create from existing,
Remove,
Move
VirtualMachine.Inventory.Create
VirtualMachine.Inventory.CreateFromExisting
VirtualMachine.Inventory.Delete
VirtualMachine.Inventory.Move
Создание, удаление и перемещение виртуальных машин кластера Deckhouse Kubernetes Platform в инвентаре vSphere.
Virtual Machine > Guest Operations Guest Operation Queries VirtualMachine.GuestOperations.Query Получение информации из гостевой операционной системы виртуальных машин.
Virtual Machine > Interaction Answer question,
Device connection,
Guest operating system management by VIX API,
Power Off,
Power On,
Reset,
Configure CD media,
Install VMware Tools
VirtualMachine.Interact.AnswerQuestion
VirtualMachine.Interact.DeviceConnection
VirtualMachine.Interact.GuestControl
VirtualMachine.Interact.PowerOff
VirtualMachine.Interact.PowerOn
VirtualMachine.Interact.Reset
VirtualMachine.Interact.SetCDMedia
VirtualMachine.Interact.ToolsInstall
Управление состоянием виртуальных машин, подключением устройств и взаимодействием с гостевой операционной системой.
Virtual Machine > Provisioning Clone virtual machine,
Customize guest,
Deploy template,
Allow virtual machine download,
Allow virtual machine files upload,
Read customization specifications
VirtualMachine.Provisioning.Clone
VirtualMachine.Provisioning.Customize
VirtualMachine.Provisioning.DeployTemplate
VirtualMachine.Provisioning.GetVmFiles
VirtualMachine.Provisioning.PutVmFiles
VirtualMachine.Provisioning.ReadCustSpecs
Клонирование шаблонов виртуальных машин, их настройка и развертывание при создании узлов кластера Deckhouse Kubernetes Platform.
Virtual Machine > Snapshot Management Create snapshot,
Remove Snapshot,
Rename Snapshot
VirtualMachine.State.CreateSnapshot
VirtualMachine.State.RemoveSnapshot
VirtualMachine.State.RenameSnapshot
Управление снимками виртуальных машин и томов в сценариях, где эта функциональность используется компонентами платформы.

Дополнительные ресурсы