-
Notifications
You must be signed in to change notification settings - Fork 37
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Co-authored-by: Lenny Chen <[email protected]>
- Loading branch information
Showing
36 changed files
with
773 additions
and
491 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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. |
2 changes: 1 addition & 1 deletion
2
docs/docs-content/vm-management/create-manage-vm/_category_.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,3 @@ | ||
{ | ||
"position": 10 | ||
"position": 40 | ||
} |
3 changes: 3 additions & 0 deletions
3
docs/docs-content/vm-management/create-manage-vm/advanced-topics/_category_.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
{ | ||
"position": 100 | ||
} |
4 changes: 2 additions & 2 deletions
4
...-manage-vm/access-cluster-with-virtctl.md → ...ced-topics/access-cluster-with-virtctl.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
23 changes: 23 additions & 0 deletions
23
.../docs-content/vm-management/create-manage-vm/advanced-topics/advanced-topics.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
56 changes: 56 additions & 0 deletions
56
docs/docs-content/vm-management/create-manage-vm/clone-vm.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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. |
Oops, something went wrong.