Требования к сервисной учетной записи

Чтобы использовать провайдер vSphere в платформе “Штурвал”, необходимо иметь созданную учетную запись и сервисные роли в платформе виртуализации с версией VMware vSphere 6.7 update 3 или 7.0 и выше. Создайте ресурсный пул и подготовьте данные учетной записи.

Обратите внимание! Сервисную учетную запись необходимо вводить в формате username@domain.

Для учетной записи провайдера vSphere назначьте перечисленные роли:

  • кастомная роль, с разрешениями сервисной роли №1;
  • системная роль Read only ;
  • при необходимости использования CSI дополнительно назначьте вторую кастомную роль, с разрешениями сервисной роли №2. Является вспомогательной ролью, учетная запись только с одной данной ролью не обеспечит всеми требуемыми разрешениями.

Если требуются отдельные права на CSI, например, когда в кластере не используется провайдер vSphere, создайте новую учетную запись и кастомные роли для работы с vSphere CSI.

Обратите внимание! Для корректного подключения рекомендуется настроить права доступа сервисной учетной записи в соответствии с рекомендациями. При назначении полных прав доступа для сервисной учетной записи у всех Datacenter, к которым есть доступ у сервисной учетки, должен быть Datastore
Схема назначения прав
ОбъектРольPropogation (наследование)Комментарий
vCenterСервисная роль №2НетvCenter, где будут работать виртуальные машины клиентских кластеров. Требуется для корректной работы CSI
DatacenterRead onlyНетВиртуальный датацентр, в котором будут располагаться виртуальные машины клиентских кластеров
ClusterСервисная роль №1НетВиртуальный кластер, в котором будут располагаться виртуальные машины клиентских кластеров
HostRead onlyНетНа всех хостах в кластере, где будут работать виртуальные машины клиентских кластеров. Требуется для корректной работы CSI
Resource poolСервисная роль №1Да (Опционально)Ресурсный пул, в котором будут располагаться виртуальные машины клиентских кластеров
FolderСервисная роль №1ДаПапка, в которой будут располагаться виртуальные машины клиентских кластеров и шаблон, из которого они создаются
DatastoreСервисная роль №1ДаХранилище виртуальных машин, на котором будут располагаться диски виртуальных машин клиентских кластеров
Distributed SwitchRead onlyНетРаспределенный виртуальный коммутатор, в который будут подключаться виртуальные сетевые интерфейсы виртуальных машин клиентских кластеров
Distributed Port GroupСервисная роль №1ДаРаспределенная виртуальная группа портов, в которую будут подключаться виртуальные сетевые интерфейс виртуальных машин клиентских кластеров. Права должны быть в том числе на группу портов, в которую подключен сетевой интерфейс шаблона ВМ
Разрешения для сервисной роли №1HTML Table
РазделРазрешение
DatastoreAllocate space
Browse datastore
Low level file operations
Remove file
Update virtual machine files
Update virtual machine metadata
FolderCreate folder
Delete folder
Move folder
Rename folder
GlobalCancel task
Log event
Set custom attribute
HostLocal operations:
  • Create virtual machine
  • Delete virtual machine
  • Reconfigure virtual machine
NetworkAssign network
ResourceApply recommendation
Assign vApp to resource pool
Assign virtual machine to resource pool
Create resource pool
Migrate powered off virtual machine
Migrate powered on virtual machine
Move resource pool
Query vMotion
Remove resource pool
Scheduled taskCreate tasks
Modify task
Remove task
Run task
Profile-driven storageProfile-driven storage view
TasksCreate task
Update task
vApp ActionsAdd virtual machine
Assign resource pool
Assign vApp
Clone
Create
Delete
Export
Import
Move
Power off
Power on
Pull from URL
Rename
Suspend
Unregister
View OVF environment
vApp application configuration
vApp instance configuration
vApp managedBy configuration
vApp resource configuration
Virtual machineChange Configuration:
  • Acquire disk lease
  • Add existing disk
  • Add new disk
  • Add or remove device
  • Advanced configuration
  • Change CPU count
  • Change Memory
  • Change Settings
  • Change Swapfile placement
  • Change resource
  • Configure Host USB device
  • Configure Raw device
  • Configure managedBy
  • Display connection settings
  • Extend virtual disk
  • Modify device settings
  • Query Fault Tolerance compatibility
  • Query unowned files
  • Reload from path
  • Remove disk
  • Rename
  • Reset guest information
  • Set annotation
  • Toggle disk change tracking
  • Toggle fork parent
  • Upgrade virtual machine compatibility
