From 87be13f4f2f9b54144b442955546ecf100abd1e4 Mon Sep 17 00:00:00 2001 From: Lenny Chen <55669665+lennessyy@users.noreply.github.com> Date: Tue, 23 Jul 2024 09:42:24 -0700 Subject: [PATCH] docs: VMO refactor (#3040) * docs: organize vmo structure * docs: fix broken links * fix redirect issue * docs: fix broken link * docs: fix broken link * docs: fix broken link * docs: start refactoring VMO pages * docs: refactor create and manage VMs * Update the VMO index page and document its architecture (#3073) * docs: Update the VMO index page * docs: Document the VMO architecture (WIP) * docs: Finish the VMO arch draft and update the higl-level topic structure * chore: Fix formatting * Optimised images with calibre/image-actions * Optimised images with calibre/image-actions * chore: Fix typos flagged by Vale --------- Co-authored-by: vault-token-factory-spectrocloud[bot] <133815545+vault-token-factory-spectrocloud[bot]@users.noreply.github.com> * docs: progress on vmo * docs: document options in update configurations * docs: edit prerequisites * docs: Update the VMO architecture, add the environment setup topic, other refactoring work * Optimised images with calibre/image-actions * docs: fix broken link * Optimised images with calibre/image-actions * docs: inclusive language * docs: fix ablism terms * docs: address review comments * Apply suggestions from code review Co-authored-by: Karl Cardenas <29551334+karl-cardenas-coding@users.noreply.github.com> * docs: clarify cpu specifications * docs: webp conversion * docs: minor edit * Optimised images with calibre/image-actions * Optimised images with calibre/image-actions * docs: fix broken admonition --------- Co-authored-by: Lenny Chen Co-authored-by: Yuliia Horbenko <31223054+yuliiiah@users.noreply.github.com> Co-authored-by: vault-token-factory-spectrocloud[bot] <133815545+vault-token-factory-spectrocloud[bot]@users.noreply.github.com> Co-authored-by: Yuliia Horbenko Co-authored-by: Karl Cardenas <29551334+karl-cardenas-coding@users.noreply.github.com> --- .../cluster-management/palette-webctl.md | 6 +- .../vm-management/architecture.md | 90 +++++++++ .../create-manage-vm/_category_.json | 2 +- .../advanced-topics/_category_.json | 3 + .../access-cluster-with-virtctl.md | 4 +- .../advanced-topics/advanced-topics.md | 23 +++ .../create-disk-templates.md | 18 +- .../create-vm-template.md | 0 .../vm-oversubscription.md | 54 ++++-- .../create-manage-vm/clone-vm.md | 56 ++++++ .../create-manage-vm/create-manage-vm.md | 44 ++--- .../deploy-vm-from-template.md | 25 ++- .../enable-cpu-hotplug.md | 2 +- .../migrate-vm-to-different-node.md | 66 +++++-- .../standard-vm-operations/_category_.json | 3 - .../standard-vm-operations/clone-vm.md | 43 ----- .../standard-vm-operations.md | 62 ------ .../update-vm-configuration.md | 93 --------- .../take-snapshot-of-vm.md | 4 +- .../update-vm-configuration.md | 112 +++++++++++ .../create-vmo-profile.md | 29 +-- .../vm-management/environment-setup.md | 180 ++++++++++++++++++ .../vm-management/rbac/_category_.json | 3 + .../add-roles-and-role-bindings.md | 17 +- .../configure_OIDC.md | 3 +- docs/docs-content/vm-management/rbac/rbac.md | 22 +++ .../{ => rbac}/vm-roles-permissions.md | 6 +- .../vm-management/vm-management.md | 116 +++-------- .../vm-packs-profiles/_category_.json | 3 - .../vm-packs-profiles/vm-packs-profiles.md | 75 -------- redirects.js | 6 +- .../images/docs_vm-mangement_vmo-diagram.webp | Bin 52042 -> 0 bytes ...agement_architecture_vmo-architecture.webp | Bin 0 -> 120760 bytes ...-vm_enable-cpu-hotplug_vm-yaml-editor.webp | Bin 0 -> 46718 bytes .../docs/images/vm-mangement_vmo-diagram.webp | Bin 0 -> 27064 bytes styleguide/spectro-cloud-style-guide.md | 4 +- 36 files changed, 682 insertions(+), 492 deletions(-) create mode 100644 docs/docs-content/vm-management/architecture.md create mode 100644 docs/docs-content/vm-management/create-manage-vm/advanced-topics/_category_.json rename docs/docs-content/vm-management/create-manage-vm/{ => advanced-topics}/access-cluster-with-virtctl.md (96%) create mode 100644 docs/docs-content/vm-management/create-manage-vm/advanced-topics/advanced-topics.md rename docs/docs-content/vm-management/create-manage-vm/{ => advanced-topics}/create-disk-templates.md (93%) rename docs/docs-content/vm-management/create-manage-vm/{ => advanced-topics}/create-vm-template.md (100%) rename docs/docs-content/vm-management/create-manage-vm/{ => advanced-topics}/vm-oversubscription.md (59%) create mode 100644 docs/docs-content/vm-management/create-manage-vm/clone-vm.md rename docs/docs-content/vm-management/create-manage-vm/{standard-vm-operations => }/deploy-vm-from-template.md (69%) rename docs/docs-content/vm-management/create-manage-vm/{standard-vm-operations => }/enable-cpu-hotplug.md (97%) rename docs/docs-content/vm-management/create-manage-vm/{standard-vm-operations => }/migrate-vm-to-different-node.md (84%) delete mode 100644 docs/docs-content/vm-management/create-manage-vm/standard-vm-operations/_category_.json delete mode 100644 docs/docs-content/vm-management/create-manage-vm/standard-vm-operations/clone-vm.md delete mode 100644 docs/docs-content/vm-management/create-manage-vm/standard-vm-operations/standard-vm-operations.md delete mode 100644 docs/docs-content/vm-management/create-manage-vm/standard-vm-operations/update-vm-configuration.md rename docs/docs-content/vm-management/create-manage-vm/{standard-vm-operations => }/take-snapshot-of-vm.md (96%) create mode 100644 docs/docs-content/vm-management/create-manage-vm/update-vm-configuration.md rename docs/docs-content/vm-management/{vm-packs-profiles => }/create-vmo-profile.md (85%) create mode 100644 docs/docs-content/vm-management/environment-setup.md create mode 100644 docs/docs-content/vm-management/rbac/_category_.json rename docs/docs-content/vm-management/{vm-packs-profiles => rbac}/add-roles-and-role-bindings.md (80%) rename docs/docs-content/vm-management/{vm-packs-profiles => rbac}/configure_OIDC.md (93%) create mode 100644 docs/docs-content/vm-management/rbac/rbac.md rename docs/docs-content/vm-management/{ => rbac}/vm-roles-permissions.md (93%) delete mode 100644 docs/docs-content/vm-management/vm-packs-profiles/_category_.json delete mode 100644 docs/docs-content/vm-management/vm-packs-profiles/vm-packs-profiles.md delete mode 100644 static/assets/docs/images/docs_vm-mangement_vmo-diagram.webp create mode 100644 static/assets/docs/images/vm-management_architecture_vmo-architecture.webp create mode 100644 static/assets/docs/images/vm-management_create-manage-vm_enable-cpu-hotplug_vm-yaml-editor.webp create mode 100644 static/assets/docs/images/vm-mangement_vmo-diagram.webp diff --git a/docs/docs-content/clusters/cluster-management/palette-webctl.md b/docs/docs-content/clusters/cluster-management/palette-webctl.md index e7be28b8b6..a1722d37c1 100644 --- a/docs/docs-content/clusters/cluster-management/palette-webctl.md +++ b/docs/docs-content/clusters/cluster-management/palette-webctl.md @@ -19,9 +19,9 @@ Use the following steps to connect to your host cluster with the kubectl CLI. If you are using Palette Virtual Machine (VM) Management, you can find steps on how to connect to your virtual machines with the [virtctl CLI](https://kubevirt.io/user-guide/user_workloads/virtctl_client_tool/) in the -[Access VM Cluster with virtctl](../../vm-management/create-manage-vm/access-cluster-with-virtctl.md) guide. The virtctl -CLI facilitates some of the VM operations you will perform, such as copying, pasting, or transferring files to and from -a virtual machine using Secure Copy Protocol (SCP). +[Access VM Cluster with virtctl](../../vm-management/create-manage-vm/advanced-topics/access-cluster-with-virtctl.md) +guide. The virtctl CLI facilitates some of the VM operations you will perform, such as copying, pasting, or transferring +files to and from a virtual machine using Secure Copy Protocol (SCP). ::: diff --git a/docs/docs-content/vm-management/architecture.md b/docs/docs-content/vm-management/architecture.md new file mode 100644 index 0000000000..bd04b1d96c --- /dev/null +++ b/docs/docs-content/vm-management/architecture.md @@ -0,0 +1,90 @@ +--- +sidebar_label: "Architecture" +title: "Architecture" +description: "Learn about Palette VMO pack and the architecture behind it." +hide_table_of_contents: false +sidebar_position: 0 +tags: ["vmo", "architecture"] +--- + +The Palette Virtual Machine Orchestrator (VMO) pack consolidates all components that you need to deploy and manage +Virtual Machines (VMs) alongside containers in a Kubernetes host cluster. You can deploy VMO as an +[add-on cluster profile](../profiles/cluster-profiles/create-cluster-profiles/create-addon-profile/create-addon-profile.md) +on top of an existing data center or edge cluster. + +![Diagram that explains the architecture behind Palette VMO.](/vm-management_architecture_vmo-architecture.webp) + +For more detailed information about the technical architecture of VMO, refer to +[Palette VMO Reference Architecture](https://www.spectrocloud.com/resources/whitepaper/vmo-architecture-pdf). + +## Palette VMO Components + +By default, Palette VMO includes the following components: + +- **Descheduler**. Enables VM live migration to different nodes in the node pool when the original node is in + maintenance mode. + +- **Snapshot Controller**. Enables you to create VM snapshots. This component is automatically installed when you + initiate or schedule cluster backups. + + :::info + + Palette installs a snapshot controller into every cluster where backups are scheduled or have been created on-demand + in the past. To prevent resource conflicts, you can disable the VMO snapshot controller in the pack YAML + configuration. + + ```yaml + charts: + virtual-machine-orchestrator: + snapshot-controller: + enabled: false + ``` + + ::: + +- **Spectro VM Dashboard**. Enables you to create, manage, and monitor VMs from Palette. The dashboard becomes available + once the VMO pack is successfully deployed as part of your cluster profile. + +- **KubeVirt**. This open-source solution enables you to create and manage VMs within Kubernetes clusters. KubeVirt + extends Kubernetes with additional virtualization resource types using Kubernetes Custom Resource Definitions (CRD) + API. + + With KubeVirt, you can use the Kubernetes API to manage VM resources in the same way you would manage standard + Kubernetes resources. + + :::tip + + Palette VMO is pre-configured to use a number of KubeVirt feature gates out of the box, and you can configure + additional feature gates as necessary. Refer to the [Feature Gates](#feature-gates) section for more information. + + ::: + +- **KubeVirt CDI**. Provides persistent storage for Kubernetes clusters and enables the use of Persistent Volume Claims + (PVCs) as disks for KubeVirt VMs. + +- **Volume Snapshot Controller**. Watches VolumeSnapshot CRD objects and manages the creation and deletion of volume + snapshots. A snapshot represents a point-in-time copy of a volume. + +- **Multus CNI**. Enables multiple network interfaces to attach to Kubernetes pods. In the context of VMO, Multus + Controller Network Interface (CNI) automatically creates VLAN interfaces onto which you can place VMs. + +### Feature Gates + +Palette VMO includes the following KubeVirt feature gates by default: + +- LiveMigration +- Snapshot +- HotplugVolumes +- VMExport +- ExpandDisks +- HotplugNICs +- VMLiveUpdateFeatures +- [CPU Hotplug](./create-manage-vm/enable-cpu-hotplug.md) + +For more information on KubeVirt feature gates, refer to the +[KubeVirt Activating feature gates](https://kubevirt.io/user-guide/cluster_admin/activating_feature_gates/) guide. + +## Next Steps + +Now that you understand the architecture behind Palette VMO, you can continue exploring it by reviewing our +[Environment Setup](./environment-setup.md) and [Create a VMO Profile](./create-vmo-profile.md) pages. diff --git a/docs/docs-content/vm-management/create-manage-vm/_category_.json b/docs/docs-content/vm-management/create-manage-vm/_category_.json index 094470741d..e7e7c54966 100644 --- a/docs/docs-content/vm-management/create-manage-vm/_category_.json +++ b/docs/docs-content/vm-management/create-manage-vm/_category_.json @@ -1,3 +1,3 @@ { - "position": 10 + "position": 40 } diff --git a/docs/docs-content/vm-management/create-manage-vm/advanced-topics/_category_.json b/docs/docs-content/vm-management/create-manage-vm/advanced-topics/_category_.json new file mode 100644 index 0000000000..e1d4231c70 --- /dev/null +++ b/docs/docs-content/vm-management/create-manage-vm/advanced-topics/_category_.json @@ -0,0 +1,3 @@ +{ + "position": 100 +} diff --git a/docs/docs-content/vm-management/create-manage-vm/access-cluster-with-virtctl.md b/docs/docs-content/vm-management/create-manage-vm/advanced-topics/access-cluster-with-virtctl.md similarity index 96% rename from docs/docs-content/vm-management/create-manage-vm/access-cluster-with-virtctl.md rename to docs/docs-content/vm-management/create-manage-vm/advanced-topics/access-cluster-with-virtctl.md index 0246413198..ef3eec378a 100644 --- a/docs/docs-content/vm-management/create-manage-vm/access-cluster-with-virtctl.md +++ b/docs/docs-content/vm-management/create-manage-vm/advanced-topics/access-cluster-with-virtctl.md @@ -1,6 +1,6 @@ --- -sidebar_label: "Access VM Cluster with virtctl" -title: "Set up virtctl" +sidebar_label: "Access VM Cluster with Virtctl" +title: "Set up Virtctl" description: "Set up KubeVirt virtctl to facilitate VM operations in Palette Virtual Machine Orchestrator" icon: " " hide_table_of_contents: false diff --git a/docs/docs-content/vm-management/create-manage-vm/advanced-topics/advanced-topics.md b/docs/docs-content/vm-management/create-manage-vm/advanced-topics/advanced-topics.md new file mode 100644 index 0000000000..35461691f9 --- /dev/null +++ b/docs/docs-content/vm-management/create-manage-vm/advanced-topics/advanced-topics.md @@ -0,0 +1,23 @@ +--- +sidebar_label: "Advanced Topics" +title: "Advanced Topics" +description: "Advanced topics for Palette Virtual Machine Orchestrator." +icon: " " +hide_table_of_contents: false +sidebar_position: 60 +tags: ["vmo"] +--- + +Beyond the standard Virtual Machine (VM) operations such as deployment, clone, and migration, Palette Virtual Machine +Orchestrator (VMO) supports further customization and advanced use cases. + +This section discusses advanced topics such as creating and modifying VM template and disk templates. You will also +learn how to perform standard VM operations via the command-line tool, virtctl, and how to maximize your VM performance +by over-committing CPU and memory. + +## Resources + +- [Access VM Cluster with Virtctl](./access-cluster-with-virtctl.md) +- [Create VM Templates](./create-vm-template.md) +- [Create DISK Templates](./create-disk-templates.md) +- [Over-commit Resources to Enhance VM Performance](./vm-oversubscription.md) diff --git a/docs/docs-content/vm-management/create-manage-vm/create-disk-templates.md b/docs/docs-content/vm-management/create-manage-vm/advanced-topics/create-disk-templates.md similarity index 93% rename from docs/docs-content/vm-management/create-manage-vm/create-disk-templates.md rename to docs/docs-content/vm-management/create-manage-vm/advanced-topics/create-disk-templates.md index 71c6ff0d38..99286f7b20 100644 --- a/docs/docs-content/vm-management/create-manage-vm/create-disk-templates.md +++ b/docs/docs-content/vm-management/create-manage-vm/advanced-topics/create-disk-templates.md @@ -19,16 +19,16 @@ This guide demonstrates how to implement your own disk and VM templates using Ku ## Prerequisites -- A VMO profile. Check out the [Create a VMO Profile](../vm-packs-profiles/create-vmo-profile.md) guide to learn how you - can create this profile. +- A VMO profile. Check out the [Create a VMO Profile](../../create-vmo-profile.md) guide to learn how you can create + this profile. - A cluster deployed with this VMO profile. Check out the - [Deploy a Cluster](../../clusters/public-cloud/deploy-k8s-cluster.md) tutorial for detailed steps on how you can + [Deploy a Cluster](../../../clusters/public-cloud/deploy-k8s-cluster.md) tutorial for detailed steps on how you can deploy clusters to a public cloud. ## Create a Template 1. Create a new **Add-on Profile** with the following manifest. Check out the - [Add a Manifest](../../profiles/cluster-profiles/create-cluster-profiles/create-addon-profile/create-addon-profile.md) + [Add a Manifest](../../../profiles/cluster-profiles/create-cluster-profiles/create-addon-profile/create-addon-profile.md) guide for more information. The provided manifest defines a `DataVolume` that imports the example disk template for Ubuntu 22.04 into the @@ -173,7 +173,7 @@ This guide demonstrates how to implement your own disk and VM templates using Ku 3. When the CDI clones a PVC, it runs under the `default` service account in the namespace of the target PVC. When the source PVC is in a different namespace, you must give the required permissions to the service account. The - [VMO pack](../vm-management.md) version 4.2.0 (or higher) does this automatically through its default pack + [VMO pack](../../vm-management.md) version 4.2.0 (or higher) does this automatically through its default pack specification. This configuration uses the `vmEnabledNamespaces` option to specify the namespaces for which the permissions are configured. @@ -327,7 +327,7 @@ This guide demonstrates how to implement your own disk and VM templates using Ku ![Add-on Profile](/create-disk-templates-guide/vm-management_create-manage-vm_create-disk-templates_add-on-disk-template-profile.webp) 4. Once the cluster updates, this VM template is available to the VMs you create on your cluster. Check out the - [Deploy VM From a Template](./standard-vm-operations/deploy-vm-from-template.md) guide for more information. + [Deploy VM From a Template](../deploy-vm-from-template.md) guide for more information. ![Create VM from template](/create-disk-templates-guide/vm-management_create-manage-vm_create-disk-templates_create-vm-from-template.webp) @@ -335,8 +335,6 @@ This guide demonstrates how to implement your own disk and VM templates using Ku To learn more about the Palette VMO, we encourage you to check out the reference resources below. -- [Virtual Machine Orchestrator Pack](../vm-packs-profiles/vm-packs-profiles.md) +- [Palette VMO](../../vm-management.md) -- [Standard VM Operations](../create-manage-vm/standard-vm-operations/standard-vm-operations.md) - -- [Deploy VM From a Template](../create-manage-vm/standard-vm-operations/deploy-vm-from-template.md) +- [Deploy VM From a Template](../deploy-vm-from-template.md) diff --git a/docs/docs-content/vm-management/create-manage-vm/create-vm-template.md b/docs/docs-content/vm-management/create-manage-vm/advanced-topics/create-vm-template.md similarity index 100% rename from docs/docs-content/vm-management/create-manage-vm/create-vm-template.md rename to docs/docs-content/vm-management/create-manage-vm/advanced-topics/create-vm-template.md diff --git a/docs/docs-content/vm-management/create-manage-vm/vm-oversubscription.md b/docs/docs-content/vm-management/create-manage-vm/advanced-topics/vm-oversubscription.md similarity index 59% rename from docs/docs-content/vm-management/create-manage-vm/vm-oversubscription.md rename to docs/docs-content/vm-management/create-manage-vm/advanced-topics/vm-oversubscription.md index bf2eb73bff..ca9bc3df11 100644 --- a/docs/docs-content/vm-management/create-manage-vm/vm-oversubscription.md +++ b/docs/docs-content/vm-management/create-manage-vm/advanced-topics/vm-oversubscription.md @@ -1,6 +1,6 @@ --- -sidebar_label: "VM Performance" -title: "VM Performance" +sidebar_label: "Over-commit Resources to Enhance VM Performance" +title: "Over-commit Resources to Enhance VM Performance" description: "Learn how to improve VM performance by maximizing virtual machine CPU and memory using Palette." icon: " " hide_table_of_contents: false @@ -15,32 +15,44 @@ VM workloads typically have varying resource demands and peak utilization patter possible to allocate them flexibly and take advantage of the fact that not all VMs will require their maximum allocation simultaneously. -The hypervisor automatically overcommits CPU and memory. This means that more virtualized CPU and memory can be +The hypervisor automatically over-commits CPU and memory. This means that more virtualized CPU and memory can be allocated to VMs than there are physical resources on the system. -## CPU Overcommit +## Over-commit CPUs Kubevirt offers the `cpuAllocationRatio` in its Custom Resource Definitions (CRD). This ratio is used to normalize the amount of CPU time the pod will request based on the number of virtual CPUs (vCPUs). -Using the following algorithm, when `cpuAllocationRatio` is set to 1, the full amount of vCPUs are requested for the -pod: `pod CPU request = number of vCPUs * 1/cpuAllocationRatio`. +### Prerequisites -The `cpuAllocationRatio` is global, so setting it to greater than 1 has the effect of requesting less CPU from -Kubernetes for each VM. +- An active VMO cluster in Palette. -Certain workloads that require a predictable latency and enhanced performance would benefit from obtaining dedicated CPU -resources. KubeVirt relies on the Kubernetes CPU manager to pin vCPUs to the physical host’s CPUs. To learn more, refer -to [Dedicated CPU Resources](https://kubevirt.io/user-guide/compute/dedicated_cpu_resources/) and -[Resources Requests and Limits](https://kubevirt.io/user-guide/compute/virtual_hardware/#resources-requests-and-limits) -Kubevirt documentation. +### Procedure + +1. Log in to [Palette](https://console.spectrocloud.com). + +2. From the left **Main Menu**, click on **Profiles**. + +3. Select the profile you use to create the cluster with the VMO pack. + +4. Select the VMO add-on layer of the cluster profile. + +5. Using the following algorithm, when `cpuAllocationRatio` is set to 1, the full amount of vCPUs are requested for the + pod: `pod CPU request = number of vCPUs * 1/cpuAllocationRatio`. The `cpuAllocationRatio` is global, so setting it to + greater than 1 has the effect of requesting less CPU from Kubernetes for each VM. + + Certain workloads that require a predictable latency and enhanced performance would benefit from obtaining dedicated + CPU resources. KubeVirt relies on the Kubernetes CPU manager to pin vCPUs to the physical host’s CPUs. To learn more, + refer to [Dedicated CPU Resources](https://kubevirt.io/user-guide/compute/dedicated_cpu_resources/) and + [Resources Requests and Limits](https://kubevirt.io/user-guide/compute/virtual_hardware/#resources-requests-and-limits) + Kubevirt documentation. :::warning -- We do not recommend overcommitting CPUs in a production environment without extensive testing. Applications that use - 100 percent of processing resources may become unstable in overcommitted environments. +- We do not recommend over-committing CPUs in a production environment without extensive testing. Applications that use + 100 percent of processing resources may become unstable in over-committed environments. -- Ensure you don't overcommit guest VMs on more than the physical number of processing cores. For example, a guest VM +- Ensure you don't over-commit guest VMs on more than the physical number of processing cores. For example, a guest VM with four vCPUs should only be deployed on a host physical machine with a quad-core processor instead of a dual-core processor. @@ -48,7 +60,7 @@ Kubevirt documentation. ::: -## Memory Overcommit +## Over-Commit Memory KubeVirt allows you to assign more or less memory to a VM than a VM requests to Kubernetes. You may want to overcommit VM memory if you have a cluster or a few nodes that are dedicated to running VMs. In this case, overcommitting memory @@ -57,9 +69,13 @@ makes use of all the memory in the nodes regardless of reserved or requested mem To learn about options for memory overcommitment, refer to [Node Overcommit](https://kubevirt.io/user-guide/compute/node_overcommit/) KubeVirt resource. -You can make several changes to reduce the memory footprint and overcommit the per-VMI memory overhead. +### Prerequisites + +### Procedure + +You can make several changes to reduce the memory footprint and over-commit the per-VMI memory overhead. -- Enable guest overhead overcommit by setting `spec.domain.resources.overcommitGuestOverhead` to true. +- Enable guest overhead over-commit by setting `spec.domain.resources.overcommitGuestOverhead` to true. - Enable guest memory by setting `spec.domain.memory.guest` to a value higher than `spec.domain.resources.requests.memory`, as shown in the example. diff --git a/docs/docs-content/vm-management/create-manage-vm/clone-vm.md b/docs/docs-content/vm-management/create-manage-vm/clone-vm.md new file mode 100644 index 0000000000..8c84f77179 --- /dev/null +++ b/docs/docs-content/vm-management/create-manage-vm/clone-vm.md @@ -0,0 +1,56 @@ +--- +sidebar_label: "Clone a VM" +title: "Clone a VM" +description: "Learn how to clone a VM from a template using Palette Virtual Machine Orchestrator." +icon: " " +hide_table_of_contents: false +sidebar_position: 40 +tags: ["vmo"] +--- + +A VM clone is a copy of an existing virtual machine (VM). The cloned VM has the same configuration settings and +identifiers as the parent VM. After you clone a VM, the cloned VM acts as a separate virtual machine. + +Cloning is a quick way to create a new virtual machine that shares the same properties as the parent. You may want to +clone a VM for the following reasons: + +- Software testing. Developers can clone an active VM to test new changes to their code. + +- Forensics. Security administrators can clone an infected machine and connect it to an air-gaped network to investigate + the source of the infection while the parent VM can be destroyed or remediated. + +## Prerequisites + +- An active cluster in Palette with the Virtual Machine Orchestrator (VMO) pack. + +- Outbound internet connectivity for port 443 is allowed so that you and your applications can connect with the Spectro + Cloud reverse proxy. + +- Users or groups must be mapped to a Virtual Machine RBAC role. You can create a custom role through a manifest and use + Palette's RoleBinding feature to associate users and groups with the role. Refer to the + [Create Role Bindings](../../clusters/cluster-management/cluster-rbac.md#create-role-bindings) guide to learn more. + +- A namespace for VMs. Although you can deploy VMs from the default namespace, we recommend creating at least one + namespace dedicated to VMs as a way to organize and manage them. To learn how to create a namespace, check out + [Create a Namespace](../../clusters/cluster-management/namespace-management.md#create-a-namespace). + +## Clone a VM + +1. Log in to [Palette](https://console.spectrocloud.com). + +2. From the left **Main Menu**, click **Clusters** and click on your cluster. + +3. Click on the **Virtual Machine** tab. + +4. Select the VM to clone and click either the **three-dot Menu** or **Actions**. + +5. Power off the parent VM and click **Clone**. If you forget to power it off, the parent VM will automatically be + powered off while cloning is in progress. + +6. Give the clone a name, an optional description, and select a namespace. + +7. Optionally, you can enable the checkbox to start the cloned VM automatically when cloning is complete. + +## Validate + +From the **Virtual Machines** tab, verify the cloned VM is listed and displays **Running** status. diff --git a/docs/docs-content/vm-management/create-manage-vm/create-manage-vm.md b/docs/docs-content/vm-management/create-manage-vm/create-manage-vm.md index 45dfaff670..8268488eb0 100644 --- a/docs/docs-content/vm-management/create-manage-vm/create-manage-vm.md +++ b/docs/docs-content/vm-management/create-manage-vm/create-manage-vm.md @@ -2,7 +2,6 @@ sidebar_label: "Create and Manage VMs" title: "Create and Manage VMs" description: "Learn methods to create VMs using Palette's Virtual Machine Orchestrator.." -icon: " " hide_table_of_contents: false tags: ["vmo"] --- @@ -10,51 +9,48 @@ tags: ["vmo"] Palette Virtual Machine Orchestrator (VMO) allows you to deploy and manage Virtual Machines (VMs) alongside containerized applications. -## Prerequisites - -- Outbound internet connectivity for port 443 is allowed so that you and your applications can connect with the Spectro - Cloud reverse proxy. - -- Users or groups must be mapped to a Virtual Machine RBAC role. You can create a custom role through a manifest and use - Palette's RoleBinding feature to associate users and groups with the role. Refer to the - [Create Role Bindings](../../clusters/cluster-management/cluster-rbac.md#create-role-bindings) guide to learn more. - -- A namespace for VMs. Although you can deploy VMs from the default namespace, we recommend creating at least one - namespace dedicated to VMs as a way to organize and manage them. To learn how to create a namespace, check out - [Create a Namespace](../../clusters/cluster-management/namespace-management.md#create-a-namespace). - ## VM Creation -You can create a VM three ways: +You can create a VM in one of the following ways: - Deploy a VM from a template. Palette provides out-of-the-box templates, or your organization may provide templates. - For the latter, refer to the [Create a VM Template](create-vm-template.md) guide. + For the latter, refer to the [Create a VM Template](./advanced-topics/create-vm-template.md) guide. -- Create an empty VM and install the Operating System (OS) using a standard method, such as a Preboot Execution +- Create an empty VM and install the Operating System (OS) using a standard method, such as a Pre-boot Execution Environment (PXE) or optical disk image (ISO). -- Clone an existing VM. +- Clone an existing VM. For more information, refer to [Clone a VM](./clone-vm.md). Administrators can also import VMs from their existing VMware vSphere environment into Palette. +### Optional Components + Although no additional components are required in VMs, the **QEMU Guest Agent** is an optional component that runs inside a VM and provides runtime information. Additionally, Virtio is a virtualization standard for network and disk device drivers where only the guest's device driver knows it is deployed in a virtual environment, and cooperates with the hypervisor. This enables guests to receive -high performance network and disk operations and provides most of the performance benefits of paravirtualization. +high performance network and disk operations and provides most of the performance benefits of para-virtualization. :::warning We recommend installing the QEMU guest agent to display additional details in Palette Virtual Machine Orchestrator. We -also recommend installing VirtIO drivers to ensure you can use the paravirtualized hardware properly. +also recommend installing VirtIO drivers to ensure you can use the para-virtualized hardware properly. ::: -## Resources +## VM Management + +After creating your VMs, you can make updates to the VM such as adding disk storage and adding network interfaces. You +can also take snapshots of the VMs and use those snapshots to provision other VMs. You can also migrate them to a +different node. Refer to the following resources to learn about VM management. -- [Standard VM Operations](standard-vm-operations/standard-vm-operations.md) +- [Migrate VM to Different Node](./migrate-vm-to-different-node.md) +- [Update VM Configuration](./update-vm-configuration.md) +- [Take Snapshot of VM](./take-snapshot-of-vm.md) -- [Deploy VM from a Template](standard-vm-operations/deploy-vm-from-template.md) +## Advanced Topics -- [Create a VM Template](create-vm-template.md) +Beyond the standard Virtual Machine (VM) operations such as deployment, clone, and migration, Palette Virtual Machine +Orchestrator (VMO) supports further customization and advanced use cases. For more information, refer to the +[Advanced Topics](./advanced-topics/advanced-topics.md) section. diff --git a/docs/docs-content/vm-management/create-manage-vm/standard-vm-operations/deploy-vm-from-template.md b/docs/docs-content/vm-management/create-manage-vm/deploy-vm-from-template.md similarity index 69% rename from docs/docs-content/vm-management/create-manage-vm/standard-vm-operations/deploy-vm-from-template.md rename to docs/docs-content/vm-management/create-manage-vm/deploy-vm-from-template.md index c70121f1f3..1acb61afff 100644 --- a/docs/docs-content/vm-management/create-manage-vm/standard-vm-operations/deploy-vm-from-template.md +++ b/docs/docs-content/vm-management/create-manage-vm/deploy-vm-from-template.md @@ -2,7 +2,6 @@ sidebar_label: "Deploy VM From a Template" title: "Deploy VM From a Template" description: "Learn how to deploy a VM from a template using Palette Virtual Machine Orchestrator" -icon: " " hide_table_of_contents: false sidebar_position: 0 tags: ["vmo"] @@ -13,8 +12,23 @@ organization's administrator provides. ## Prerequisites -- Configured Virtual Machine Orchestrator profile applied to your cluster. Review - [Create a VMO Profile](../../vm-packs-profiles/create-vmo-profile.md) to configure the dashboard. +- An active cluster with the Virtual Machine Orchestrator (VMO) pack. Review + [Create a VMO Profile](../create-vmo-profile.md) to configure the dashboard. + + - If this is an Edge cluster with VMs as Edge hosts, such as a VM in VMware vCenter, the VM Edge host must support + hardware-assisted virtualization to the guest Operating System (OS). + +- Outbound internet connectivity for port 443 is allowed so that you and your applications can connect with the Spectro + Cloud reverse proxy. + +- Users or groups must be mapped to a Virtual Machine Role-Based Access Control (RBAC) role. You can create a custom + role through a manifest and use Palette's RoleBinding feature to associate users and groups with the role. Refer to + the [Create Role Bindings](../../clusters/cluster-management/cluster-rbac.md#create-role-bindings) guide to learn + more. + +- A namespace for VMs. Although you can deploy VMs from the default namespace, we recommend creating at least one + namespace dedicated to VMs as a way to organize and manage them. To learn how to create a namespace, check out + [Create a Namespace](../../clusters/cluster-management/namespace-management.md#create-a-namespace). ## Deploy VM from a Template @@ -30,8 +44,7 @@ These steps will help guide you to deploy a VM from an out-of-the-box VM templat 5. From the **Virtual Machines** tab that appears, click **New Virtual Machine**. -6. Click the **New Virtual Machine** button. Available templates are displayed based on supported Operating Systems - (OS). +6. Click the **New Virtual Machine** button. Available templates are displayed based on supported OS. 7. You can deploy from a template or create an empty VM as follows: @@ -81,4 +94,4 @@ Try installing your applications. If you did not install the QEMU guest agent as install it now. The guest agent displays additional details in the **Virtual Machines** > **Details** tab. You can update the VM configuration from the VM console or from tabs when you click on the VM. Learn about updates you -can make in the [Update VM Configuration](update-vm-configuration.md) guide. +can make in the [Update VM Configuration](./update-vm-configuration.md) guide. diff --git a/docs/docs-content/vm-management/create-manage-vm/standard-vm-operations/enable-cpu-hotplug.md b/docs/docs-content/vm-management/create-manage-vm/enable-cpu-hotplug.md similarity index 97% rename from docs/docs-content/vm-management/create-manage-vm/standard-vm-operations/enable-cpu-hotplug.md rename to docs/docs-content/vm-management/create-manage-vm/enable-cpu-hotplug.md index 001597a612..10d3c78e65 100644 --- a/docs/docs-content/vm-management/create-manage-vm/standard-vm-operations/enable-cpu-hotplug.md +++ b/docs/docs-content/vm-management/create-manage-vm/enable-cpu-hotplug.md @@ -26,7 +26,7 @@ allows the Virtual Machine (VM) to add and remove virtual CPUs while the VM is r 3. Select the **Virtual Machines** tab, then select the necessary VM and open its **YAML** tab. - ![Palette with the VM YAML editor displayed.](/vm-management_create-manage-vm_standard-vm-operations_enable-cpu-hotplug_vm-yaml-editor.webp) + ![Palette with the VM YAML editor displayed.](/vm-management_create-manage-vm_enable-cpu-hotplug_vm-yaml-editor.webp) 4. In the VM YAML configuration editor, navigate to the VM object configuration and update the number of CPU sockets. Consider the following example for reference. diff --git a/docs/docs-content/vm-management/create-manage-vm/standard-vm-operations/migrate-vm-to-different-node.md b/docs/docs-content/vm-management/create-manage-vm/migrate-vm-to-different-node.md similarity index 84% rename from docs/docs-content/vm-management/create-manage-vm/standard-vm-operations/migrate-vm-to-different-node.md rename to docs/docs-content/vm-management/create-manage-vm/migrate-vm-to-different-node.md index 771159c4d8..87e5f0aaef 100644 --- a/docs/docs-content/vm-management/create-manage-vm/standard-vm-operations/migrate-vm-to-different-node.md +++ b/docs/docs-content/vm-management/create-manage-vm/migrate-vm-to-different-node.md @@ -2,25 +2,28 @@ sidebar_label: "Migrate a VM" title: "Migrate a VM to a Different Node" description: "Learn how to migrate a VM to another physical host in the cluster using Palette." -icon: " " hide_table_of_contents: false sidebar_position: 20 tags: ["vmo"] --- -Palette supports virtual machine (VM) migration to another physical host in the cluster. This is known as _live +Palette supports Virtual Machine (VM) migration to another physical host in the cluster. This is known as _live migration_. During live migration, the VM and its memory, storage, and CPU resources are moved from one cluster compute node to another without any noticeable downtime. Successful live migrations rely on appropriately configured storage and networking, and live migration must be enabled as a feature gate. Live migration is enabled by default in the `feature-gates` section of the KubeVirt configuration -file that is part of the **Virtual Machine Orchestrator** pack. Refer to -[Feature Gates](../../vm-management.md#feature-gates) for more information. +file that is part of the **Virtual Machine Orchestrator** pack. Refer to [Feature Gates](../vm-management.md) for more +information. Live migration is used with rolling Kubernetes upgrades and workload balancing. To avoid interrupting a VM when a node is placed into maintenance or upgraded, all VM instances require a `LiveMigrate` eviction strategy. -## Prerequisites +## Migrate VM to a Different Node + +Follow the instructions below to migrate VMs to a different node. + +### Prerequisites - All VM instances must have an eviction strategy set as `evictionStrategy: LiveMigrate` to ensure that a VM is not interrupted if the node is placed into maintenance. This is configured automatically in the KubeVirt configuration @@ -34,7 +37,7 @@ is placed into maintenance or upgraded, all VM instances require a `LiveMigrate` - A VM’s pod network cannot use a Bridge interface. Disable the default Bridge interface on the pod network. However, other interfaces such as those that Multus grants, may use a bridge interface for live migration. -## Migrate VM to a Different Node +### Instructions 1. Log in to [Palette](https://console.spectrocloud.com). @@ -71,7 +74,11 @@ Kubernetes resource. - Ensure `LiveMigrate` is set as the eviction strategy for all affected VMs. When the host is put in maintenance mode, this feature allows for a smooth and uninterrupted migration process. -### Evacuate VMs in Palette +### Instructions + + + + 1. Log in to [Palette](https://console.spectrocloud.com). @@ -89,21 +96,13 @@ Kubernetes resource. ::: -### Validate - -You can validate evacuation completed by following the steps below. - -1. Log in to [Palette](https://console.spectrocloud.com). - -2. From the left **Main Menu**, choose **Clusters**. - -3. Verify the **Health** column displays the **Maintenance mode: Completed** icon. + -## Evacuate VMs Manually + -1. Obtain the kubeconfig file from Palette, and set the KUBECONFIG environment variable to access it so you can issue - kubectl commands to the cluster. To learn how, refer to - [Set up Kubectl](../../../clusters/cluster-management/palette-webctl.md#set-up-kubectl). +1. Obtain the kubeconfig file from Palette, and set the `KUBECONFIG` environment variable to access it so you can issue + kubectl commands to the cluster. For more information, refer to + [Set up Kubectl](../../clusters/cluster-management/palette-webctl.md#set-up-kubectl). 2. Issue the following command to mark the node as _un-schedulable_. This alerts the Kubernetes scheduler not to schedule any new pods on that node but allows existing pods on the node to continue to operate. @@ -133,9 +132,30 @@ You can validate evacuation completed by following the steps below. ::: + + + + ### Validate -1. Using kubectl, log in to a machine that has access to the kubernetes cluster. + + + + +You can validate evacuation completed by following the steps below. + +1. Log in to [Palette](https://console.spectrocloud.com). + +2. From the left **Main Menu**, choose **Clusters**. + +3. Verify the **Health** column displays the **Maintenance mode: Completed** icon. + + + + + +1. Using kubectl, log in to a machine that has access to the Kubernetes cluster. For more information, refer to + [Access Cluster with Kubectl](../../clusters/cluster-management/palette-webctl.md). 2. Issue the following command to verify the pods are rescheduled on a different node by verifying the name and IP address of the new node changed. @@ -144,6 +164,10 @@ You can validate evacuation completed by following the steps below. kubectl get pods --output wide ``` + + + + ## Resources - [Persistent Volume Access Modes](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes) diff --git a/docs/docs-content/vm-management/create-manage-vm/standard-vm-operations/_category_.json b/docs/docs-content/vm-management/create-manage-vm/standard-vm-operations/_category_.json deleted file mode 100644 index 3fca6fb9f9..0000000000 --- a/docs/docs-content/vm-management/create-manage-vm/standard-vm-operations/_category_.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "position": 0 -} diff --git a/docs/docs-content/vm-management/create-manage-vm/standard-vm-operations/clone-vm.md b/docs/docs-content/vm-management/create-manage-vm/standard-vm-operations/clone-vm.md deleted file mode 100644 index 641e677867..0000000000 --- a/docs/docs-content/vm-management/create-manage-vm/standard-vm-operations/clone-vm.md +++ /dev/null @@ -1,43 +0,0 @@ ---- -sidebar_label: "Clone a VM" -title: "Clone a VM" -description: "Learn how to clone a VM from a template using Palette Virtual Machine Orchestrator." -icon: " " -hide_table_of_contents: false -sidebar_position: 40 -tags: ["vmo"] ---- - -A VM clone is a copy of an existing, or parent, virtual machine (VM). The cloned VM has the same configuration settings -and identifiers as the parent VM. After you clone a VM, it as a separate virtual machine. - -Cloning is a quick way to create a new virtual machine that shares the same properties as the parent. You may want to -clone a VM for the following reasons: - -- Software testing - developers can clone an active VM to test new changes to their code. - -- Forensics - security administators can clone an infected machine and connect it to an air-gaped network to investigate - the source of the infection while the parent VM can be destroyed or remediated. - -## Prerequisites - -There are no requirements. - -## Clone a VM - -1. Log in to [Palette](https://console.spectrocloud.com). - -2. From the left **Main Menu**, click **Clusters** and click on your cluster. - -3. Select the VM to clone and click either the **three-dot Menu** or **Actions** - -4. Power off the parent VM and click **Clone**. If you forget to power it off, the parent VM will automatically be - powered off while cloning is in progress. - -5. Give the clone a name, give an optional description, and select a namespace. - -6. Optionally, you can enable the checkbox to start the cloned VM automatically when cloning is complete. - -## Validate - -From the **Virtual Machines** tab, verify the cloned VM is listed and displays **Running** status. diff --git a/docs/docs-content/vm-management/create-manage-vm/standard-vm-operations/standard-vm-operations.md b/docs/docs-content/vm-management/create-manage-vm/standard-vm-operations/standard-vm-operations.md deleted file mode 100644 index 88198c8d88..0000000000 --- a/docs/docs-content/vm-management/create-manage-vm/standard-vm-operations/standard-vm-operations.md +++ /dev/null @@ -1,62 +0,0 @@ ---- -sidebar_label: "Standard VM Operations" -title: "Standard VM Operations" -description: "Learn about standard VM operations that you can perform using Palette Virtual Machine Orchestrator." -icon: " " -hide_table_of_contents: false -tags: ["vmo"] ---- - -Palette Virtual Machine Orchestrator (VMO) supports standard VM power operations: - -- **Start** - -- **Stop** - -- **Pause** - -- **Restart** - -From the **Virtual Machines** tab, you can select a VM to view its details and perform standard VM operations, such as -live migration (vMotion), snapshots, and cloning. VM operations are accessible from the **three-dot Menu** at the right -of each listed VM. - -When you select a VM from the **Clusters** > **Virtual Machines** tab, the following tabs display. Tabs are specific to -the selected VM. - -- **Overview**: Provides general information about the VM, such as its IP address, operating system, creation date and - time zone, status, active users, whether the guest agent is installed or not, the quantity of Network Interface Cards - (NIC) and disks, and any recent events. - -- **Details**: Provides additional VM details such as labels associated with the VM, pod information, scheduling and - resource requirements, and CPU and memory. If the QEMU Guest Agent is not installed, **Not Available** displays in - place of details that would otherwise be available to you. - -- **YAML**: You can review and change the VM configuration from here. - -- **Events**: Displays streaming events in the VM. Any standard operations you perform on the VM are captured here. - -- **Console**: Allows you to access and interact with the VM through its console. If you are not using a template, you - can configure the VM using the console. - -- **Network Interfaces**: Allows you to add and manage network interfaces. By default, the Pod Networking interface is a - masquerade type interface, or in simple terms, it's a one-to-many IP address translation. You can change this to be a - Bridge or other interface type. - -- **Disks**: Allows you to add and manage disks. You can update the disk size, specify type `Disk`, `CD-ROM`, or `LUN`, - and specify the interface `virtuo`, `sata`, or `scsi`. By default, `spectro-storage-class` is applied to the disk. - -- **Snapshots**: Allows you to take a new snapshot of a VM's disk file at a given point in time and manage existing - snapshots. - -## Resources - -- [Deploy VM From a Template](deploy-vm-from-template.md) - -- [Update VM Configuration](update-vm-configuration.md) - -- [Migrate VM to a Different Node](migrate-vm-to-different-node.md) - -- [Take a VM Snapshot](take-snapshot-of-vm.md) - -- [Clone a VM](clone-vm.md) diff --git a/docs/docs-content/vm-management/create-manage-vm/standard-vm-operations/update-vm-configuration.md b/docs/docs-content/vm-management/create-manage-vm/standard-vm-operations/update-vm-configuration.md deleted file mode 100644 index 47639a1d73..0000000000 --- a/docs/docs-content/vm-management/create-manage-vm/standard-vm-operations/update-vm-configuration.md +++ /dev/null @@ -1,93 +0,0 @@ ---- -sidebar_label: "Update VM Configuration" -title: "Update VM Configuration" -description: "Learn how to add disk storage and network interfaces to a VM using Palette Virtual Machine Orchestrator." -icon: " " -hide_table_of_contents: false -sidebar_position: 10 -tags: ["vmo"] ---- - -You can add storage and additional network interfaces to your virtual machines (VMs). - -## Add Disk Storage - -KubeVirt allows hot plugging additional storage into a running VM. Both block and file system volume types are -supported. - -### Prerequisites - -- A deployed VM. - -### Add a Disk - -1. Log in to [Palette](https://console.spectrocloud.com). - -2. From the left **Main Menu**, click **Clusters** and click on your cluster. - -3. Navigate to **Virtual Machines** > **Disks** tabs and click the **Add disk** button. - -4. Review the parameters and update as needed. You can specify the disk size, disk type (Disk, CD-ROM, or LUN), and - network interface. - - The interface type determines out-of-the-box operating system (OS) support and disk performance. Choose from the - following: - - - **virtio**: Optimized for best performance, but the operating system may require additional Virtio drivers. - - - **sata**: Most operating systems support Serial ATA (SATA). However it offers lower performance. - - - **scsi**: A paravirtualized Internet Small Computer System Interface (iSCSI) HDD driver that offers similar - functionality to the virtio-block device but with some additional enhancements. In particular, this driver supports - adding hundreds of devices and names devices using the standard SCSI device naming scheme. - -5. Click **Add** when you are done. - -### Validate - -The **Disks** tab lists the newly added disk as `PersistingHotplug`. - -## Add Network Interfaces - -You can add additional network interfaces to a VM. By default, VMs use the native networking already configured in the -pod. Typically, this means using the Bridge option, and your VM has the same IP address as the pod. This approach makes -interoperability possible. The VM can integrate with different cases like sidecar containers and pod masquerading. - -When using pod masquerading, you choose a CIDR for which VMs are not assigned a private IP, and instead use Network -Address Translation (NAT) behind the pod IP. - -Multus is a secondary network that uses Multus-CNI. Multus allows you to attach multiple network interfaces to pods in -Kubernetes. If you use Multus as your network, ensure that Multus is installed across your cluster and that you have -created a default `NetworkAttachmentDefinition` CRD. For more information, refer to the -[Multus CNI](/integrations/multus-cni) guide. - -### Prerequisites - -- A deployed VM. - -### Add an Interface - -1. Log in to [Palette](https://console.spectrocloud.com). - -2. From the left **Main Menu**, click **Clusters** and click on your cluster. - -3. Navigate to **Virtual Machines > Network Interfaces** and click the **Add network interface** button. - -4. Review the parameters and update as needed. Interface types are: **Masquerade**, **Bridge**, and **SR-IOV**. - -5. Click **Add** when you are done. - -:::info - -Multus allows hot plugging network interfaces only when interfaces use the **virtio** model connected through bridge -binding. - -::: - -### Validate - -The **Network Interfaces** tab lists the newly added interface. - -## Resources - -- [Multus CNI](../../../integrations/multus-cni.md) diff --git a/docs/docs-content/vm-management/create-manage-vm/standard-vm-operations/take-snapshot-of-vm.md b/docs/docs-content/vm-management/create-manage-vm/take-snapshot-of-vm.md similarity index 96% rename from docs/docs-content/vm-management/create-manage-vm/standard-vm-operations/take-snapshot-of-vm.md rename to docs/docs-content/vm-management/create-manage-vm/take-snapshot-of-vm.md index fd03b7a503..8e94c336d9 100644 --- a/docs/docs-content/vm-management/create-manage-vm/standard-vm-operations/take-snapshot-of-vm.md +++ b/docs/docs-content/vm-management/create-manage-vm/take-snapshot-of-vm.md @@ -1,7 +1,7 @@ --- sidebar_label: "Take a VM Snapshot" title: "Take a Snapshot of the VM" -description: "Learn how to snapshot a VM using Palette Virtual Machine Orchestrator.." +description: "Learn how to snapshot a VM using Palette Virtual Machine Orchestrator." icon: " " hide_table_of_contents: false sidebar_position: 30 @@ -33,7 +33,7 @@ is found, the **Snapshot** action is not possible. ## Prerequisites -- A deployed VM. +- A deployed VM in an active cluster in Palette with the Virtual Machine Orchestrator (VMO) pack. ## Take a Snapshot diff --git a/docs/docs-content/vm-management/create-manage-vm/update-vm-configuration.md b/docs/docs-content/vm-management/create-manage-vm/update-vm-configuration.md new file mode 100644 index 0000000000..0a47fa383d --- /dev/null +++ b/docs/docs-content/vm-management/create-manage-vm/update-vm-configuration.md @@ -0,0 +1,112 @@ +--- +sidebar_label: "Update VM Configuration" +title: "Update VM Configuration" +description: "Learn how to add disk storage and network interfaces to a VM using Palette Virtual Machine Orchestrator." +icon: " " +hide_table_of_contents: false +sidebar_position: 10 +tags: ["vmo"] +--- + +You can add storage and additional network interfaces to your virtual machines (VMs). + +## Add Disk Storage + +KubeVirt allows hot plugging additional storage into an active VM. Both block and file system volume types are +supported. Disks are "hot plugged" into your VMs, meaning that you do not need to power off the VM in order to add +disks. + +### Prerequisites + +- A deployed VM in an active cluster that has the Virtual Machine Orchestrator (VMO) pack. + +### Add a Disk + +1. Log in to [Palette](https://console.spectrocloud.com). + +2. From the left **Main Menu**, click **Clusters** and click on your cluster. + +3. Navigate to **Virtual Machines** > **Disks** tabs and click the **Add disk** button. + +4. Review the parameters and update as needed. You can specify the disk size, disk type (Disk, CD-ROM, or LUN), and + network interface. + + The interface type determines out-of-the-box operating system (OS) support and disk performance. Choose from the + following. + + | Interface type | Description | + | -------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | + | virtio | Optimized for best performance, but the operating system may require additional Virtio drivers. | + | sata | Most operating systems support Serial ATA (SATA). However it offers lower performance. | + | scsi | A paravirtualized Internet Small Computer System Interface (iSCSI) HDD driver that offers similar functionality to the virtio-block device but with some additional enhancements. In particular, this driver supports adding hundreds of devices and names devices using the standard SCSI device naming scheme. | + +5. Next, specify the access mode for your disk. + + | Access mode | Description | + | --------------------- | ---------------------------------------------------------------------------- | + | Read-Write-Once (RWO) | Ensures that only one client can write to the volume at any given time. | + | Read-Write-Many (RWX) | Allows multiple clients to read from and write to the volume simultaneously. | + | Read-Only-Many (ROX) | Permits multiple clients to read data only. | + +6. Specify the volume mode for your disk. + + | Volume mode | Description | + | ----------- | ------------------------------------------------------------------------------------------------------------------------------------ | + | Filesystem | The volume is formatted with a filesystem. The OS manages the volume using a directory structure, where files are stored in folders. | + | Block | The volume is presented as a raw block device. The OS manages the volume at the block level, without any filesystem structure. | + +7. If you'd like to allocate storage to the VM right away, check **Enable preallocation**. Otherwise, the storage is + allocated to your VM as data is written to the storage. + +8. Click **Add** when you are done. + +### Validate + +The **Disks** tab lists the newly added disk as `PersistingHotplug`. + +## Add Network Interfaces + +You can add additional network interfaces to a VM. By default, VMs use the native networking already configured in the +pod. Typically, this means using the Bridge option, and your VM has the same IP address as the pod. This approach makes +interoperability possible. The VM can integrate with different cases like sidecar containers and pod masquerading. + +When using pod masquerading, you choose a CIDR for which VMs are not assigned a private IP, and instead use Network +Address Translation (NAT) behind the pod IP. + +Multus is a secondary network that uses Multus-CNI. Multus allows you to attach multiple network interfaces to pods in +Kubernetes. If you use Multus as your network, ensure that Multus is installed across your cluster and that you have +created a default `NetworkAttachmentDefinition` CRD. For more information, refer to the +[Multus CNI](../../integrations/multus-cni.md) guide. + +### Prerequisites + +- A deployed VM in an active cluster that has the Virtual Machine Orchestrator (VMO) pack. + +- The VM must be in the **Stopped** state. + +### Add an Interface + +1. Log in to [Palette](https://console.spectrocloud.com). + +2. From the left **Main Menu**, click **Clusters** and click on your cluster. + +3. Navigate to **Virtual Machines > Network Interfaces** and click the **Add network interface** button. + +4. Review the parameters and update as needed. Interface types are: **Masquerade**, **Bridge**, and **SR-IOV**. + +5. Click **Add** when you are done. + +:::info + +Multus allows hot plugging network interfaces only when interfaces use the **virtio** model connected through bridge +binding. + +::: + +### Validate + +The **Network Interfaces** tab lists the newly added interface. + +## Resources + +- [Multus CNI](../../integrations/multus-cni.md) diff --git a/docs/docs-content/vm-management/vm-packs-profiles/create-vmo-profile.md b/docs/docs-content/vm-management/create-vmo-profile.md similarity index 85% rename from docs/docs-content/vm-management/vm-packs-profiles/create-vmo-profile.md rename to docs/docs-content/vm-management/create-vmo-profile.md index e7b72e0a51..27b614dcd0 100644 --- a/docs/docs-content/vm-management/vm-packs-profiles/create-vmo-profile.md +++ b/docs/docs-content/vm-management/create-vmo-profile.md @@ -4,13 +4,13 @@ title: "Create a VMO Profile" description: "Learn how to create a cluster profile to utilize Palette Virtual Machine Orchestrator capabilities." icon: " " hide_table_of_contents: false -sidebar_position: 5 +sidebar_position: 10 tags: ["vmo"] --- The **Virtual Machine Orchestrator** pack conveniently includes several components and automatically installs the -[Spectro Proxy](../../integrations/frp.md) pack when you use the default profile configuration. To learn about pack -components, refer to [Virtual Machine Orchestrator Pack](../vm-packs-profiles/vm-packs-profiles.md). +[Spectro Proxy](../integrations/frp.md) pack when you use the default profile configuration. To learn about pack +components, refer to [Palette VMO](./vm-management.md). ## Limitations @@ -28,7 +28,7 @@ components, refer to [Virtual Machine Orchestrator Pack](../vm-packs-profiles/vm - A Palette permission key `create` for the resource `clusterProfile`. -- If you are creating an Edge cluster profile, your profile must have a Container Storage Interface pack. +- If you are creating an Edge cluster profile, your profile must have a Container Storage Interface (CSI) pack. ## Create the Profile @@ -49,8 +49,8 @@ components, refer to [Virtual Machine Orchestrator Pack](../vm-packs-profiles/vm 7. Review the **Access** configuration panel at right. The default setting is **Proxied**, which automatically adds the **Spectro Proxy** pack when you create the cluster, allowing access to the Spectro VM Dashboard from anywhere. Check - out the [Spectro Proxy](../../integrations/frp.md) guide to learn more. Changing the default may require some - additional configuration. + out the [Spectro Proxy](../integrations/frp.md) guide to learn more. Changing the default may require some additional + configuration. The **Direct** option is intended for a private configuration where a proxy is not implemented or not desired. @@ -68,7 +68,7 @@ components, refer to [Virtual Machine Orchestrator Pack](../vm-packs-profiles/vm 10. Review the profile and click **Finish Configuration**. 11. Apply the profile to your cluster. For more information, refer to - [Create a Cluster](../../clusters/public-cloud/deploy-k8s-cluster.md). + [Create a Cluster](../clusters/public-cloud/deploy-k8s-cluster.md). @@ -89,7 +89,7 @@ components, refer to [Virtual Machine Orchestrator Pack](../vm-packs-profiles/vm 7. Review the **Access** configuration panel at right. The default setting is **Proxied**, which automatically adds the **Spectro Proxy** pack when you create the cluster, allowing access to the Spectro VM Dashboard from anywhere. Changing the default may require some additional configuration. Check out the - [Spectro Proxy](../../integrations/frp.md) guide to learn more + [Spectro Proxy](../integrations/frp.md) guide to learn more The **Direct** option is intended for a private configuration where a proxy is not implemented or not desired. @@ -108,7 +108,7 @@ components, refer to [Virtual Machine Orchestrator Pack](../vm-packs-profiles/vm ``` 9. If your cluster profile does include a load balancer such as MetalLB, no changes are required and you can skip this - step. For more information about MetalLB, refer to [MetalLB pack documentation](../../integrations/metallb.md). + step. For more information about MetalLB, refer to [MetalLB pack documentation](../integrations/metallb.md). If your cluster profile does not include a load balancer, update the services `charts.virtual-machine-orchestrator.kubevirt` and `charts.virtual-machine-orchestrator.cdi` to type ClusterIP in @@ -160,7 +160,7 @@ components, refer to [Virtual Machine Orchestrator Pack](../vm-packs-profiles/vm 12. Review the profile and click **Finish Configuration**. 13. Add the add-on profile when you create a cluster. For more information, refer to - [Create Cluster Definition](../../clusters/edge/site-deployment/cluster-deployment.md). + [Create Cluster Definition](../clusters/edge/site-deployment/cluster-deployment.md). @@ -185,13 +185,14 @@ You can validate the profile is created. You will need to configure roles and role bindings to give users access to clusters. You can use VM user roles and permissions or standard Kubernetes roles. For configuration guidance, refer to -[Add Roles and Role Bindings](add-roles-and-role-bindings.md). The -[VM User Roles and Permissions](../vm-roles-permissions.md) reference lists Cluster Roles and equivalent Palette Roles. +[Add Roles and Role Bindings](./rbac/add-roles-and-role-bindings.md). The +[VM User Roles and Permissions](./rbac/vm-roles-permissions.md) reference lists Cluster Roles and equivalent Palette +Roles. If you have OpenID Connect (OIDC) configured at the Kubernetes layer of your cluster profile, you can create a role binding that maps individual users or groups assigned within the OIDC provider's configuration to a role. To learn more, -review [Use RBAC with OIDC](../../integrations/kubernetes.md#use-rbac-with-oidc). +review [Use RBAC with OIDC](../integrations/kubernetes.md#use-rbac-with-oidc). ## Resources -- [Add Roles and Role Bindings](add-roles-and-role-bindings.md) +- [Add Roles and Role Bindings](./rbac/add-roles-and-role-bindings.md) diff --git a/docs/docs-content/vm-management/environment-setup.md b/docs/docs-content/vm-management/environment-setup.md new file mode 100644 index 0000000000..c524d76da3 --- /dev/null +++ b/docs/docs-content/vm-management/environment-setup.md @@ -0,0 +1,180 @@ +--- +sidebar_label: "Environment Setup" +title: "Environment Setup" +description: "Learn about Palette VMO pack and the architecture behind it." +hide_table_of_contents: false +sidebar_position: 5 +tags: ["vmo", "environment-setup"] +--- + +This page provides reference specifications for the Palette Virtual Machine Orchestrator (VMO) hardware and network +resources. + +## Hardware Resources + +The following sections list the hardware requirements for worker nodes and control plane nodes in a VMO cluster. + +### Worker Nodes + +Refer to the following table for the minimum and recommended hardware specifications for the worker nodes of the +cluster. + +| Component | Minimum | Recommended | Comments | +| -------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | +| **Form Factor** | The server must fit Fiber Channel (FC) adapters and have sufficient Network Interface Cards (NIC). | 2U Rackmount Chassis | | +| **CPU** | Intel or AMD x64 CPU with 8 cores | Intel or AMD x64 CPU with 8 cores | | +| **RAM** | 24 GB | 256 GB or more | Assumes the deployment of 20 VMs per node multiplied by the median RAM per VM. | +| **Network Adapters** | 2 x 10 Gbps
(data + management) | 2 x 10 Gbps (data)
2 x 10 Gbps (management) | Pod overlay operates on the management network. | +| **Storage Adapters** | 2 x 16 Gbps FC | 2 x 16 Gbps FC | Storage adapters must support the FC protocol, a high-speed network protocol used for data transfer. | +| **Disks** | Local disk for the OS boot (SAN boot is supported) | Local disk for the OS boot | Boot from SAN requires special consideration due to the multi-path configuration. | + +### Control Plane Nodes + +Typically, the cluster control plane nodes do not operate any VMO workloads. As a result, they can have lighter hardware +specifications in terms of CPU and RAM. For example, a server with 4 cores and 8 GB RAM is sufficient for a +minimum-specification control plane node. The rest of the hardware requirements for control plane nodes remain the same +as worker nodes. + +| Component | Minimum | Recommended | Comments | +| -------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | +| **Form Factor** | The server must fit Fiber Channel (FC) adapters and have sufficient Network Interface Cards (NIC). | 2U Rackmount Chassis | | +| **Network Adapters** | 2 x 10 Gbps
(data + management) | 2 x 10 Gbps (data)
2 x 10 Gbps (management) | Pod overlay operates on the management network. | +| **Storage Adapters** | 2 x 16 Gbps FC | 2 x 16 Gbps FC | Storage adapters must support the FC protocol, a high-speed network protocol used for data transfer. | +| **Disks** | Local disk for the OS boot (SAN boot is supported) | Local disk for the OS boot | Boot from SAN requires special consideration due to the multi-path configuration. | + +The CPU and RAM requirements for control plane nodes increase with the number of worker nodes and namespaces in the +cluster. Refer to the following table for guidance on control plane node sizing. + +:::warning + +These recommendations assume that each cluster has at least three control plane nodes. + +::: + +| Worker Nodes | Namespaces | CPU Cores | Memory (GB) | +| ------------ | ---------- | --------- | ----------- | +| 10 | 100 | 4 | 8 | +| 25 | 500 | 4 | 16 | +| 100 | 1000 | 8 | 32 | +| 250 | 2000 | 16 | 64 | +| 500 | 4000 | 32 | 128 | + +## Network Configuration + +Compared to the standard Kubernetes clusters, networking for Palette VMO can require additional configuration, +especially if your VMs need to be accessible on the existing VLANs. As this configuration requires bypassing the typical +Kubernetes pod networking stack, we use Multus for networking in Palette VMO. + +This also implies additional requirements for the host network configuration of worker nodes in order to have valid +network targets for the VMs. + +Refer to the following table for an example of network configuration. + +| Network | VLAN ID | Network CIDR | Gateway | +| --------------------------------- | ------------- | -------------- | ---------- | +| **Bare Metal Deployment** | 0 (native) | 192.168.0.0/22 | | +| **Kubernetes Hosts (management)** | 10 | 172.16.0.0/22 | | +| **End-user Access (data)** | 20 | 10.20.30.0/16 | 10.20.30.1 | +| **Pod Overlay** | N/A (virtual) | 100.64.0.0/18 | | +| **Cluster Services** | N/A (virtual) | 100.64.64.0/18 | | +| **Existing VM VLANs** | 21 – 100 | | | + +MetalLB can use the **End-user Access** network to publish non-virtualized apps in the following ways: + +- As a network on which to advertise IP addresses, as + [Layer 2 advertisements](https://metallb.universe.tf/concepts/layer2/). + +- As a BGP network where it can + [advertise BGP addresses](https://access.redhat.com/webassets/avalon/d/OpenShift_Container_Platform-4.10-Networking-en-US/images/afe4598d665b24b7a193bfd5b4440d48/209_OpenShift_BGP_0122.png) + to BGP routers. + +You can select either approach depending on your network equipment. + +:::tip + +We recommend using a dedicated VLAN for end-user access and not sharing it with VLANs used by VMs. + +::: + +Refer to the following table for an example of a host network configuration, which uses a total of 4 NICs in 2 bonds and +fits with our recommended VMO network configuration. + +| Interface | Type | Contents | VLAN | CIDR | Gateway | +| ---------------------- | ------ | -------------------- | ------ | -------------- | ---------- | +| **bond_management** | Bond | enp1s0
enp2s0 | Native | 192.168.0.0/22 | | +| **bond_management.10** | VLAN | bond_management | 10 | 172.16.0.0/22 | | +| **bond_data** | Bond | enp1s1
enp2s1 | Native | | | +| **bond_data.20** | VLAN | bond_data | 20 | 10.20.30.0/16 | 10.20.30.1 | +| **br0** | Bridge | bond_data | Native | | | + +The **br0** bridge interface is used as a primary interface by Multus to automatically create VLAN interfaces for VMs. +In this scenario, the primary interface must be a bridge, as no other type will work. + +This setup also assumes that the physical servers (the worker nodes) have four physical network interfaces that are +connected to the switch, as described in the following table. + +| Physical Port | Name in OS | Purpose | Switchport Configuration | +| ----------------- | ---------- | ---------------------------------------------------- | ------------------------ | +| **NIC 1, Port 1** | enp1s0 | PXE boot for OS deployment
Management network | Trunk (allowing 0, 10) | +| **NIC 1, Port 2** | enp2s0 | Management network | Trunk (allowing 0, 10) | +| **NIC 2, Port 1** | enp1s1 | Data network | Trunk (allowing 20-100) | +| **NIC 2, Port 2** | enp2s1 | Data network | Trunk (allowing 20-100) | + +For PXE boot, you can use both an untagged or native VLAN 0 network and a tagged network, such as VLAN 5. However, to +ensure a successful PXE boot on a tagged network, we recommend setting the native VLAN network to the tagged VLAN ID on +the switch port (in our example, this would be 5), so that the PXE boot can work with untagged traffic. + +Alternatively, if the server supports UEFI PXE boot and allows you to set the VLAN ID for PXE boot directly, you can +also use this option. In this case, you need to adjust the configuration for **bond_management** to operate the +`192.168.0.0/22` CIDR on a **bond_management.5** subinterface. However, because it is difficult to achieve PXE boot on a +tagged VLAN, we recommend using a native or untagged VLAN for PXE. + +The **bond_data.20** subinterface provides outbound connectivity, as it has the default gateway. This is the primary way +to publish services from container workloads to the end users. If there are any specific data center networks that you +want to reach over the **bond_management.10** subinterface instead, you can configure them through static routes on the +`172.16.0.0/22` subnet in Canonical MAAS. Those routes will be automatically applied by MAAS upon server installation. + +For publishing workloads from VMs, you have the following ways: + +- Operating the VM on the pod network like containers and publishing the individual VM ports as Kubernetes services on + the **bond_data.20** network. In this case, you can use MetalLB to assign IP addresses. + +- Placing the entire VM on a VLAN and using Multus to assign the VM to a VLAN on top of the **br0** interface. In this + case, it's the responsibility of the VM (for static IPs) or the network (for DHCP) to assign IP addresses. + +### Limited Alternative + +If your setup is limited to two physical network interfaces, you will need to make some adjustments. Assuming the same +networks and VLANs are used, consider the following network configuration example (configured through Canonical MAAS). + +| Interface | Type | Contents | VLAN | CIDR | Gateway | +| ------------ | ------ | -------------------- | ------ | -------------- | ---------- | +| **bond0** | Bond | enp1s0
enp2s0 | Native | | | +| **bond0.10** | VLAN | bond0 | 10 | 172.16.0.0/22 | | +| **bond0.20** | VLAN | bond0 | 20 | 10.20.30.0/16 | 10.20.30.1 | +| **br0** | Bridge | bond0 | Native | 192.168.0.0/22 | | + +For this setup, it is assumed that the physical servers (worker nodes) are connected to the switch, as described in the +following table. + +| Physical Port | Name in OS | Purpose | Switchport Configuration | +| ----------------- | ---------- | ------------------------------------------------------------------------ | ------------------------------ | +| **NIC 1, Port 1** | enp1s0 | PXE boot for OS deployment
Management network
Data network | Trunk (allowing 0, 10, 20-100) | +| **NIC 1, Port 2** | enp2s0 | Management network
Data network | Trunk (allowing 0, 10, 20-100) | + +In this configuration, VLANs 10 (management) and 20 (data) are not available for use by VMs on the **br0** interface +because the VLAN subinterfaces on the bridge primary interface and VLAN subinterfaces on the bridge are mutually +exclusive. + +If you need to operate VMs on the same VLAN as either the management (10) or the data (20) VLAN, you can facilitate this +by changing the network configuration as follows. + +| Interface | Type | Contents | VLAN | CIDR | Gateway | +| ------------ | ------ | -------------------- | ------ | -------------- | ---------- | +| **bond0** | Bond | enp1s0
enp2s0 | Native | | | +| **bond0.10** | VLAN | bond0 | 10 | 172.16.0.0/22 | | +| **br0** | Bridge | bond0 | Native | 192.168.0.0/22 | | +| **br0.20** | VLAN | br0 | 20 | 10.20.30.0/16 | 10.20.30.1 | + +In this example, VLAN 20 is defined as a subinterface of **br0** instead of on **bond0**. This configuration allows +virtual machines to also operate on VLAN 20 without conflicts. diff --git a/docs/docs-content/vm-management/rbac/_category_.json b/docs/docs-content/vm-management/rbac/_category_.json new file mode 100644 index 0000000000..c3460c6dbd --- /dev/null +++ b/docs/docs-content/vm-management/rbac/_category_.json @@ -0,0 +1,3 @@ +{ + "position": 30 +} diff --git a/docs/docs-content/vm-management/vm-packs-profiles/add-roles-and-role-bindings.md b/docs/docs-content/vm-management/rbac/add-roles-and-role-bindings.md similarity index 80% rename from docs/docs-content/vm-management/vm-packs-profiles/add-roles-and-role-bindings.md rename to docs/docs-content/vm-management/rbac/add-roles-and-role-bindings.md index c7aadbccf6..e8e0a064ea 100644 --- a/docs/docs-content/vm-management/vm-packs-profiles/add-roles-and-role-bindings.md +++ b/docs/docs-content/vm-management/rbac/add-roles-and-role-bindings.md @@ -13,14 +13,14 @@ tags: ["vmo"] You must configure permissions for actions that users can perform on Virtual Machines (VMs) deployed using Palette Virtual Machine Orchestrator (VMO), such as cloning, updating, and migrating VMs. You can do this by creating roles and cluster role bindings to determine access permissions. Refer to -[VM User Roles and Permissions](../vm-roles-permissions.md) for a list of Cluster Roles and equivalent Palette Roles. To -learn more about Cluster RBAC in Palette, review the -[RBAC and NS Support](../../clusters/cluster-management/cluster-rbac.md) guide. +[VM User Roles and Permissions](./vm-roles-permissions.md) for a list of Cluster Roles and equivalent Palette Roles. To +learn more about role-based Access Control (RBAC) in Palette, review the +[RBAC and Namespace Support](../../clusters/cluster-management/cluster-rbac.md) guide. ## Prerequisites - A cluster profile with the **Virtual Machine Orchestrator** add-on pack configured. Check out the - [Create a VMO Profile](../vm-packs-profiles/create-vmo-profile.md) guide to learn more. + [Create a VMO Profile](../create-vmo-profile.md) guide to learn more. - Additional cluster roles, based on the user's persona, must be associated with the user by specifying a cluster role binding or a namespace-restricted role binding: @@ -43,7 +43,7 @@ learn more about Cluster RBAC in Palette, review the 3. Click on **Settings** and choose **RBAC** to add role bindings. Refer to [Create a Role Binding](../../clusters/cluster-management/cluster-rbac.md#create-role-bindings) for guidance. Refer - to [VM User Roles and Permissions](../vm-roles-permissions.md) for a list of Cluster Roles and equivalent Palette + to [VM User Roles and Permissions](./vm-roles-permissions.md) for a list of Cluster Roles and equivalent Palette Roles. If you have OpenID Connect (OIDC) configured at the Kubernetes layer of your cluster profile, you can create a role @@ -83,10 +83,9 @@ You can verify role creation and role binding is successful by following the ste ## Next Steps -Now you are ready to deploy a VM. Review the -[Deploy VM From a Template](../create-manage-vm/standard-vm-operations/deploy-vm-from-template.md) guide to get started -with the deployment process. +Now you are ready to deploy a VM. Review the [Deploy VM From a Template](../create-manage-vm/deploy-vm-from-template.md) +guide to get started with the deployment process. ## Resources -- [VM User Roles and Permissions](../vm-roles-permissions.md) +- [VM User Roles and Permissions](./vm-roles-permissions.md) diff --git a/docs/docs-content/vm-management/vm-packs-profiles/configure_OIDC.md b/docs/docs-content/vm-management/rbac/configure_OIDC.md similarity index 93% rename from docs/docs-content/vm-management/vm-packs-profiles/configure_OIDC.md rename to docs/docs-content/vm-management/rbac/configure_OIDC.md index ae5785af20..bfff1ccdf0 100644 --- a/docs/docs-content/vm-management/vm-packs-profiles/configure_OIDC.md +++ b/docs/docs-content/vm-management/rbac/configure_OIDC.md @@ -54,5 +54,4 @@ select in the Kubernetes layer of the infrastructure profile. ## Next Steps -You are now ready to create the VMO profile. Refer to -[Create the VMO Profile](../vm-packs-profiles/create-vmo-profile.md) for guidance. +You are now ready to create the VMO profile. Refer to [Create the VMO Profile](../create-vmo-profile.md) for guidance. diff --git a/docs/docs-content/vm-management/rbac/rbac.md b/docs/docs-content/vm-management/rbac/rbac.md new file mode 100644 index 0000000000..e21aaac168 --- /dev/null +++ b/docs/docs-content/vm-management/rbac/rbac.md @@ -0,0 +1,22 @@ +--- +sidebar_label: "RBAC" +title: "Role-based access control" +description: "Learn about the different RBAC capabilities Palette VMO has to offer." +icon: " " +hide_table_of_contents: false +sidebar_position: 0 +tags: ["vmo"] +--- + +Access to the Virtual Machines (VM) is governed by Role-Based Access Control (RBAC). You must create roles and role +bindings and role bindings and assign them to users before they are allowed to create or manage VMs. + +To get started, review [VM Roles and Permissions](./vm-roles-permissions.md) and learn about the default roles and the +available permissions. Then, refer to [Add Roles and Role Bindings](./add-roles-and-role-bindings.md) to learn how to +assign roles and role bindings to users. + +## Resources + +- [Add Roles and Role Bindings](./add-roles-and-role-bindings.md) +- [Configure OIDC](./configure_OIDC.md) +- [VM Roles and Permissions](./vm-roles-permissions.md) diff --git a/docs/docs-content/vm-management/vm-roles-permissions.md b/docs/docs-content/vm-management/rbac/vm-roles-permissions.md similarity index 93% rename from docs/docs-content/vm-management/vm-roles-permissions.md rename to docs/docs-content/vm-management/rbac/vm-roles-permissions.md index 11596f02b3..f42aac7b13 100644 --- a/docs/docs-content/vm-management/vm-roles-permissions.md +++ b/docs/docs-content/vm-management/rbac/vm-roles-permissions.md @@ -36,8 +36,8 @@ to specify bindings to configure granular Role-Based Access Control (RBAC) rules You can configure namespaces and RBAC from within a cluster or from a Palette workspace that contains a cluster group. In a cluster group, all RoleBindings must occur at the namespace level. For details, review the -[Cluster RBAC](../clusters/cluster-management/cluster-rbac.md) and -[workspace RBAC](../workspace/workspace.md#role-based-access-controlrbac) guides. +[Cluster RBAC](../../clusters/cluster-management/cluster-rbac.md) and +[workspace RBAC](../../workspace/workspace.md#role-based-access-controlrbac) guides. Palette leverages Regex Pattern matching so you can select multiple namespaces to apply role bindings. Check out -[Regex for Namespaces](../workspace/workload-features.md#regex-for-namespaces) to learn more. +[Regex for Namespaces](../../workspace/workload-features.md#regex-for-namespaces) to learn more. diff --git a/docs/docs-content/vm-management/vm-management.md b/docs/docs-content/vm-management/vm-management.md index 41a06176e4..d19fa9070d 100644 --- a/docs/docs-content/vm-management/vm-management.md +++ b/docs/docs-content/vm-management/vm-management.md @@ -10,112 +10,48 @@ sidebar_custom_props: tags: ["vmo"] --- -Palette Virtual Machine Orchestrator (VMO) provides a unified platform for managing containerized and virtualized -applications. This solution allows organizations to onboard, deploy, manage, and scale VMs within the same cluster as -their containerized applications. Palette VM Orchestrator simplifies managing infrastructure, improves resource -utilization, and removes the cost of having a hypervisor. +Palette Virtual Machine Orchestrator (VMO) provides a unified platform for deploying, managing, and scaling Virtual +Machines (VMs) and containerized applications within Kubernetes clusters. Palette VMO supports deployment to edge +devices and bare metal servers in data centers. -![A drawing of VMs deployed to Palette](/docs_vm-mangement_vmo-diagram.webp) +Palette VMO simplifies infrastructure management, improves resource utilization, and eliminates hypervisor costs. -## Use Cases - -Palette VM Orchestrator is particularly suitable in the following scenarios: - -- Organizations that want to remove their virtualization infrastructure due to an aging environment or to reduce costs. - By using Palette VM Orchestrator, legacy applications and modern, containerized applications can be deployed on VMs. - -- Edge locations with a few VMs deployed and where a hypervisor is no longer desired. - -## Prerequisites - -Palette Virtual Machine Orchestrator requires the following: - -- Palette version 3.3.0 or higher. - -- For data centers, production VMs are supported on bare metal Kubernetes clusters deployed on Canonical MAAS. To learn - how to configure MAAS and create MAAS clusters in Palette, refer to the - [Deploy to MAAS](../clusters/data-center/maas/create-manage-maas-clusters.md) guide. - -- For Edge deployment, your Edge cluster profile must have a CSI pack. For more information, refer to - [Create VMO Profile](./vm-packs-profiles/create-vmo-profile.md#create-the-profile) in the **Edge** tab. - -- VMs with Persistent Volume Claim (PVC) must have a StorageClass that supports `ReadWriteMany` (`RWX`) access mode for - seamless live migration to a different node - either when triggered manually or during a Kubernetes upgrades. - - :::warning +![A drawing of VMs deployed to Palette](/vm-mangement_vmo-diagram.webp) - In environments that use nested virtualization, where VMs operate inside of VMs due to lack of hardware to host VMs, - it is technically possible to operate VMs in Kubernetes by setting the KubeVirt resource `useEmulation` to true. - However, we do not recommend this approach. - - ::: - -## Get Started With VM Orchestrator - -To get started, review [Virtual Machine Orchestrator Pack](vm-packs-profiles/vm-packs-profiles.md) to learn about its -components. - -Review [Create a VMO Profile](vm-packs-profiles/create-vmo-profile.md) and -[Add Roles and Role Bindings](vm-packs-profiles/add-roles-and-role-bindings.md) to learn how to create the cluster -profile and add roles and permissions that allow users to create and manage Virtual Machines (VMs). - -Palette VM Orchestrator provides various methods to quickly deploy VMs from out-of-the-box templates or from your -organization's templates. To learn more about using and creating templates, review -[Deploy VM From a Template](create-manage-vm/standard-vm-operations/deploy-vm-from-template.md) and -[Create a VM Template](create-manage-vm/create-vm-template.md). +## Use Cases -While you can import template disks from external locations when deploying a VM, it can be inefficient. Instead, you can -leverage the `DataVolume` resource to import template disks once and then clone them when deploying new VMs. Review the -[Create Disk Templates](create-manage-vm/create-disk-templates.md) guide for more information. +You will benefit from Palette VMO in the following cases: -## Feature Gates +- You are planning to gradually shift from VMs to containers and want to continue using both during the transition. -Palette VM Orchestrator utilizes open-source KubeVirt as a component of the **Virtual Machine Orchestrator** pack to -manage VMs and enables the following KubeVirt feature gates by default: +- Your established infrastructure combines containers and VMs, and you want to manage them more effectively. -- LiveMigration -- Snapshot -- HotplugVolumes -- VMExport -- ExpandDisks -- HotplugNICs -- VMLiveUpdateFeatures +- You are integrating new VM-based applications into an existing containerized infrastructure. -KubeVirt offers other feature gates you may find useful and which you can enable using -[Kubernetes feature gates](https://kubernetes.io/docs/reference/command-line-tools-reference/feature-gates/). To enable -more KubeVirt feature gates, you can modify the `kubevirt.kubevirtResource.additonalFeatureGates` parameter in the -**Virtual Machine Orchestrator** manifest. +- You are managing edge locations with VM-based workloads and would like to stop using a hypervisor. -For more information on KubeVirt feature gates, refer to the -[KubeVirt user guide](https://kubevirt.io/user-guide/cluster_admin/activating_feature_gates/). +## Get Started -## Kubevirt Plugins +To get started with Palette VMO, review the [Architecture](./architecture.md) page to learn about the components +involved in enabling VMO for your infrastructure. Then, review the [Create a VMO Profile](./create-vmo-profile.md) guide +to prepare everything you need to deploy your first VMO cluster. -VMO includes the following KubeVirt plugins: +Once your VMO cluster is up and healthy, refer to the [Create and Manage VMs](./create-manage-vm/create-manage-vm.md) +section for information on deploying VMs from existing Palette templates and performing standard VM operations. +Alternatively, review the [Advanced Topics](./create-manage-vm/advanced-topics/advanced-topics.md) section to understand +how you can create VM and disk templates, manage the VM resources, and perform other advanced operations. -- [Kubevirt-Velero](https://github.com/kubevirt/kubevirt-velero-plugin) - VMO includes the Kubevirt-Velero plugin, which - allows you to back up and restore VMs using Velero. This installs Velero snapshot controller and Custom Resource - Definitions required by Velero. Refer to the - [Virtual Machine Orchestrator Pack](./vm-packs-profiles/vm-packs-profiles.md) guide for more information. +Finally, refer to the [Role-based Access Control (RBAC)](./rbac/rbac.md) section for information on configuring roles +and permissions for your VMs. ## Resources -- [Virtual Machine Orchestrator Pack](vm-packs-profiles/vm-packs-profiles.md) - -- [Create a VMO Profile](vm-packs-profiles/create-vmo-profile.md) - -- [Add Roles and Role Bindings](vm-packs-profiles/add-roles-and-role-bindings.md) - -- [Create and Manage VMs](create-manage-vm/create-manage-vm.md) - -- [Standard VM Operations](create-manage-vm/standard-vm-operations/standard-vm-operations.md) - -- [Deploy VM from a Template](create-manage-vm/standard-vm-operations/deploy-vm-from-template.md) +- [Architecture](./architecture.md) -- [Create a VM Template](create-manage-vm/create-vm-template.md) +- [Create a VMO Profile](./create-vmo-profile.md) -- [Create Disk Templates](create-manage-vm/create-disk-templates.md) +- [Create and Manage VMs](./create-manage-vm/create-manage-vm.md) -- [VM Roles and Permissions](vm-roles-permissions.md) +- [Advanced Topics](./create-manage-vm/advanced-topics/advanced-topics.md) -- [KubeVirt user guide](https://kubevirt.io/user-guide/) +- [RBAC](./rbac/rbac.md) diff --git a/docs/docs-content/vm-management/vm-packs-profiles/_category_.json b/docs/docs-content/vm-management/vm-packs-profiles/_category_.json deleted file mode 100644 index 3fca6fb9f9..0000000000 --- a/docs/docs-content/vm-management/vm-packs-profiles/_category_.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "position": 0 -} diff --git a/docs/docs-content/vm-management/vm-packs-profiles/vm-packs-profiles.md b/docs/docs-content/vm-management/vm-packs-profiles/vm-packs-profiles.md deleted file mode 100644 index 065dbeb3a7..0000000000 --- a/docs/docs-content/vm-management/vm-packs-profiles/vm-packs-profiles.md +++ /dev/null @@ -1,75 +0,0 @@ ---- -sidebar_label: "Virtual Machine Orchestrator Pack" -title: "Virtual Machine Orchestrator Pack" -description: "Learn about components of the Virtual Machine Orchestrator pack." -icon: " " -hide_table_of_contents: false -tags: ["vmo"] ---- - -The **Virtual Machine Orchestrator** pack provides a single-pack experience that consolidates all the dependencies -needed to deploy and manage VMs in your Kubernetes host cluster. You use **Virtual Machine Orchestrator** pack to create -a VMO cluster profile. The pack's components are described below. All the components are enabled by default in the -`charts:` section of the pack YAML configuration file. - -- **Descheduler** - Provides the ability to live migrate a VM to a different node in the node pool when the node is - placed in maintenance mode. - -- **Snapshot Controller** - Provides the ability to create VM snapshots. - - :::warning - - The snapshot controller is installed automatically when you initiate or schedule a backup for your cluster. If you are - deploying the VMO pack and your cluster already has a backup schedule configured or you have taken an on-demand backup - in the past, then the snapshot controller will already be installed. To prevent any resource conflicts, you can - disable the snapshot controller in the pack YAML file - - ```yaml - charts: - virtual-machine-orchestrator: - snapshot-controller: - enabled: false - ``` - - ::: - -- **Spectro VM Dashboard**: Enables access to a web console so you can manage and monitor your VMs. The console is - accessible from the **Virtual Machines** tab that appears on the cluster overview page when using Palette Virtual - Machine Orchestrator (VMO). The dashboard provides a web interface to create and manage VMs in your Kubernetes - cluster. - -- **KubeVirt**: Allows you to create VMs within a Kubernetes cluster using open-source [KubeVirt](https://kubevirt.io). - KubeVirt provides feature gates you can enable in the Virtual Machine Orchestrator pack YAML file. To learn which - feature gates Palette enables by default and how you can enable additional feature gates, check out the - [Feature Gates](../vm-management.md#feature-gates) section. - - KubeVirt extends Kubernetes with additional virtualization resource types using Kubernetes Custom Resource Definitions - (CRD) API. KubeVirt also includes controllers and agents that provide VM management capabilities on the cluster. - Through KubeVirt you can use the Kubernetes API to manage VM resources similar to the way you manage Kubernetes - resources. - -- **KubeVirt CDI**: Provides persistent storage for Kubernetes clusters. It enables Persistent Volume Claims (PVCs) to - be used as disks for KubeVirt VMs. - -- **Volume Snapshot Controller**: A Kubernetes plugin that watches VolumeSnapshot CRD objects and manages the creation - and deletion of volume snapshots. A snapshot represents a point-in-time copy of a volume. - -- **Multus CNI**: A Controller Network Interface (CNI) plugin that enables multiple network interfaces to attach to - Kubernetes pods. In this context, it is used to attach VM networks to the launched VM. - -:::info - -The **Spectro Proxy** pack enables the use of a reverse proxy with a Kubernetes cluster and is automatically installed -when you create the cluster with the default **Proxied** setting for **Access** during cluster profile creation. Check -out the [Spectro Proxy](../../integrations/frp.md) pack documentation to learn more. - -::: - -Administrators can configure the out-of-the-box add-on packs, cluster profiles, and VM templates that include commonly -used operating systems, or they can define their own VM templates to share with users. - -## Resources - -- [Spectro Proxy](../../integrations/frp.md) - -- [Feature Gates](../vm-management.md#feature-gates) diff --git a/redirects.js b/redirects.js index 6be64b9c50..55a938d721 100644 --- a/redirects.js +++ b/redirects.js @@ -181,15 +181,15 @@ const redirects = [ }, { from: `/vm-management/vm-packs-profiles/enable-vm-dashboard/`, - to: `/vm-management/vm-packs-profiles/add-roles-and-role-bindings/`, + to: `/vm-management/rbac/add-roles-and-role-bindings/`, }, { from: `/vm-management/vm-packs-profiles/vm-dashboard/`, - to: `/vm-management/create-manage-vm/standard-vm-operations/`, + to: `/vm-management/create-manage-vm`, }, { from: `/vm-management/vm-packs-profiles/create-vm-dashboard-profile/`, - to: `/vm-management/vm-packs-profiles/create-vmo-profile/`, + to: `/vm-management/create-vmo-profile/`, }, { from: `/knowledgebase/`, diff --git a/static/assets/docs/images/docs_vm-mangement_vmo-diagram.webp b/static/assets/docs/images/docs_vm-mangement_vmo-diagram.webp deleted file mode 100644 index c06e38a9db7971247290dbeb2a39f4a841b8c1a8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 52042 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 diff --git a/static/assets/docs/images/vm-management_architecture_vmo-architecture.webp b/static/assets/docs/images/vm-management_architecture_vmo-architecture.webp new file mode 100644 index 0000000000000000000000000000000000000000..4fb722e1b0cded6069dcdffe5047689776c00039 GIT binary patch literal 120760 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

)n(hR>auOyHtyFCzc+8*%zXEslWS$Jvmzs7 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

XNE{;{J%&jN4$8uv6TsZgvqQ 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 literal 0 HcmV?d00001 diff --git a/static/assets/docs/images/vm-mangement_vmo-diagram.webp b/static/assets/docs/images/vm-mangement_vmo-diagram.webp new file mode 100644 index 0000000000000000000000000000000000000000..0c6b7ee723e9132b1f7a6b416b0f1b0dc13bcf41 GIT binary patch literal 27064 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 ft7hY20000000000000000000000000000007&W=$ literal 0 HcmV?d00001 diff --git a/styleguide/spectro-cloud-style-guide.md b/styleguide/spectro-cloud-style-guide.md index 8e072eeab4..03e4d56ef7 100644 --- a/styleguide/spectro-cloud-style-guide.md +++ b/styleguide/spectro-cloud-style-guide.md @@ -280,12 +280,10 @@ heading. Include two lines between each item. - [Create and Manage VMs](/vm-management/create-manage-vm) -- [Deploy VM from a Template](/vm-management/create-manage-vm/standard-vm-operations/deploy-vm-from-template) +- [Deploy VM from a Template](/vm-management/create-manage-vm/deploy-vm-from-template) - [Create a VM Template](/vm-management/create-manage-vm/create-vm-template) -- [Standard VM Operations](/vm-management/create-manage-vm/standard-vm-operations) - - [VM Roles and Permissions](/vm-management/vm-roles-permissions) ### Metadata

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 G*8c!p*BmPV literal 0 HcmV?d00001 diff --git a/static/assets/docs/images/vm-management_create-manage-vm_enable-cpu-hotplug_vm-yaml-editor.webp b/static/assets/docs/images/vm-management_create-manage-vm_enable-cpu-hotplug_vm-yaml-editor.webp new file mode 100644 index 0000000000000000000000000000000000000000..383b04e0bc4d528085ad5322c860ca50a9d9df27 GIT binary patch literal 46718 zcmaHSbChMzl6BeYvdu2rwr$(C*