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 с аналогичными тегами зоны.
Список необходимых привилегий
О том, как создать и назначить роль пользователю, читайте в документации.
Детальный список привилегий, необходимых для работы Deckhouse Kubernetes Platform в vSphere:
| Список привилегий | Назначение |
|---|---|
Cns.SearchableStorageProfile.ViewDatastore.AllocateSpaceDatastore.BrowseDatastore.FileManagement |
Выделение дисков при создании виртуальных машин и заказе PersistentVolumes в кластере. |
Global.GlobalTagGlobal.SystemTagInventoryService.Tagging.AttachTagInventoryService.Tagging.CreateCategoryInventoryService.Tagging.CreateTagInventoryService.Tagging.DeleteCategoryInventoryService.Tagging.DeleteTagInventoryService.Tagging.EditCategoryInventoryService.Tagging.EditTagInventoryService.Tagging.ModifyUsedByForCategoryInventoryService.Tagging.ModifyUsedByForTagInventoryService.Tagging.ObjectAttachable |
Deckhouse Kubernetes Platform использует теги для определения доступных ему объектов Datacenter, Cluster и Datastore, а также для определения виртуальных машин, находящихся под его управлением. |
Folder.CreateFolder.DeleteFolder.MoveFolder.Rename |
Группировка кластера Deckhouse Kubernetes Platform в одном Folder в vSphere Inventory. |
Network.AssignResource.ApplyRecommendationResource.AssignVAppToPoolResource.AssignVMToPoolResource.ColdMigrateResource.CreatePoolResource.DeletePoolResource.EditPoolResource.HotMigrateResource.MovePoolResource.QueryVMotionResource.RenamePoolVirtualMachine.Config.AddExistingDiskVirtualMachine.Config.AddNewDiskVirtualMachine.Config.AddRemoveDeviceVirtualMachine.Config.AdvancedConfigVirtualMachine.Config.AnnotationVirtualMachine.Config.ChangeTrackingVirtualMachine.Config.CPUCountVirtualMachine.Config.DiskExtendVirtualMachine.Config.DiskLeaseVirtualMachine.Config.EditDeviceVirtualMachine.Config.HostUSBDeviceVirtualMachine.Config.ManagedByVirtualMachine.Config.MemoryVirtualMachine.Config.MksControlVirtualMachine.Config.QueryFTCompatibilityVirtualMachine.Config.QueryUnownedFilesVirtualMachine.Config.RawDeviceVirtualMachine.Config.ReloadFromPathVirtualMachine.Config.RemoveDiskVirtualMachine.Config.RenameVirtualMachine.Config.ResetGuestInfoVirtualMachine.Config.ResourceVirtualMachine.Config.SettingsVirtualMachine.Config.SwapPlacementVirtualMachine.Config.ToggleForkParentVirtualMachine.Config.UpgradeVirtualHardwareVirtualMachine.GuestOperations.ExecuteVirtualMachine.GuestOperations.ModifyVirtualMachine.GuestOperations.ModifyAliasesVirtualMachine.GuestOperations.QueryVirtualMachine.GuestOperations.QueryAliasesVirtualMachine.Hbr.ConfigureReplicationVirtualMachine.Hbr.MonitorReplicationVirtualMachine.Hbr.ReplicaManagementVirtualMachine.Interact.AnswerQuestionVirtualMachine.Interact.BackupVirtualMachine.Interact.ConsoleInteractVirtualMachine.Interact.CreateScreenshotVirtualMachine.Interact.CreateSecondaryVirtualMachine.Interact.DefragmentAllDisksVirtualMachine.Interact.DeviceConnectionVirtualMachine.Interact.DisableSecondaryVirtualMachine.Interact.DnDVirtualMachine.Interact.EnableSecondaryVirtualMachine.Interact.GuestControlVirtualMachine.Interact.MakePrimaryVirtualMachine.Interact.PauseVirtualMachine.Interact.PowerOffVirtualMachine.Interact.PowerOnVirtualMachine.Interact.PutUsbScanCodesVirtualMachine.Interact.RecordVirtualMachine.Interact.ReplayVirtualMachine.Interact.ResetVirtualMachine.Interact.SESparseMaintenanceVirtualMachine.Interact.SetCDMediaVirtualMachine.Interact.SetFloppyMediaVirtualMachine.Interact.SuspendVirtualMachine.Interact.SuspendToMemoryVirtualMachine.Interact.TerminateFaultTolerantVMVirtualMachine.Interact.ToolsInstallVirtualMachine.Interact.TurnOffFaultToleranceVirtualMachine.Inventory.CreateVirtualMachine.Inventory.CreateFromExistingVirtualMachine.Inventory.DeleteVirtualMachine.Inventory.MoveVirtualMachine.Inventory.RegisterVirtualMachine.Inventory.UnregisterVirtualMachine.Namespace.EventVirtualMachine.Namespace.EventNotifyVirtualMachine.Namespace.ManagementVirtualMachine.Namespace.ModifyContentVirtualMachine.Namespace.QueryVirtualMachine.Namespace.ReadContentVirtualMachine.Provisioning.CloneVirtualMachine.Provisioning.CloneTemplateVirtualMachine.Provisioning.CreateTemplateFromVMVirtualMachine.Provisioning.CustomizeVirtualMachine.Provisioning.DeployTemplateVirtualMachine.Provisioning.DiskRandomAccessVirtualMachine.Provisioning.DiskRandomReadVirtualMachine.Provisioning.FileRandomAccessVirtualMachine.Provisioning.GetVmFilesVirtualMachine.Provisioning.MarkAsTemplateVirtualMachine.Provisioning.MarkAsVMVirtualMachine.Provisioning.ModifyCustSpecsVirtualMachine.Provisioning.PromoteDisksVirtualMachine.Provisioning.PutVmFilesVirtualMachine.Provisioning.ReadCustSpecsVirtualMachine.State.CreateSnapshotVirtualMachine.State.RemoveSnapshotVirtualMachine.State.RenameSnapshotVirtualMachine.State.RevertToSnapshot |
Управление жизненным циклом виртуальных машин кластера Deckhouse Kubernetes Platform. |