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

docs: VMO refactor #3040

Merged
merged 34 commits into from
Jul 23, 2024
Merged
Show file tree
Hide file tree
Changes from 7 commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
0166960
docs: organize vmo structure
lennessyy Jun 7, 2024
5be64de
docs: fix broken links
lennessyy Jun 7, 2024
1cd71f1
fix redirect issue
lennessyy Jun 10, 2024
af6a552
docs: fix broken link
lennessyy Jun 10, 2024
06a86a1
docs: fix broken link
lennessyy Jun 10, 2024
6d17ee2
docs: fix broken link
lennessyy Jun 10, 2024
6526a30
docs: start refactoring VMO pages
lennessyy Jun 10, 2024
2cceb87
docs: refactor create and manage VMs
lennessyy Jun 10, 2024
32ffb0e
Merge branch 'master' into vmo-refactor
lennessyy Jun 11, 2024
1cc5c2c
Update the VMO index page and document its architecture (#3073)
yuliiiah Jun 18, 2024
5df892a
docs: progress on vmo
lennessyy Jul 1, 2024
f2ab6dd
docs: document options in update configurations
lennessyy Jul 18, 2024
01eb29e
docs: edit prerequisites
lennessyy Jul 19, 2024
4daa188
docs: Update the VMO architecture, add the environment setup topic, o…
yuliiiah Jul 19, 2024
189fda4
Merge branch 'vmo-refactor' into arch-updates
yuliiiah Jul 19, 2024
6947b84
docs: fix merge conflicts
lennessyy Jul 19, 2024
39661cd
docs: fix conflicts
lennessyy Jul 19, 2024
9916867
Optimised images with calibre/image-actions
vault-token-factory-spectrocloud[bot] Jul 19, 2024
c9fcc48
docs: fix broken link
lennessyy Jul 19, 2024
d34ec22
Merge branch 'vmo-refactor' of https://github.com/spectrocloud/librar…
lennessyy Jul 19, 2024
811a487
Optimised images with calibre/image-actions
vault-token-factory-spectrocloud[bot] Jul 19, 2024
663c500
docs: inclusive language
lennessyy Jul 19, 2024
d55ef97
Merge branch 'vmo-refactor' of https://github.com/spectrocloud/librar…
lennessyy Jul 19, 2024
3f695d0
docs: fix ablism terms
lennessyy Jul 19, 2024
9774635
docs: address review comments
lennessyy Jul 22, 2024
aaecdc3
Apply suggestions from code review
lennessyy Jul 22, 2024
5d4202d
docs: clarify cpu specifications
lennessyy Jul 22, 2024
267b797
docs: webp conversion
lennessyy Jul 22, 2024
b66269f
docs: minor edit
lennessyy Jul 22, 2024
1a5a632
Optimised images with calibre/image-actions
vault-token-factory-spectrocloud[bot] Jul 22, 2024
4ec2e14
Optimised images with calibre/image-actions
vault-token-factory-spectrocloud[bot] Jul 22, 2024
a099e2d
docs: fix broken admonition
lennessyy Jul 23, 2024
dd419e2
Merge branch 'vmo-refactor' of https://github.com/spectrocloud/librar…
lennessyy Jul 23, 2024
10431f2
Merge branch 'master' into vmo-refactor
lennessyy Jul 23, 2024
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
3 changes: 3 additions & 0 deletions docs/docs-content/vm-management/architecture.md
lennessyy marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,9 @@ on top of an existing data center or edge cluster.

![Diagram that explains the architecture behind Palette VMO.](/vm-management_architecture_vmo-architecture.webp)
lennessyy marked this conversation as resolved.
Show resolved Hide resolved

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:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ organization's administrator provides.
- 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
- 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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ You can add storage and additional network interfaces to your virtual machines (

## Add Disk Storage

KubeVirt allows hot plugging additional storage into a running VM. Both block and file system volume types are
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.

Expand Down
51 changes: 35 additions & 16 deletions docs/docs-content/vm-management/environment-setup.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,25 +12,44 @@ 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 |
| -------------------- | -------------------------------------------------- | -------------------------------------------------- | -------------------------------------------------------------------------------- |
| **Server** | 2U Rackmount Chassis | 2U Rackmount Chassis | Needs to fit FC adapters and have sufficient NICs. |
| **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 <br /> (data + management) | 2 x 10 Gbps (data) <br /> 2 x 10 Gbps (management) | Pod overlay operates on the management network. |
| **Storage Adapters** | 2 x 16 Gbps FC | 2 x 16 Gbps FC | |
| **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 multipath configuration. |
| Component | Minimum | Recommended | Comments |
| -------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |
| **Form Factor** | The server must fit Fiber Channel (FC) adapters and have sufficient Network Interface Cards (NIC). | 2U Rackmount Chassis | |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [vale] reported by reviewdog 🐶
[Vale.Spelling] Did you really mean 'Rackmount'?

| **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 <br /> (data + management) | 2 x 10 Gbps (data) <br /> 2 x 10 Gbps (management) | Pod overlay operates on the management network. |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [vale] reported by reviewdog 🐶
[Vale.Spelling] Did you really mean 'Gbps'?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [vale] reported by reviewdog 🐶
[Vale.Spelling] Did you really mean 'Gbps'?

| **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. |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [vale] reported by reviewdog 🐶
[Vale.Spelling] Did you really mean 'Gbps'?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [vale] reported by reviewdog 🐶
[Vale.Spelling] Did you really mean 'Gbps'?

| **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. For example, a server with 4 cores and 8 GB RAM is sufficient for a minimum-specification control plane
node.
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 | |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [vale] reported by reviewdog 🐶
[Vale.Spelling] Did you really mean 'Rackmount'?

| **Network Adapters** | 2 x 10 Gbps <br /> (data + management) | 2 x 10 Gbps (data) <br /> 2 x 10 Gbps (management) | Pod overlay operates on the management network. |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [vale] reported by reviewdog 🐶
[Vale.Spelling] Did you really mean 'Gbps'?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [vale] reported by reviewdog 🐶
[Vale.Spelling] Did you really mean 'Gbps'?

| **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. |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [vale] reported by reviewdog 🐶
[Vale.Spelling] Did you really mean 'Gbps'?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [vale] reported by reviewdog 🐶
[Vale.Spelling] Did you really mean 'Gbps'?

| **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. |

You can increase the hardware specifications based on the total number of control plane and worker nodes you want in the
cluster. Refer to the following table for guidance on control plane node sizing. Note that these recommendations assume
that each cluster has at least three control plane nodes.
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
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@lennessyy I'm not sure why this is happening. I wonder if the space between the last : and the word warning is causing this 🤔

CleanShot 2024-07-23 at 08 21 05


These recommendations assume that each cluster has at least three control plane nodes.

:::

| Worker Nodes | Namespaces | CPU Cores | Memory (GB) |
lennessyy marked this conversation as resolved.
Show resolved Hide resolved
| ------------ | ---------- | --------- | ----------- |
Expand Down Expand Up @@ -111,14 +130,14 @@ also use this option. In this case, you need to adjust the configuration for **b
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
lennessyy marked this conversation as resolved.
Show resolved Hide resolved
to publish services from container workloads to the end users. If there are any specific data-center networks that you
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
lennessyy marked this conversation as resolved.
Show resolved Hide resolved
`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:

- Running 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.
- 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
lennessyy marked this conversation as resolved.
Show resolved Hide resolved
case, it's the responsibility of the VM (for static IPs) or the network (for DHCP) to assign IP addresses.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ You must configure permissions for actions that users can perform on Virtual Mac
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.
learn more about role-based Access Control (RBAC) in Palette, review the
[RBAC and Namespace Support](../../clusters/cluster-management/cluster-rbac.md) guide.
lennessyy marked this conversation as resolved.
Show resolved Hide resolved

## Prerequisites

Expand Down
4 changes: 4 additions & 0 deletions docs/docs-content/vm-management/rbac/rbac.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,10 @@ 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.
lennessyy marked this conversation as resolved.
Show resolved Hide resolved

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)
Expand Down
6 changes: 3 additions & 3 deletions docs/docs-content/vm-management/vm-management.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ Palette VMO simplifies infrastructure management, improves resource utilization,

You will benefit from Palette VMO in the following cases:

- You are planning to shift from VMs to containers gradually and want to continue running both during the transition.
- You are planning to gradually shift from VMs to containers and want to continue using both during the transition.

- Your established infrastructure combines containers and VMs, and you want to manage them more effectively.

Expand All @@ -36,12 +36,12 @@ To get started with Palette VMO, review the [Architecture](./architecture.md) pa
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.

Once your VMO cluster is up and running, refer to the [Create and Manage VMs](./create-manage-vm/create-manage-vm.md)
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.

Finally, refer to the [Role-based access control (RBAC)](./rbac/rbac.md) section for information on configuring roles
Finally, refer to the [Role-based Access Control (RBAC)](./rbac/rbac.md) section for information on configuring roles
and permissions for your VMs.

## Resources
Expand Down
Binary file not shown.
Loading