From 798a22e90f1489b99e7d84e62fac739ef7106cc7 Mon Sep 17 00:00:00 2001 From: Yuliia Horbenko <31223054+yuliiiah@users.noreply.github.com> Date: Tue, 28 May 2024 21:17:22 +0200 Subject: [PATCH] Fix the markup and layout of pages in the VMO section (#2928) (#2932) * chore: Fix markup in the VMO docs * chore: Improve page layout in the VMO section * chore: Fix another small isue in the layout * chore: Fix broken links in the VMO section * chore: Fix a missed broken link * docs: Remove the mention of virtual clusters from VMO --- .../cluster-management/palette-webctl.md | 2 +- docs/docs-content/integrations/kubevirt.md | 2 +- .../access-cluster-with-virtctl.md | 32 +- .../create-manage-vm/create-disk-templates.md | 416 +++++++++--------- .../create-manage-vm/create-manage-vm.md | 4 - .../create-manage-vm/create-vm-template.md | 4 - .../standard-vm-operations/clone-vm.md | 2 - .../deploy-vm-from-template.md | 10 - .../migrate-vm-to-different-node.md | 34 +- .../standard-vm-operations.md | 4 - .../take-snapshot-of-vm.md | 6 - .../update-vm-configuration.md | 24 +- .../create-manage-vm/vm-oversubscription.md | 52 +-- .../vm-management/vm-management.md | 4 +- .../add-roles-and-role-bindings.md | 16 +- .../vm-packs-profiles/configure_OIDC.md | 12 +- .../vm-packs-profiles/create-vmo-profile.md | 2 +- .../vm-management/vm-roles-permissions.md | 8 - 18 files changed, 273 insertions(+), 361 deletions(-) diff --git a/docs/docs-content/clusters/cluster-management/palette-webctl.md b/docs/docs-content/clusters/cluster-management/palette-webctl.md index efa4ab25bf..f6d61ebf34 100644 --- a/docs/docs-content/clusters/cluster-management/palette-webctl.md +++ b/docs/docs-content/clusters/cluster-management/palette-webctl.md @@ -18,7 +18,7 @@ Use the following steps to connect to your host cluster with the kubectl CLI. :::info 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/operations/virtctl_client_tool/) in the +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). diff --git a/docs/docs-content/integrations/kubevirt.md b/docs/docs-content/integrations/kubevirt.md index 8299294dd0..8720256c09 100644 --- a/docs/docs-content/integrations/kubevirt.md +++ b/docs/docs-content/integrations/kubevirt.md @@ -59,6 +59,6 @@ manifests: ## References -- [Installing KubeVirt on Kubernetes](https://KubeVirt.io/user-guide/operations/installation/#installing-KubeVirt-on-kubernetes) +- [Installing KubeVirt on Kubernetes](https://kubevirt.io/user-guide/cluster_admin/installation/#installing-kubevirt-on-kubernetes) - [GitHub KubeVirt](https://github.com/KubeVirt/KubeVirt/releases/tag/v0.51.0) 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/access-cluster-with-virtctl.md index 1a7f19cd6d..0246413198 100644 --- a/docs/docs-content/vm-management/create-manage-vm/access-cluster-with-virtctl.md +++ b/docs/docs-content/vm-management/create-manage-vm/access-cluster-with-virtctl.md @@ -17,9 +17,9 @@ can use to transfer files to and from a VM. Its usage is similar to the ssh comm ## Prerequisites -- An active virtual cluster with Palette Virtual Machine Orchestrator (VMO). +- An active cluster with Palette Virtual Machine Orchestrator (VMO). -- Access to the virtual cluster. +- Access to the cluster. ## Download and Connect virtctl @@ -29,13 +29,9 @@ can use to transfer files to and from a VM. Its usage is similar to the ssh comm 2. Assign the execute permission to the virtctl command. -
- -```shell -chmod +x virtctl -``` - -
+ ```shell + chmod +x virtctl + ``` 3. Next, log in to [Palette](https://console.spectrocloud.com) to connect your host cluster with the virtctl CLI. @@ -52,22 +48,18 @@ chmod +x virtctl Example: -```shell -export KUBECONFIG=~/Downloads/dev-cluster.kubeconfig -``` - -
+ ```shell + export KUBECONFIG=~/Downloads/dev-cluster.kubeconfig + ``` 9. Issue the `virtctl ssh ` or `virtctl vnc ` command to display the login screen. Example: -```shell -virtctl ssh ubuntu -``` - -
+ ```shell + virtctl ssh ubuntu + ``` You can now issue virtctl commands against the VM in your Kubernetes cluster. @@ -75,8 +67,6 @@ You can now issue virtctl commands against the VM in your Kubernetes cluster. Verify you have access to your virtual machine by issuing virtctl commands against it, as shown in the example below. -
- ```bash virtctl guestosinfo ``` diff --git a/docs/docs-content/vm-management/create-manage-vm/create-disk-templates.md b/docs/docs-content/vm-management/create-manage-vm/create-disk-templates.md index daa1b065dc..71c6ff0d38 100644 --- a/docs/docs-content/vm-management/create-manage-vm/create-disk-templates.md +++ b/docs/docs-content/vm-management/create-manage-vm/create-disk-templates.md @@ -45,36 +45,34 @@ This guide demonstrates how to implement your own disk and VM templates using Ku [CDI DataVolumes documentation](https://github.com/kubevirt/containerized-data-importer/blob/main/doc/datavolumes.md#source) for other possible `source` values. -
- - ```yaml {7,15,17,18} - apiVersion: cdi.kubevirt.io/v1beta1 - kind: DataVolume - metadata: - name: "template-ubuntu-2204" - namespace: "vmo-golden-images" - annotations: - cdi.kubevirt.io/storage.deleteAfterCompletion: "false" - spec: - storage: - accessModes: - - ReadWriteMany - resources: - requests: - storage: 50Gi - volumeMode: Block # or "Filesystem", depending on the CSI used - source: - registry: - url: "docker://gcr.io/spectro-images-public/release/vm-dashboard/os/ubuntu-container-disk:22.04" - ``` + ```yaml {7,15,17,18} + apiVersion: cdi.kubevirt.io/v1beta1 + kind: DataVolume + metadata: + name: "template-ubuntu-2204" + namespace: "vmo-golden-images" + annotations: + cdi.kubevirt.io/storage.deleteAfterCompletion: "false" + spec: + storage: + accessModes: + - ReadWriteMany + resources: + requests: + storage: 50Gi + volumeMode: Block # or "Filesystem", depending on the CSI used + source: + registry: + url: "docker://gcr.io/spectro-images-public/release/vm-dashboard/os/ubuntu-container-disk:22.04" + ``` - :::warning + :::warning - When the `Filesystem` mode is selected, the CDI will automatically apply a small overhead factor to the Persistent - Volume Claim (PVC) size to account for the storage space lost due to the filesystem overhead. As a result, the PVC - for such a template will be slightly larger. Any clones made from this PVC will also use this larger minimum size. + When the `Filesystem` mode is selected, the CDI will automatically apply a small overhead factor to the Persistent + Volume Claim (PVC) size to account for the storage space lost due to the filesystem overhead. As a result, the PVC + for such a template will be slightly larger. Any clones made from this PVC will also use this larger minimum size. - ::: + ::: 2. Create another manifest in this cluster profile and add the following code snippet. @@ -86,96 +84,92 @@ This guide demonstrates how to implement your own disk and VM templates using Ku - `spec.dataVolumeTemplates.spec.pvc` that creates a new target PVC with the specified `accessMode` and `volumeMode` characteristics. The size of the new PVC must be the same or larger as the source PVC. -
- - :::warning - - To enable CSI-assisted cloning, you must fulfill a few - [prerequisites](https://github.com/kubevirt/containerized-data-importer/blob/main/doc/csi-cloning.md#prerequisites). - For instance, the source and target PVCs must share the same Storage Class and Volume Mode. The CDI will - automatically fall back to slower host-assisted cloning if you don't meet these requirements. - - ::: - -
- - ```yaml {9,10,14} - apiVersion: spectrocloud.com/v1 - kind: VmTemplate - metadata: - name: ubuntu-2204 - spec: - dataVolumeTemplates: - - metadata: - name: ubuntu-2204 - spec: - source: + :::warning + + To enable CSI-assisted cloning, you must fulfill a few + [prerequisites](https://github.com/kubevirt/containerized-data-importer/blob/main/doc/csi-cloning.md#prerequisites). + For instance, the source and target PVCs must share the same Storage Class and Volume Mode. The CDI will + automatically fall back to slower host-assisted cloning if you don't meet these requirements. + + ::: + + ```yaml {9,10,14} + apiVersion: spectrocloud.com/v1 + kind: VmTemplate + metadata: + name: ubuntu-2204 + spec: + dataVolumeTemplates: + - metadata: + name: ubuntu-2204 + spec: + source: + pvc: + name: template-ubuntu-2204 + namespace: vmo-golden-images pvc: - name: template-ubuntu-2204 - namespace: vmo-golden-images - pvc: - accessModes: - - ReadWriteMany + accessModes: + - ReadWriteMany + resources: + requests: + storage: 50Gi + volumeMode: Block # or "Filesystem", depending on the CSI used + template: + metadata: + annotations: + descheduler.alpha.kubernetes.io/evict: "true" + spec: + domain: + cpu: + cores: 2 + sockets: 1 + threads: 1 + devices: + disks: + - disk: + bus: virtio + name: datavolume-os + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + machine: + type: q35 resources: + limits: + memory: 2Gi requests: - storage: 50Gi - volumeMode: Block # or "Filesystem", depending on the CSI used - template: - metadata: - annotations: - descheduler.alpha.kubernetes.io/evict: "true" - spec: - domain: - cpu: - cores: 2 - sockets: 1 - threads: 1 - devices: - disks: - - disk: - bus: virtio - name: datavolume-os - - disk: - bus: virtio - name: cloudinitdisk - interfaces: - - masquerade: {} - name: default - model: virtio - machine: - type: q35 - resources: - limits: - memory: 2Gi - requests: - memory: 2Gi - networks: - - name: default - pod: {} - volumes: - - dataVolume: - name: ubuntu-2204 - name: datavolume-os - - cloudInitNoCloud: - userData: | - #cloud-config - ssh_pwauth: True - chpasswd: { expire: False } - password: spectro - disable_root: false - runcmd: - - apt-get update - - apt-get install -y qemu-guest-agent - - systemctl start qemu-guest-agent - name: cloudinitdisk - ``` - - :::tip - - To enable CSI-assisted cloning into larger PVCs than the source PVC, set `allowVolumeExpansion : true` on your - defined Storage Class. - - ::: + memory: 2Gi + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ubuntu-2204 + name: datavolume-os + - cloudInitNoCloud: + userData: | + #cloud-config + ssh_pwauth: True + chpasswd: { expire: False } + password: spectro + disable_root: false + runcmd: + - apt-get update + - apt-get install -y qemu-guest-agent + - systemctl start qemu-guest-agent + name: cloudinitdisk + ``` + + :::tip + + To enable CSI-assisted cloning into larger PVCs than the source PVC, set `allowVolumeExpansion : true` on your + defined Storage Class. + + ::: 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 @@ -207,115 +201,113 @@ This guide demonstrates how to implement your own disk and VM templates using Ku - The storage class supports the `Block` volume mode with the `ReadWriteMany` access mode. - The storage class uses `csi-clone` for cloning operations. -
- - ```yaml {4,8,10,11} - apiVersion: cdi.kubevirt.io/v1beta1 - kind: StorageProfile - metadata: - name: ceph-block - spec: - claimPropertySets: - - accessModes: - - ReadWriteMany - volumeMode: Block - cloneStrategy: csi-clone - ``` + ```yaml {4,8,10,11} + apiVersion: cdi.kubevirt.io/v1beta1 + kind: StorageProfile + metadata: + name: ceph-block + spec: + claimPropertySets: + - accessModes: + - ReadWriteMany + volumeMode: Block + cloneStrategy: csi-clone + ``` - Expand the following section to learn how you can use storage profiles for CSI-assisted cloning. + Expand the following section to learn how you can use storage profiles for CSI-assisted cloning. -
+
- Storage Profiles in VM Templates + Storage Profiles in VM Templates - If Storage Profiles are not manually defined, the CDI will automatically generate one for every Storage Class based - on the information in its internal database. We recommend verifying that these parameters are accurate for your use - case and, if not, overwriting them to define a Storage Profile manually. + If Storage Profiles are not manually defined, the CDI will automatically generate one for every Storage Class + based on the information in its internal database. We recommend verifying that these parameters are accurate for + your use case and, if not, overwriting them to define a Storage Profile manually. - Per the - [CDI documentation](https://github.com/kubevirt/containerized-data-importer/blob/main/doc/datavolumes.md#storage), - you can optionally replace the target `pvc` sections in your `vmTemplate` resources with a `storage` section once - you have defined a storage profile. + Per the + [CDI documentation](https://github.com/kubevirt/containerized-data-importer/blob/main/doc/datavolumes.md#storage), + you can optionally replace the target `pvc` sections in your `vmTemplate` resources with a `storage` section once + you have defined a storage profile. - Using storage instead of PVC will automatically discover default values for `accessMode`, `volumeMode` and, - optionally, even the size from the source PVC and its associated storage profile. + Using storage instead of PVC will automatically discover default values for `accessMode`, `volumeMode` and, + optionally, even the size from the source PVC and its associated storage profile. - A benefit of `storage` over `pvc` is that the CDI will automatically calculate the size overhead for `Filesystem` - mode storage classes, allowing the VM template to use the original disk size instead of the one adjusted for the - filesystem overhead. + A benefit of `storage` over `pvc` is that the CDI will automatically calculate the size overhead for `Filesystem` + mode storage classes, allowing the VM template to use the original disk size instead of the one adjusted for the + filesystem overhead. - If you want to use this template, replace the contents of the manifest you added in step two with the following - snippet. + If you want to use this template, replace the contents of the manifest you added in step two with the following + snippet. - ```yaml {14} - apiVersion: spectrocloud.com/v1 - kind: VmTemplate - metadata: - name: ubuntu-2204 - spec: - dataVolumeTemplates: - - metadata: + ```yaml {14} + apiVersion: spectrocloud.com/v1 + kind: VmTemplate + metadata: name: ubuntu-2204 spec: - source: - pvc: - name: template-ubuntu-2204 - namespace: vmo-golden-images - storage: - resources: - requests: - storage: 50Gi - template: - metadata: - annotations: - descheduler.alpha.kubernetes.io/evict: "true" - spec: - domain: - cpu: - cores: 2 - sockets: 1 - threads: 1 - devices: - disks: - - disk: - bus: virtio - name: datavolume-os - - disk: - bus: virtio - name: cloudinitdisk - interfaces: - - masquerade: {} - name: default - model: virtio - machine: - type: q35 - resources: - limits: - memory: 2Gi - requests: - memory: 2Gi - networks: - - name: default - pod: {} - volumes: - - dataVolume: - name: ubuntu-2204 - name: datavolume-os - - cloudInitNoCloud: - userData: | - #cloud-config - ssh_pwauth: True - chpasswd: { expire: False } - password: spectro - disable_root: false - runcmd: - - apt-get update - - apt-get install -y qemu-guest-agent - - systemctl start qemu-guest-agent - name: cloudinitdisk - ``` - -
+ dataVolumeTemplates: + - metadata: + name: ubuntu-2204 + spec: + source: + pvc: + name: template-ubuntu-2204 + namespace: vmo-golden-images + storage: + resources: + requests: + storage: 50Gi + template: + metadata: + annotations: + descheduler.alpha.kubernetes.io/evict: "true" + spec: + domain: + cpu: + cores: 2 + sockets: 1 + threads: 1 + devices: + disks: + - disk: + bus: virtio + name: datavolume-os + - disk: + bus: virtio + name: cloudinitdisk + interfaces: + - masquerade: {} + name: default + model: virtio + machine: + type: q35 + resources: + limits: + memory: 2Gi + requests: + memory: 2Gi + networks: + - name: default + pod: {} + volumes: + - dataVolume: + name: ubuntu-2204 + name: datavolume-os + - cloudInitNoCloud: + userData: | + #cloud-config + ssh_pwauth: True + chpasswd: { expire: False } + password: spectro + disable_root: false + runcmd: + - apt-get update + - apt-get install -y qemu-guest-agent + - systemctl start qemu-guest-agent + name: cloudinitdisk + ``` + +
5. Click on **Confirm & Create**. 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 9930d78f8c..45dfaff670 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 @@ -27,8 +27,6 @@ containerized applications. You can create a VM three 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. @@ -46,8 +44,6 @@ Additionally, Virtio is a virtualization standard for network and disk device dr 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. -
- :::warning We recommend installing the QEMU guest agent to display additional details in Palette Virtual Machine Orchestrator. We diff --git a/docs/docs-content/vm-management/create-manage-vm/create-vm-template.md b/docs/docs-content/vm-management/create-manage-vm/create-vm-template.md index a0e3e934ff..7bc00595e9 100644 --- a/docs/docs-content/vm-management/create-manage-vm/create-vm-template.md +++ b/docs/docs-content/vm-management/create-manage-vm/create-vm-template.md @@ -18,8 +18,6 @@ Although Palette provides out-of-the box templates, we recommend that you create Create a template by adding a YAML file as a manifest in an add-on profile. -
- 1. Log in to [Palette](https://console.spectrocloud.com). 2. From the left **Main Menu**, click **Profiles** and click the **Add Cluster Profile** button. @@ -37,8 +35,6 @@ Create a template by adding a YAML file as a manifest in an add-on profile. 8. Click **Finish Configuration**. -
- #### Example YAML for a VM template ```yaml 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 index 4a8941499f..641e677867 100644 --- 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 @@ -14,8 +14,6 @@ and identifiers as the parent VM. After you clone a VM, it as a separate virtual 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 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/standard-vm-operations/deploy-vm-from-template.md index 7365e3f6ed..c70121f1f3 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/standard-vm-operations/deploy-vm-from-template.md @@ -20,8 +20,6 @@ organization's administrator provides. These steps will help guide you to deploy a VM from an out-of-the-box VM template. -
- 1. Log in to [Palette](https://console.spectrocloud.com). 2. From the left **Main Menu**, click **Clusters** and select the cluster in which you deploy VMs. @@ -37,17 +35,11 @@ These steps will help guide you to deploy a VM from an out-of-the-box VM templat 7. You can deploy from a template or create an empty VM as follows: -
- - To deploy from a template, select one of the VM templates. These can be Palette's out-of-the-box templates or templates that you or your administrator created. -
- - To create an empty VM, close the templates choice page and install the OS using a different method. -
- 8. Give the VM a name and specify memory and CPUs. 9. Optionally, you can enable the checkbox to start the VM automatically after creation. @@ -63,8 +55,6 @@ VM status will display as **Starting** for several minutes while the required re pulled from the registry. If you did not enable the checkbox to start the VM automatically, VM status displays as **Stopped** until the VM is fully deployed. -
- :::warning VMs do not self-heal. If a VM is running on a node that fails, the VM is re-scheduled to a different node. Similar to 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/standard-vm-operations/migrate-vm-to-different-node.md index a2ce48a327..771159c4d8 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/standard-vm-operations/migrate-vm-to-different-node.md @@ -46,7 +46,7 @@ is placed into maintenance or upgraded, all VM instances require a `LiveMigrate` 5. Click **Migrate Node to Node**. -## Validate +### Validate 1. Log in to [Palette](https://console.spectrocloud.com). @@ -66,12 +66,12 @@ need to be resolved. To learn more, check out the [Safely Drain a Node](https://kubernetes.io/docs/tasks/administer-cluster/safely-drain-node/#use-kubectl-drain-to-remove-a-node-from-service) Kubernetes resource. -## Prerequisites +### Prerequisites - 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 +### Evacuate VMs in Palette 1. Log in to [Palette](https://console.spectrocloud.com). @@ -83,20 +83,16 @@ Kubernetes resource. 4. Turn off maintenance mode by clicking the **three-dot Menu** in the row of the evacuated node and select **Turn off maintenance mode**. -
- -:::warning + :::warning -Maintenance mode reduces cluster capacity. Be sure to turn off maintenance mode after maintenance completes. + Maintenance mode reduces cluster capacity. Be sure to turn off maintenance mode after maintenance completes. -::: + ::: -## Validate +### 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**. @@ -105,8 +101,6 @@ You can validate evacuation completed by following the steps below. ## 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). @@ -114,8 +108,6 @@ You can validate evacuation completed by following the steps below. 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. -
- Example: ```bash @@ -135,23 +127,19 @@ You can validate evacuation completed by following the steps below. **node-name**: The name of the node that you wish to drain. -
- -:::info + :::info -The kubectl `drain` command should only be issued to a single node at a time. + The kubectl `drain` command should only be issued to a single node at a time. -::: + ::: -## Validate +### Validate 1. Using kubectl, log in to a machine that has access to the kubernetes cluster. 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. -
- ```bash kubectl get pods --output wide ``` 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 index 9ca7be1663..88198c8d88 100644 --- 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 @@ -9,8 +9,6 @@ tags: ["vmo"] Palette Virtual Machine Orchestrator (VMO) supports standard VM power operations: -
- - **Start** - **Stop** @@ -26,8 +24,6 @@ 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. 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/standard-vm-operations/take-snapshot-of-vm.md index 2b83ba32a9..fd03b7a503 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/standard-vm-operations/take-snapshot-of-vm.md @@ -16,8 +16,6 @@ snapshot of an active VM, the controller checks for the QEMU guest agent in the controller freezes the VM file system before it takes the snapshot and unfreezes the file system afterwards. This provides for crash consistency. -
- :::info For optimal snapshots, we recommend taking snapshots of online VMs that have the QEMU Guest Agent installed. If the @@ -29,8 +27,6 @@ participation. ::: -
- You can take a snapshot of an online VM that has hotplugged disks. Only persistent hotplugged disks will be included in the snapshot. Only disks with a snapshot-supported storage class defined are included in snapshots. If no eligible disk is found, the **Snapshot** action is not possible. @@ -68,8 +64,6 @@ status will display as **Failed**. The VM will be unfrozen and the snapshot cont snapshot will remain in **Failed** state until you delete it. You can change the default snapshot time to meet your workload requirements. -
- :::warning Snapshots should not be used as a backup method, as running a VM on a snapshot for extended periods of time can cause 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 index 8be011134e..47639a1d73 100644 --- 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 @@ -15,11 +15,11 @@ You can add storage and additional network interfaces to your virtual machines ( KubeVirt allows hot plugging additional storage into a running VM. Both block and file system volume types are supported. -## Prerequisites +### Prerequisites - A deployed VM. -## Add a Disk +### Add a Disk 1. Log in to [Palette](https://console.spectrocloud.com). @@ -33,28 +33,20 @@ supported. 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 +### 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 @@ -69,11 +61,11 @@ Kubernetes. If you use Multus as your network, ensure that Multus is installed a created a default `NetworkAttachmentDefinition` CRD. For more information, refer to the [Multus CNI](/integrations/multus-cni) guide. -## Prerequisites +### Prerequisites - A deployed VM. -## Add an Interface +### Add an Interface 1. Log in to [Palette](https://console.spectrocloud.com). @@ -85,8 +77,6 @@ created a default `NetworkAttachmentDefinition` CRD. For more information, refer 5. Click **Add** when you are done. -
- :::info Multus allows hot plugging network interfaces only when interfaces use the **virtio** model connected through bridge @@ -94,10 +84,10 @@ binding. ::: -## Validate +### Validate The **Network Interfaces** tab lists the newly added interface. -# Resources +## Resources - [Multus CNI](../../../integrations/multus-cni.md) diff --git a/docs/docs-content/vm-management/create-manage-vm/vm-oversubscription.md b/docs/docs-content/vm-management/create-manage-vm/vm-oversubscription.md index 05aa068067..bf2eb73bff 100644 --- a/docs/docs-content/vm-management/create-manage-vm/vm-oversubscription.md +++ b/docs/docs-content/vm-management/create-manage-vm/vm-oversubscription.md @@ -18,8 +18,6 @@ simultaneously. The hypervisor automatically overcommits 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 Kubevirt offers the `cpuAllocationRatio` in its Custom Resource Definitions (CRD). This ratio is used to normalize the @@ -33,12 +31,10 @@ 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/virtual_machines/dedicated_cpu_resources/) and -[Resources Requests and Limits](https://kubevirt.io/user-guide/virtual_machines/virtual_hardware/#resources-requests-and-limits) +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 @@ -52,8 +48,6 @@ Kubevirt documentation. ::: -
- ## Memory Overcommit KubeVirt allows you to assign more or less memory to a VM than a VM requests to Kubernetes. You may want to overcommit @@ -61,42 +55,38 @@ VM memory if you have a cluster or a few nodes that are dedicated to running VMs makes use of all the memory in the nodes regardless of reserved or requested memory from the system. To learn about options for memory overcommitment, refer to -[Node Overcommit](https://kubevirt.io/user-guide/operations/node_overcommit/) KubeVirt resource. +[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. -
- - Enable guest overhead overcommit 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. -```yaml -apiVersion: kubevirt.io/v1alpha3 -kind: VirtualMachineInstance -metadata: - name: testvmi-nocloud -spec: - terminationGracePeriodSeconds: 30 - domain: - resources: - overcommitGuestOverhead: true - requests: - memory: 1024M - memory: - guest: 2048M -``` - -
+ ```yaml + apiVersion: kubevirt.io/v1alpha3 + kind: VirtualMachineInstance + metadata: + name: testvmi-nocloud + spec: + terminationGracePeriodSeconds: 30 + domain: + resources: + overcommitGuestOverhead: true + requests: + memory: 1024M + memory: + guest: 2048M + ``` - Enable implicit memory overcommit by setting `spec.configuration.developerConfiguration.memoryOvercommit` in the KubeVirt CRD to a percentage of the desired memory overcommit. ## Resources -- [Dedicated CPU Resources](https://kubevirt.io/user-guide/virtual_machines/dedicated_cpu_resources/) +- [Dedicated CPU Resources](https://kubevirt.io/user-guide/compute/dedicated_cpu_resources/) -- [Resources Requests and Limits](https://kubevirt.io/user-guide/virtual_machines/virtual_hardware/#resources-requests-and-limits) +- [Resources Requests and Limits](https://kubevirt.io/user-guide/compute/virtual_hardware/#resources-requests-and-limits) -- [Node Overcommit](https://kubevirt.io/user-guide/operations/node_overcommit/) +- [Node Overcommit](https://kubevirt.io/user-guide/compute/node_overcommit/) diff --git a/docs/docs-content/vm-management/vm-management.md b/docs/docs-content/vm-management/vm-management.md index be23080800..bf7da44a36 100644 --- a/docs/docs-content/vm-management/vm-management.md +++ b/docs/docs-content/vm-management/vm-management.md @@ -87,7 +87,7 @@ more KubeVirt feature gates, you can modify the `kubevirt.kubevirtResource.addit **Virtual Machine Orchestrator** manifest. For more information on KubeVirt feature gates, refer to the -[KubeVirt user guide](https://kubevirt.io/user-guide/operations/activating_feature_gates/). +[KubeVirt user guide](https://kubevirt.io/user-guide/cluster_admin/activating_feature_gates/). ## Kubevirt Plugins @@ -118,4 +118,4 @@ VMO includes the following KubeVirt plugins: - [VM Roles and Permissions](vm-roles-permissions.md) -- [KubeVirt user guide](https://kubevirt.io/user-guide/operations/activating_feature_gates/) +- [KubeVirt user guide](https://kubevirt.io/user-guide/) diff --git a/docs/docs-content/vm-management/vm-packs-profiles/add-roles-and-role-bindings.md b/docs/docs-content/vm-management/vm-packs-profiles/add-roles-and-role-bindings.md index d189344a26..c7aadbccf6 100644 --- a/docs/docs-content/vm-management/vm-packs-profiles/add-roles-and-role-bindings.md +++ b/docs/docs-content/vm-management/vm-packs-profiles/add-roles-and-role-bindings.md @@ -69,17 +69,17 @@ You can verify role creation and role binding is successful by following the ste 5. Use the following commands to review details about the role and to ensure the role binding was successful. -#### Cluster Role: + **Cluster Role:** -```shell -kubectl get clusterrole --output yaml -``` + ```shell + kubectl get clusterrole --output yaml + ``` -#### Role + **Role:** -```shell -kubectl get role --namespace --show-kind --export -``` + ```shell + kubectl get role --namespace --show-kind --export + ``` ## Next Steps diff --git a/docs/docs-content/vm-management/vm-packs-profiles/configure_OIDC.md b/docs/docs-content/vm-management/vm-packs-profiles/configure_OIDC.md index 20a74ded83..ae5785af20 100644 --- a/docs/docs-content/vm-management/vm-packs-profiles/configure_OIDC.md +++ b/docs/docs-content/vm-management/vm-packs-profiles/configure_OIDC.md @@ -28,16 +28,16 @@ select in the Kubernetes layer of the infrastructure profile. [Configure OIDC Identify Provider](../../integrations/kubernetes.md#configure-oidc-identity-provider) to learn more about OIDC options. -Selecting **None** or **Palette** will display the Virtual Machine dashboard in a tab. + - Selecting **None** or **Palette** will display the Virtual Machine dashboard in a tab. -Selecting **Inherit from Tenant** or **Custom** will display a link to the dashboard on the cluster overview page. + - Selecting **Inherit from Tenant** or **Custom** will display a link to the dashboard on the cluster overview page. -:::warning + :::warning -We do not recommend choosing **None** in a production environment, as it may disable authentication for add-ons that -rely on OIDC. + We do not recommend choosing **None** in a production environment, as it may disable authentication for add-ons + that rely on OIDC. -::: + ::: 5. Click **Confirm Updates**. diff --git a/docs/docs-content/vm-management/vm-packs-profiles/create-vmo-profile.md b/docs/docs-content/vm-management/vm-packs-profiles/create-vmo-profile.md index d962edd3c3..26ff0b9e6b 100644 --- a/docs/docs-content/vm-management/vm-packs-profiles/create-vmo-profile.md +++ b/docs/docs-content/vm-management/vm-packs-profiles/create-vmo-profile.md @@ -183,7 +183,7 @@ You can validate the profile is created. ## Next Steps -You will need to configure roles and role bindings to give users access virtual clusters. You can use VM user roles and +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. diff --git a/docs/docs-content/vm-management/vm-roles-permissions.md b/docs/docs-content/vm-management/vm-roles-permissions.md index 016545d8cb..11596f02b3 100644 --- a/docs/docs-content/vm-management/vm-roles-permissions.md +++ b/docs/docs-content/vm-management/vm-roles-permissions.md @@ -15,8 +15,6 @@ bindings configuration. Palette provides the following four out-of-the-box Cluster roles for Palette Virtual Machine Orchestrator. The table also lists the corresponding Palette roles. -
- | Cluster Role | Description | Restrictions | Palette Role | | ----------------------- | --------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | | `spectro-vm-admin` | Has admin privileges to manage the Kubernetes cluster, VMs, and templates. | None | Cluster Admin or
Editor

Cluster Profile Admin or Editor

Virtual Machine Admin | @@ -24,8 +22,6 @@ also lists the corresponding Palette roles. | `spectro-vm-user` | Primarily uses VMs created by others. | Cannot launch new VMs or clone existing ones.

Cannot delete VMs.

Cannot migrate VMs from one node to another. | Cluster Viewer

Virtual Machine User | | `spectro-vm-viewer` | A view-only role. | Cannot perform any of the operations offered to the above users. | Cluster Viewer

Virtual Machine Viewer | -
- :::warning These roles are currently only relevant to access Palette Virtual Machine Orchestrator APIs. To access the Virtual @@ -35,13 +31,9 @@ Admin/Editor/Viewer. ::: -
- You can create additional roles based on the permissions granularity that Palette offers. Palette provides the ability 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