Standard
The Standard layout is intended for deploying a cluster within the vSphere infrastructure with full control over resources, networking, and storage.
Key features:
- Uses a vSphere Datacenter as a
region. - Uses a vSphere Cluster as a
zone. - Supports multiple zones and node placements across zones.
- Supports using different datastores for disks and volumes.
- Supports network connectivity including additional network isolation (for example, MetalLB + BGP).
Example configuration:
apiVersion: deckhouse.io/v1
kind: VsphereClusterConfiguration
layout: Standard
provider:
server: '<SERVER>'
username: '<USERNAME>'
password: '<PASSWORD>'
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
Required parameters:
region: Tag assigned to the Datacenter object.zoneTagCategoryandregionTagCategory: Tag categories used to identify regions and zones.internalNetworkCIDR: Subnet for assigning internal IP addresses.vmFolderPath: Path to the folder where cluster virtual machines will be placed.sshPublicKey: Public SSH key used to access the nodes.zones: List of zones available for node placement.
All nodes placed in different zones must have access to shared datastores with matching zone tags.
List of required privileges
Read the documentation on how to create and assign a role to a user.
A detailed list of privileges required for Deckhouse Kubernetes Platform to work in vSphere:
| List of privileges | Purpose |
|---|---|
Cns.SearchableStorageProfile.ViewDatastore.AllocateSpaceDatastore.BrowseDatastore.FileManagement |
To provision disks when creating virtual machines and ordering PersistentVolumes in a cluster. |
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 uses tags to identify the Datacenter, Cluster and Datastore objects available to it, as well as, to identify the virtual machines under its control. |
Folder.CreateFolder.DeleteFolder.MoveFolder.Rename |
To group a Deckhouse Kubernetes Platform cluster in a single Folder in 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 |
To manage the virtual machines lifecycle in a Deckhouse Kubernetes Platform cluster. |