Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update the VMO index page and document its architecture #3073

Merged
merged 7 commits into from
Jun 18, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
84,452 changes: 84,451 additions & 1 deletion docs/api-content/api-docs/v1/api.json

Large diffs are not rendered by default.

307 changes: 306 additions & 1 deletion docs/docs-content/vm-management/architecture.md

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
"position": 10
"position": 40
}
Original file line number Diff line number Diff line change
Expand Up @@ -335,6 +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)

- [Deploy VM From a Template](../deploy-vm-from-template.md)
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ greater than 1 has the effect of requesting less CPU from Kubernetes for each VM

### Instructions

1.
1.

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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ 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.
Expand Down
9 changes: 9 additions & 0 deletions docs/docs-content/vm-management/create-manage-vmo-cluster.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
sidebar_label: "Create and Manage VMO Cluster"
title: "Create and Manage VMO Cluster"
description: "Learn how to create and manage Palette VMO clusters."
icon: " "
hide_table_of_contents: false
sidebar_position: 20
tags: ["vmo"]
---
4 changes: 2 additions & 2 deletions docs/docs-content/vm-management/create-vmo-profile.md
Original file line number Diff line number Diff line change
Expand Up @@ -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).
components, refer to [Palette VMO](./vm-management.md).

## Limitations

Expand Down
2 changes: 1 addition & 1 deletion docs/docs-content/vm-management/rbac/_category_.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
"position": 20
"position": 30
}
9 changes: 9 additions & 0 deletions docs/docs-content/vm-management/rbac/rbac.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
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"]
---
111 changes: 24 additions & 87 deletions docs/docs-content/vm-management/vm-management.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,110 +10,47 @@ 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 deployed on 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](./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](./create-vmo-profile.md) and
[Add Roles and Role Bindings](./rbac/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/deploy-vm-from-template.md) and
[Create a VM Template](create-manage-vm/advanced-topics/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/advanced-topics/create-disk-templates.md) guide for more information.
You will benefit from Palette VMO in the following cases:

## Feature Gates
- You are planning to shift from VMs to containers gradually and want to continue running 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 different
components involved in building a full-fledged VMO solution. 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 running, 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
yuliiiah marked this conversation as resolved.
Show resolved Hide resolved
and permissions for your VMs.

## Resources

- [Virtual Machine Orchestrator Pack](vm-packs-profiles/vm-packs-profiles.md)
- [Architecture](./architecture.md)

- [Create a VMO Profile](./create-vmo-profile.md)

- [Add Roles and Role Bindings](./rbac/add-roles-and-role-bindings.md)

- [Create and Manage VMs](create-manage-vm/create-manage-vm.md)

- [Deploy VM from a Template](create-manage-vm/deploy-vm-from-template.md)

- [Create a VM Template](create-manage-vm/advanced-topics/create-vm-template.md)

- [Create Disk Templates](create-manage-vm/advanced-topics/create-disk-templates.md)
- [Create and Manage VMs](./create-manage-vm/create-manage-vm.md)

- [VM Roles and Permissions](./rbac/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)

This file was deleted.

This file was deleted.

Binary file not shown.
Binary file not shown.
Binary file not shown.
4 changes: 1 addition & 3 deletions styleguide/spectro-cloud-style-guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Loading