Standard
Схема Standard предназначена для размещения кластера внутри инфраструктуры vSphere с возможностью управления ресурсами, сетями и хранилищем.
Особенности:
- Использование vSphere Datacenter в качестве региона (
region); - Использование vSphere Cluster в качестве зоны (
zone); - Поддержка нескольких зон и размещения узлов по зонам;
- Использование различных datastore для дисков и volume’ов;
- Поддержка подключения сетей, включая дополнительную сетевую изоляцию (например, MetalLB + BGP).
Пример конфигурации:
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.AnonymousSystem.ReadSystem.View
|
Базовый доступ к объектам vSphere Inventory, необходимый для работы всех компонентов интеграции Deckhouse с vSphere. |
| Cns | Searchable | Cns.Searchable |
Поиск и сопоставление объектов Container Native Storage при работе CSI-драйвера с томами Kubernetes. |
| Datastore |
Allocate space, Browse datastore, Low level file operations |
Datastore.AllocateSpaceDatastore.BrowseDatastore.FileManagement
|
Выделение дисков при создании виртуальных машин и заказе PersistentVolumes в кластере. |
| Folder |
Create folder, Delete folder, Move folder, Rename folder |
Folder.CreateFolder.DeleteFolder.MoveFolder.Rename
|
Группировка кластера Deckhouse Kubernetes Platform в одном Folder в vSphere Inventory. |
| Global |
Global tag, System tag |
Global.GlobalTagGlobal.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.AttachTagInventoryService.Tagging.ObjectAttachableInventoryService.Tagging.CreateTagInventoryService.Tagging.CreateCategoryInventoryService.Tagging.DeleteTagInventoryService.Tagging.DeleteCategoryInventoryService.Tagging.EditTagInventoryService.Tagging.EditCategoryInventoryService.Tagging.ModifyUsedByForCategoryInventoryService.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.AssignVMToPoolResource.CreatePoolResource.DeletePoolResource.EditPoolResource.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.ApplicationConfigVApp.AssignResourcePoolVApp.AssignVMVApp.CreateVApp.DeleteVApp.ExtractOvfEnvironmentVApp.ImportVApp.InstanceConfigVApp.PowerOffVApp.PowerOnVApp.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.AddExistingDiskVirtualMachine.Config.AddNewDiskVirtualMachine.Config.AddRemoveDeviceVirtualMachine.Config.AdvancedConfigVirtualMachine.Config.AnnotationVirtualMachine.Config.CPUCountVirtualMachine.Config.ChangeTrackingVirtualMachine.Config.DiskExtendVirtualMachine.Config.DiskLeaseVirtualMachine.Config.EditDeviceVirtualMachine.Config.ManagedByVirtualMachine.Config.MemoryVirtualMachine.Config.QueryUnownedFilesVirtualMachine.Config.RawDeviceVirtualMachine.Config.ReloadFromPathVirtualMachine.Config.RemoveDiskVirtualMachine.Config.RenameVirtualMachine.Config.ResetGuestInfoVirtualMachine.Config.ResourceVirtualMachine.Config.SettingsVirtualMachine.Config.SwapPlacementVirtualMachine.Config.UpgradeVirtualHardware
|
Управление жизненным циклом виртуальных машин кластера Deckhouse Kubernetes Platform. |
| Virtual Machine > Edit Inventory |
Create new, Create from existing, Remove, Move |
VirtualMachine.Inventory.CreateVirtualMachine.Inventory.CreateFromExistingVirtualMachine.Inventory.DeleteVirtualMachine.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.AnswerQuestionVirtualMachine.Interact.DeviceConnectionVirtualMachine.Interact.GuestControlVirtualMachine.Interact.PowerOffVirtualMachine.Interact.PowerOnVirtualMachine.Interact.ResetVirtualMachine.Interact.SetCDMediaVirtualMachine.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.CloneVirtualMachine.Provisioning.CustomizeVirtualMachine.Provisioning.DeployTemplateVirtualMachine.Provisioning.GetVmFilesVirtualMachine.Provisioning.PutVmFilesVirtualMachine.Provisioning.ReadCustSpecs
|
Клонирование шаблонов виртуальных машин, их настройка и развертывание при создании узлов кластера Deckhouse Kubernetes Platform. |
| Virtual Machine > Snapshot Management |
Create snapshot, Remove Snapshot, Rename Snapshot |
VirtualMachine.State.CreateSnapshotVirtualMachine.State.RemoveSnapshotVirtualMachine.State.RenameSnapshot
|
Управление снимками виртуальных машин и томов в сценариях, где эта функциональность используется компонентами платформы. |