Edit Inventory:
  • Create from existing
  • Create new
  • Move
  • Register
  • Remove
  • Unregister
Guest operations:
  • Guest operation alias modification
  • Guest operation alias query
  • Guest operation modifications
  • Guest operation program execution
  • Guest operation queries
Interaction:
  • Answer question
  • Backup operation on virtual machine
  • Configure CD media
  • Configure floppy media
  • Connect devices
  • Console interaction
  • Create screenshot
  • Defragment all disks
  • Drag and drop
  • Guest operating system management by VIX API
  • Inject USB HID scan codes
  • Install VMware Tools
  • Pause or Unpause
  • Perform wipe or shrink operations
  • Power off
  • Power on
  • Record session on virtual machine
  • Replay session on virtual machine
  • Reset
  • Resume Fault Tolerance
  • Suspend
  • Suspend Fault Tolerance
  • Suspend to memory
  • Test failover
  • Test restart Secondary VM
  • Turn off Fault Tolerance
  • Turn on Fault Tolerance
Provisioning:
  • Allow disk access
  • Allow file access
  • Allow read-only disk access
  • Allow virtual machine download
  • Allow virtual machine files upload
  • Clone template
  • Clone virtual machine
  • Create template from virtual machine
  • Customize guest
  • Deploy template
  • Mark as template
  • Mark as virtual machine
  • Modify customization specification
  • Promote disks
  • Read customization specifications
Snapshot management:
  • Create snapshot
  • Remove snapshot
  • Rename snapshot
  • Revert to snapshot
Разрешения для сервисной роли №2HTML Table
РазделРазрешение
CNSSearchable
Profile-driven storageProfile-driven storage update
Profile-driven storage view
SessionsView and stop sessions
Validate session

Учетная запись и роли для vSphere CSI

Когда в кластере (не с провайдером vSphere) требуется работа с облачным хранилищем vSphere, рекомендуется создать отдельную учетную запись с необходимыми ролями. Используйте такую учетную запись, например, в кластере с провайдером Shturval v2 при установке vSphere CSI.

Схема назначения прав для работы с vSphere CSI
ОбъектРольPropogation (наследование)Комментарий
DatastoreCNS-DATASTOREНетХранилище виртуальных машин, на котором будут располагаться диски виртуальных машин клиентских кластеров
vCenterCNS-SEARCH-AND-SPBMНетvCenter, где работают виртуальные машины клиентских кластеров
FolderCNS-VMДаПапка, в которой располагаются виртуальные машины клиентских кластеров
DatacenterCNS-HOST-CONFIG-STORAGEНетВиртуальный датацентр, в котором располагаются виртуальные машины клиентских кластеров
ClusterCNS-HOST-CONFIG-STORAGEНетВиртуальный кластер, в котором располагаются виртуальные машины клиентских кластеров
Разрешения для роли CNS-DATASTORE
РазделРазрешение
DatastoreLow level file operations
Разрешения для роли CNS-SEARCH-AND-SPBMHTML Table
РазделРазрешение
CNSSearchable
Profile-driven storageProfile-driven storage view
Разрешения для роли CNS-VMHTML Table
РазделРазрешение
Virtual machineChange Configuration:
  • Add existing disk
  • Add or remove device
  • Add new disk
  • Extend virtual disk
  • Remove disk
Разрешения для роли CNS-HOST-CONFIG-STORAGEHTML Table
РазделРазрешение
HostConfiguration:
  • Storage partition configuration
Пример команд создания ролей
# Роль для чтения, записи, удаления и переименования в хранилище данных
govc role.create CNS-DATASTORE Datastore.FileManagement 

# Роль для просмотра информации о хостах, кластере, томах и VM
govc role.create CNS-SEARCH-AND-SPBM Cns.Searchable StorageProfile.View

# Роль, позволяющая добавлять/удалять виртуальный диск к ВМ, а так же позволяет добавлять или удалять любые устройства, не являющиеся дисками
govc role.create CNS-VM VirtualMachine.Config.AddExistingDisk VirtualMachine.Config.AddRemoveDevice VirtualMachine.Config.AddNewDisk VirtualMachine.Config.DiskExtend VirtualMachine.Config.RemoveDisk

# Роль для управления VMFS и конфигурации iSCSI на хостах
govc role.create CNS-HOST-CONFIG-STORAGE Host.Config.Storage

Обратите внимание! Приведенные роли позволяют разделить доступ в vSphere, т.е. выдать права:

  • на определенный Datastore;
  • на управление VM в конкретной директории k8s;
  • на конфигурацию хостов в нужном кластере.
Пример команд выдачи прав с разделенным доступом
# Выдача прав на Datastore с именем Cluster01-vSAN
govc permissions.set -principal <username>@vsphere.local -propagate=false -role CNS-DATASTORE /Datacenter/datastore/Cluster01-vSAN

# Поиск информации с корня
govc permissions.set -principal <username>@vsphere.local -propagate=false -role CNS-SEARCH-AND-SPBM /

# Выдача прав на управление VM в директории k8s
govc permissions.set -principal <username>@vsphere.local -propagate=true  -role CNS-VM /Datacenter/vm/k8s/

# Выдача прав на конфигурацию хостов в виртуальном кластере Cluster01 и на Datacenter
govc permissions.set -principal <username>@vsphere.local -propagate=false -role CNS-HOST-CONFIG-STORAGE /Datacenter /Datacenter/host/Cluster01

Вы можете не разграничивать права доступа в vSphere. Для этого создайте одну общую роль с требуемыми разрешениями и назначьте ее вашей учетной записи.

Схема назначения прав
ОбъектРольPropogation (наследование)Комментарий
DatastoreSHTURVAL-CSIНетХранилище виртуальных машин, на котором будут располагаться диски виртуальных машин клиентских кластеров
vCenterSHTURVAL-CSIНетvCenter, где работают виртуальные машины клиентских кластеров
FolderSHTURVAL-CSIДаПапка, в которой располагаются виртуальные машины клиентских кластеров
DatacenterSHTURVAL-CSIНетВиртуальный датацентр, в котором располагаются виртуальные машины клиентских кластеров
ClusterSHTURVAL-CSIНетВиртуальный кластер, в котором располагаются виртуальные машины клиентских кластеров
Разрешения для роли SHTURVAL-CSIHTML Table
РазделРазрешение
DatastoreLow level file operations
CNSSearchable
Profile-driven storageProfile-driven storage view
HostConfiguration:
  • Storage partition configuration
Virtual machineChange Configuration:
  • Add existing disk
  • Add or remove device
  • Add new disk
  • Extend virtual disk
  • Remove disk
Пример команды создания общей роли
govc role.create SHTURVAL-CSI Datastore.FileManagement Cns.Searchable StorageProfile.View VirtualMachine.Config.AddExistingDisk VirtualMachine.Config.AddRemoveDevice VirtualMachine.Config.AddNewDisk VirtualMachine.Config.DiskExtend VirtualMachine.Config.RemoveDisk Host.Config.Storage
Пример команды выдачи прав без разграничения
govc permissions.set -principal <username>@vsphere.local -role SHTURVAL-CSI /