',
- },
- {
- href: 'https://elemental.docs.rancher.com/',
- label: 'Elemental',
- className: 'navbar__icon navbar__elemental',
- },
- {
- href: 'https://fleet.rancher.io/',
- label: 'Fleet',
- className: 'navbar__icon navbar__fleet',
- },
- {
- href: 'https://rancherdesktop.io/',
- label: 'Rancher Desktop',
- className: 'navbar__icon navbar__rancherdesktop',
- },
- {
- type: 'html',
- value: '',
- },
- {
- href: 'https://opensource.suse.com/',
- label: 'More Projects...',
- className: 'navbar__icon navbar__suse',
- },
- ],
- },
],
},
colorMode: {
diff --git a/src/theme/DocItem/Paginator/index.js b/src/theme/DocItem/Paginator/index.js
new file mode 100644
index 00000000..038ab08f
--- /dev/null
+++ b/src/theme/DocItem/Paginator/index.js
@@ -0,0 +1,12 @@
+import React from 'react';
+import DocItemPaginator from '@theme-original/DocItem/Paginator';
+
+export default function DocItemPaginatorWrapper(props) {
+ return (
+ <>
+ {/*
+
+ */}
+ >
+ );
+}
diff --git a/src/theme/DocVersionBadge/index.js b/src/theme/DocVersionBadge/index.js
new file mode 100644
index 00000000..dbe5698e
--- /dev/null
+++ b/src/theme/DocVersionBadge/index.js
@@ -0,0 +1,35 @@
+import React from 'react';
+import clsx from 'clsx';
+import Translate from '@docusaurus/Translate';
+import {ThemeClassNames} from '@docusaurus/theme-common';
+import {useDocsVersion} from '@docusaurus/theme-common/internal';
+
+function getBadgeLabel(versionLabel) {
+ if (/latest/i.test(versionLabel)) {
+ return 'Latest';
+ }
+ return versionLabel;
+}
+
+export default function DocVersionBadge({className}) {
+ const versionMetadata = useDocsVersion();
+
+ if (!versionMetadata.badge) {
+ return null;
+ }
+
+ return (
+
+
+ {'Version: {versionLabel}'}
+
+
+ );
+}
diff --git a/src/theme/LastUpdated/index.js b/src/theme/LastUpdated/index.js
new file mode 100644
index 00000000..da3fecd0
--- /dev/null
+++ b/src/theme/LastUpdated/index.js
@@ -0,0 +1,51 @@
+import React from 'react';
+import Translate from '@docusaurus/Translate';
+import {ThemeClassNames} from '@docusaurus/theme-common';
+
+function getCurrentDate() {
+ const now = new Date();
+ const formatted = new Intl.DateTimeFormat('en-US', {
+ month: 'short',
+ day: 'numeric',
+ year: 'numeric',
+ timeZone: 'Asia/Jakarta',
+ }).format(now);
+
+ return {
+ dateTime: now.toISOString(),
+ formatted,
+ };
+}
+
+export default function LastUpdated() {
+ const currentDate = getCurrentDate();
+
+ return (
+
+
+
+
+ ),
+ }}>
+ {' on {date}'}
+
+ ),
+ byUser: '',
+ }}>
+ {'Last updated{atDate}{byUser}'}
+
+
+ );
+}
diff --git a/static/img/v1.0/install-hv/first-time-login.jpeg b/static/img/v1.0/install-hv/first-time-login.jpeg
new file mode 100644
index 00000000..f6edf713
Binary files /dev/null and b/static/img/v1.0/install-hv/first-time-login.jpeg differ
diff --git a/static/img/v1.2/install-hv/choose-installation-modes.png b/static/img/v1.2/install-hv/choose-installation-modes.png
new file mode 100644
index 00000000..adf64a5b
Binary files /dev/null and b/static/img/v1.2/install-hv/choose-installation-modes.png differ
diff --git a/static/img/v1.2/install-hv/choose-installation-target-data-disk.png b/static/img/v1.2/install-hv/choose-installation-target-data-disk.png
new file mode 100644
index 00000000..8ccf1fff
Binary files /dev/null and b/static/img/v1.2/install-hv/choose-installation-target-data-disk.png differ
diff --git a/static/img/v1.2/install-hv/config-cluster-cidrs.png b/static/img/v1.2/install-hv/config-cluster-cidrs.png
new file mode 100644
index 00000000..61170e54
Binary files /dev/null and b/static/img/v1.2/install-hv/config-cluster-cidrs.png differ
diff --git a/static/img/v1.2/install-hv/config-cluster-token.png b/static/img/v1.2/install-hv/config-cluster-token.png
new file mode 100644
index 00000000..2406ac0d
Binary files /dev/null and b/static/img/v1.2/install-hv/config-cluster-token.png differ
diff --git a/static/img/v1.2/install-hv/config-dns-server.png b/static/img/v1.2/install-hv/config-dns-server.png
new file mode 100644
index 00000000..d1c216bf
Binary files /dev/null and b/static/img/v1.2/install-hv/config-dns-server.png differ
diff --git a/static/img/v1.2/install-hv/config-hostname.png b/static/img/v1.2/install-hv/config-hostname.png
new file mode 100644
index 00000000..3e0f90f9
Binary files /dev/null and b/static/img/v1.2/install-hv/config-hostname.png differ
diff --git a/static/img/v1.2/install-hv/config-license.jpeg b/static/img/v1.2/install-hv/config-license.jpeg
new file mode 100644
index 00000000..725e9cf3
Binary files /dev/null and b/static/img/v1.2/install-hv/config-license.jpeg differ
diff --git a/static/img/v1.2/install-hv/config-network.png b/static/img/v1.2/install-hv/config-network.png
new file mode 100644
index 00000000..a7653f42
Binary files /dev/null and b/static/img/v1.2/install-hv/config-network.png differ
diff --git a/static/img/v1.2/install-hv/config-ntp-server.png b/static/img/v1.2/install-hv/config-ntp-server.png
new file mode 100644
index 00000000..ff34af6c
Binary files /dev/null and b/static/img/v1.2/install-hv/config-ntp-server.png differ
diff --git a/static/img/v1.2/install-hv/config-password.png b/static/img/v1.2/install-hv/config-password.png
new file mode 100644
index 00000000..7fc0a9a5
Binary files /dev/null and b/static/img/v1.2/install-hv/config-password.png differ
diff --git a/static/img/v1.2/install-hv/config-proxy.png b/static/img/v1.2/install-hv/config-proxy.png
new file mode 100644
index 00000000..c714fe06
Binary files /dev/null and b/static/img/v1.2/install-hv/config-proxy.png differ
diff --git a/static/img/v1.2/install-hv/config-virtual-ip.png b/static/img/v1.2/install-hv/config-virtual-ip.png
new file mode 100644
index 00000000..025dae70
Binary files /dev/null and b/static/img/v1.2/install-hv/config-virtual-ip.png differ
diff --git a/static/img/v1.2/install-hv/confirm-install.png b/static/img/v1.2/install-hv/confirm-install.png
new file mode 100644
index 00000000..e554582b
Binary files /dev/null and b/static/img/v1.2/install-hv/confirm-install.png differ
diff --git a/static/img/v1.2/install-hv/confirm-license.jpeg b/static/img/v1.2/install-hv/confirm-license.jpeg
new file mode 100644
index 00000000..13522a37
Binary files /dev/null and b/static/img/v1.2/install-hv/confirm-license.jpeg differ
diff --git a/static/img/v1.2/install-hv/edit-menu-entry.png b/static/img/v1.2/install-hv/edit-menu-entry.png
new file mode 100644
index 00000000..08ff07df
Binary files /dev/null and b/static/img/v1.2/install-hv/edit-menu-entry.png differ
diff --git a/static/img/v1.2/install-hv/eula.jpeg b/static/img/v1.2/install-hv/eula.jpeg
new file mode 100644
index 00000000..17451abc
Binary files /dev/null and b/static/img/v1.2/install-hv/eula.jpeg differ
diff --git a/static/img/v1.2/install-hv/force-resolution.png b/static/img/v1.2/install-hv/force-resolution.png
new file mode 100644
index 00000000..3f61f8be
Binary files /dev/null and b/static/img/v1.2/install-hv/force-resolution.png differ
diff --git a/static/img/v1.2/install-hv/grub-menu.png b/static/img/v1.2/install-hv/grub-menu.png
new file mode 100644
index 00000000..be099484
Binary files /dev/null and b/static/img/v1.2/install-hv/grub-menu.png differ
diff --git a/static/img/v1.2/install-hv/hardware-checks.png b/static/img/v1.2/install-hv/hardware-checks.png
new file mode 100644
index 00000000..a68ae468
Binary files /dev/null and b/static/img/v1.2/install-hv/hardware-checks.png differ
diff --git a/static/img/v1.2/install-hv/import-ssh-keys.png b/static/img/v1.2/install-hv/import-ssh-keys.png
new file mode 100644
index 00000000..c5bca59d
Binary files /dev/null and b/static/img/v1.2/install-hv/import-ssh-keys.png differ
diff --git a/static/img/v1.2/install-hv/iso-installation.png b/static/img/v1.2/install-hv/iso-installation.png
new file mode 100644
index 00000000..11919795
Binary files /dev/null and b/static/img/v1.2/install-hv/iso-installation.png differ
diff --git a/static/img/v1.2/install-hv/iso-installed.png b/static/img/v1.2/install-hv/iso-installed.png
new file mode 100644
index 00000000..3486569b
Binary files /dev/null and b/static/img/v1.2/install-hv/iso-installed.png differ
diff --git a/static/img/v1.2/install-hv/remote-config.png b/static/img/v1.2/install-hv/remote-config.png
new file mode 100644
index 00000000..8b7d2777
Binary files /dev/null and b/static/img/v1.2/install-hv/remote-config.png differ
diff --git a/static/img/v1.2/install-hv/select-role.png b/static/img/v1.2/install-hv/select-role.png
new file mode 100644
index 00000000..bff0d462
Binary files /dev/null and b/static/img/v1.2/install-hv/select-role.png differ
diff --git a/static/img/v1.2/install-hv/setup-page.jpeg b/static/img/v1.2/install-hv/setup-page.jpeg
new file mode 100644
index 00000000..2319520f
Binary files /dev/null and b/static/img/v1.2/install-hv/setup-page.jpeg differ
diff --git a/static/img/v1.2/storageclass-hv/create-hdd-storageclasses.png b/static/img/v1.2/storageclass-hv/create-hdd-storageclasses.png
index 9c3833e2..9d6dd7f3 100644
Binary files a/static/img/v1.2/storageclass-hv/create-hdd-storageclasses.png and b/static/img/v1.2/storageclass-hv/create-hdd-storageclasses.png differ
diff --git a/static/img/v1.3/image-hv/create-decrypted-image.png b/static/img/v1.3/image-hv/create-decrypted-image.png
index 9cc96096..43992141 100644
Binary files a/static/img/v1.3/image-hv/create-decrypted-image.png and b/static/img/v1.3/image-hv/create-decrypted-image.png differ
diff --git a/static/img/v1.3/troubleshooting-hv/edit-rancher-monitoring-yaml.png b/static/img/v1.3/troubleshooting-hv/edit-rancher-monitoring-yaml.png
index 899cf11c..1a99bf00 100644
Binary files a/static/img/v1.3/troubleshooting-hv/edit-rancher-monitoring-yaml.png and b/static/img/v1.3/troubleshooting-hv/edit-rancher-monitoring-yaml.png differ
diff --git a/static/img/v1.3/troubleshooting-hv/edit-rancher-monitoring.png b/static/img/v1.3/troubleshooting-hv/edit-rancher-monitoring.png
index 81f91e88..706a89b4 100644
Binary files a/static/img/v1.3/troubleshooting-hv/edit-rancher-monitoring.png and b/static/img/v1.3/troubleshooting-hv/edit-rancher-monitoring.png differ
diff --git a/static/img/v1.3/vm-dhcp-controller-hv/create-vm.png b/static/img/v1.3/vm-dhcp-controller-hv/create-vm.png
new file mode 100644
index 00000000..86ce3d2a
Binary files /dev/null and b/static/img/v1.3/vm-dhcp-controller-hv/create-vm.png differ
diff --git a/static/img/v1.3/vm-dhcp-controller-hv/enable-addon.png b/static/img/v1.3/vm-dhcp-controller-hv/enable-addon.png
new file mode 100644
index 00000000..c15270b6
Binary files /dev/null and b/static/img/v1.3/vm-dhcp-controller-hv/enable-addon.png differ
diff --git a/static/img/v1.3/vm-dhcp-controller-hv/vm-console.png b/static/img/v1.3/vm-dhcp-controller-hv/vm-console.png
new file mode 100644
index 00000000..63ee841d
Binary files /dev/null and b/static/img/v1.3/vm-dhcp-controller-hv/vm-console.png differ
diff --git a/static/img/v1.3/vm-dhcp-controller-hv/vm-network.png b/static/img/v1.3/vm-dhcp-controller-hv/vm-network.png
new file mode 100644
index 00000000..35d36b04
Binary files /dev/null and b/static/img/v1.3/vm-dhcp-controller-hv/vm-network.png differ
diff --git a/static/img/v1.4/storagenetwork-hv/storage-network-disabled.png b/static/img/v1.4/storagenetwork-hv/storage-network-disabled.png
index e12e5158..ce3d3c74 100644
Binary files a/static/img/v1.4/storagenetwork-hv/storage-network-disabled.png and b/static/img/v1.4/storagenetwork-hv/storage-network-disabled.png differ
diff --git a/static/img/v1.4/storagenetwork-hv/storage-network-enabled.png b/static/img/v1.4/storagenetwork-hv/storage-network-enabled.png
index 23c57aa4..346407ce 100644
Binary files a/static/img/v1.4/storagenetwork-hv/storage-network-enabled.png and b/static/img/v1.4/storagenetwork-hv/storage-network-enabled.png differ
diff --git a/static/img/v1.5/advanced-hv/various-volumes-for-vm-created.png b/static/img/v1.5/advanced-hv/various-volumes-for-vm-created.png
new file mode 100644
index 00000000..feff4017
Binary files /dev/null and b/static/img/v1.5/advanced-hv/various-volumes-for-vm-created.png differ
diff --git a/versioned_docs/version-v1.6/advanced/addons/lvm-local-storage.md b/versioned_docs/version-v1.6/advanced/addons/lvm-local-storage.md
index 066e14e9..5973ae78 100644
--- a/versioned_docs/version-v1.6/advanced/addons/lvm-local-storage.md
+++ b/versioned_docs/version-v1.6/advanced/addons/lvm-local-storage.md
@@ -8,11 +8,11 @@ title: "Local Storage Support (Experimental)"
-:::note
+
Hypervisor allows you to use local storage on the host to create persistent volumes for your workloads with better performance and latency. This functionality is made possible by LVM, which provides logical volume management facilities on Linux.
@@ -22,11 +22,11 @@ The **hypervisor-csi-driver-lvm** add-on is a CSI driver that supports local pat
If you are using the Hypervisor kubeconfig file, you can install the add-on by performing the following steps:
-1. Install the add-on by running the following command:
+
1. On the Hypervisor UI, go to **Advanced** > **Add-ons**.
diff --git a/versioned_docs/version-v1.6/advanced/addons/managed-dhcp.md b/versioned_docs/version-v1.6/advanced/addons/managed-dhcp.md
index eaebb598..785208c4 100644
--- a/versioned_docs/version-v1.6/advanced/addons/managed-dhcp.md
+++ b/versioned_docs/version-v1.6/advanced/addons/managed-dhcp.md
@@ -10,11 +10,12 @@ title: "Managed DHCP (Experimental)"
:::note
-**hypervisor-vm-dhcp-controller** is an *experimental* add-on. It is not included in the Hypervisor ISO, but you can download it from the [experimental-addons repository](https://github.com/harvester/experimental-addons). For more information about experimental features, see [Feature Labels](../../getting-started/document-conventions.md#feature-labels).
+**hypervisor-vm-dhcp-controller** is an *experimental* add-on. For more information about experimental features, see [Feature Labels](../../getting-started/document-conventions.md#feature-labels).
+
:::
-You can configure IP pool information and serve IP addresses to VMs running on Hypervisor clusters using the embedded Managed DHCP feature. This feature, which is an alternative to the standalone DHCP server, leverages the [hypervisor-vm-dhcp-controller](https://github.com/harvester/vm-dhcp-controller) add-on to simplify guest cluster deployment.
+
:::note
@@ -74,13 +75,13 @@ kubectl -n kube-system get pods -l component=kube-apiserver -o yaml | grep "serv
After installation, enable the add-on on the **Dashboard** screen of the Hypervisor UI or using the command-line tool kubectl.
-
+
## Using the Add-on
1. On the **Dashboard** screen of the Hypervisor UI, [create a VM Network](../../networking/harvester-network.md#create-a-vm-network).
- 
+ 
1. Create an IPPool object using the command-line tool kubectl.
@@ -111,7 +112,7 @@ After installation, enable the add-on on the **Dashboard** screen of the Hypervi
1. [Create a VM](../../vm/create-vm.md#how-to-create-a-vm) that is connected to the VM Network you previously created.
- 
+ 
1. Wait for the corresponding VirtualMachineNetworkConfig object to be created and for the MAC address of the VM's network interface to be applied to the object.
1. Check the `.status` field of the IPPool and VirtualMachineNetworkConfig objects, and verify that the IP address is allocated and assigned to the MAC address.
@@ -213,7 +214,7 @@ After installation, enable the add-on on the **Dashboard** screen of the Hypervi
1. Check the [VM's serial console](../../vm/access-to-the-vm.md#access-with-the-harvester-ui) and verify that the IP address is correctly configured on the network interface (via DHCP).
- 
+ 
## Pods and CRDs
@@ -300,3 +301,4 @@ After the VirtualMachineNetworkConfig object is created, the controller attempts
Manual creation of VirtualMachineNetworkConfig objects for VMs is unnecessary in most cases because **hypervisor-vm-dhcp-controller** handles that task during the VirtualMachine reconciliation process. Automatically-created VirtualMachineNetworkConfig objects are deleted when VirtualMachine objects are removed.
:::
+
diff --git a/versioned_docs/version-v1.6/advanced/addons/pcidevices.md b/versioned_docs/version-v1.6/advanced/addons/pcidevices.md
index e2b69d5e..bd81228f 100644
--- a/versioned_docs/version-v1.6/advanced/addons/pcidevices.md
+++ b/versioned_docs/version-v1.6/advanced/addons/pcidevices.md
@@ -67,29 +67,29 @@ This is just like installing drivers in the host. The PCI passthrough feature wi
## Known Issues
-* [Issue #6648](https://github.com/harvester/harvester/issues/6648): A virtual machine can be scheduled on an incorrect node if the cluster has multiple instances of the same PCI device.
+
The pcidevices-controller add-on currently uses unique resource descriptors to publish devices to the kubelet. If multiple `PCIDeviceClaims` of the same device type exist within the cluster, the same unique resource descriptor is used for these `PCIDeviceClaims`, and so the virtual machine may be scheduled on an incorrect node. To ensure that the correct device and node are used, select **Run VM on specific node** when configuring **Node Scheduling** settings.

## SRIOV Network Devices
-_Available as of v1.2.0_
+

The `pcidevices-controller` addon can now scan network interfaces on the underlying hosts and check if they support SRIOV Virtual Functions (VFs). If a valid device is found, `pcidevices-controller` will generate a new `SRIOVNetworkDevice` object.
-
+
To create VFs on a SriovNetworkDevice, you can click **⋮ > Enable** and then define the **Number of Virtual Functions**.
-
+
-
+
The `pcidevices-controller` will define the VFs on the network interface and report the new PCI device status for the newly created VFs.
-
+
On the next re-scan, the `pcidevices-controller` will create the PCIDevices for VFs. This can take up to 1 minute.
@@ -97,14 +97,14 @@ You can now navigate to the **PCI Devices** page to view the new devices.
We have also introduced a new filter to help you filter PCI devices by the underlying network interface.
-
+
The newly created PCI device can be passed through to virtual machines like any other PCI device.
-
+
## USB Devices
-_Available as of v1.4.0_
+
A `USBDevice` resource in Hypervisor represents a USB device on the node. USB devices can be "passed through" by the hypervisor to allow direct access from VMs. This is accomplished through the `pcidevices-controller` add-on. To use USB passthrough, you can either create a `USBDeviceClaim` resource or enable the feature on the Hypervisor UI.
diff --git a/versioned_docs/version-v1.6/advanced/addons/rancher-vcluster.md b/versioned_docs/version-v1.6/advanced/addons/rancher-vcluster.md
index 6b17c314..5bae7dde 100644
--- a/versioned_docs/version-v1.6/advanced/addons/rancher-vcluster.md
+++ b/versioned_docs/version-v1.6/advanced/addons/rancher-vcluster.md
@@ -8,11 +8,11 @@ title: "Rancher Manager (Experimental)"
-:::note
+
The **rancher-vcluster** add-on allows you to run Rancher as a workload on the underlying Hypervisor cluster and is implemented using [vCluster](https://www.vcluster.com).
@@ -20,13 +20,13 @@ The add-on runs a nested K3s cluster in the **rancher-vcluster** namespace and d
During the installation, the ingress for Rancher is synced to the Hypervisor cluster, allowing end users to access Rancher.
-## Installing the Add-on
+
## Configuring the Add-on
diff --git a/versioned_docs/version-v1.6/advanced/addons/seeder.md b/versioned_docs/version-v1.6/advanced/addons/seeder.md
index 710bae28..f37715e0 100644
--- a/versioned_docs/version-v1.6/advanced/addons/seeder.md
+++ b/versioned_docs/version-v1.6/advanced/addons/seeder.md
@@ -87,7 +87,8 @@ If you selected **Enabled** in the **Event** section of the **Out-of-Band Access
## Troubleshooting
-The **Out-of-Band Access** settings screen may become unresponsive and display the message `Waiting for "inventories.metal.hypervisorhci.io" to be ready`. You must refresh the page whenever this occurs. For more information, see [Issue #4412](https://github.com/harvester/harvester/issues/4412).
+The **Out-of-Band Access** settings screen may become unresponsive and display the message `Waiting for "inventories.metal.hypervisorhci.io" to be ready`. You must refresh the page whenever this occurs.
+
If you encounter persistent issues while using **hypervisor-seeder**, submit the following to SUSE Support:
diff --git a/versioned_docs/version-v1.6/advanced/csidriver.md b/versioned_docs/version-v1.6/advanced/csidriver.md
index 181f6dd4..4521cbab 100644
--- a/versioned_docs/version-v1.6/advanced/csidriver.md
+++ b/versioned_docs/version-v1.6/advanced/csidriver.md
@@ -120,7 +120,7 @@ When [creating a virtual machine](../vm/create-vm.md) using the Hypervisor UI (*
In the following example, the root volume is created using NFS, and the data volume is created using the Longhorn V2 Data Engine.
-
+
### Volume Creation
@@ -221,10 +221,10 @@ If the server is already running, check the `squash` option. You must disable sq
Once created, you can use the StorageClass to create virtual machine images, root volumes, and data volumes.
-## References
+
## Known Issues
@@ -270,7 +270,7 @@ Increasing the overhead value does not affect the image PVC size. The scratch vo
:::
-
+
### 2. Multipath support
@@ -319,3 +319,4 @@ spec:
- multipathd
paused: false
```
+
diff --git a/versioned_docs/version-v1.6/advanced/customsuseimages.md b/versioned_docs/version-v1.6/advanced/customsuseimages.md
index df532f90..fe65ea35 100644
--- a/versioned_docs/version-v1.6/advanced/customsuseimages.md
+++ b/versioned_docs/version-v1.6/advanced/customsuseimages.md
@@ -1,6 +1,7 @@
---
id: customsuseimages
sidebar_position: 8
+sidebar_class_name: hide-sidebar-item
sidebar_label: Custom SUSE VM Images
title: "Custom SUSE VM Images"
draft: true
diff --git a/versioned_docs/version-v1.6/advanced/longhorn-v2.md b/versioned_docs/version-v1.6/advanced/longhorn-v2.md
index 0baea174..c3927577 100644
--- a/versioned_docs/version-v1.6/advanced/longhorn-v2.md
+++ b/versioned_docs/version-v1.6/advanced/longhorn-v2.md
@@ -97,7 +97,8 @@ Starting with Hypervisor v1.5.0 and Longhorn v1.8.1, these limitations are remov
:::info important
-- If you are using the SPDK AIO bdev driver (i.e. if your disks were added using `/dev/sd*` device paths), _V2 volumes created before the upgrade will be unusable after upgrading, and cannot be recovered_. For more details see https://github.com/longhorn/longhorn/issues/10461.
+- If you are using the SPDK AIO bdev driver (i.e. if your disks were added using `/dev/sd*` device paths), _V2 volumes created before the upgrade will be unusable after upgrading, and cannot be recovered_.
+
- If you are using the SPDK NVMe bdev driver (i.e. your disks were added using `/dev/nvme*` device paths), V2 volumes created before the upgrade will function after the upgrade, but will continue to use the Longhorn v1.7.x engine. As mentioned above, these volumes will remain non-migratable, but it is possible to export the data and create new migratable volumes (see below for details).
diff --git a/versioned_docs/version-v1.6/advanced/settings.md b/versioned_docs/version-v1.6/advanced/settings.md
index a016ac97..c1c3db46 100644
--- a/versioned_docs/version-v1.6/advanced/settings.md
+++ b/versioned_docs/version-v1.6/advanced/settings.md
@@ -1,12 +1,13 @@
---
id: index
+slug: /advanced/settings
sidebar_position: 1
sidebar_label: Settings
title: "Settings"
---
-
+
The following is a list of advanced settings that you can use in Hypervisor. You can modify the `settings.hypervisorhci.io` custom resource using both the Hypervisor UI and the `kubectl` command.
@@ -373,7 +374,7 @@ value: ""
When the `value` field is `""`, the `default` field is used.
-When the `value` field is `"0"`, the `additional-guest-memory-overhead-ratio` setting is not used, Hypervisor will fallback to the legacy [Reserved Memory](https://docs.harvesterhci.io/v1.3/vm/index#reserved-memory) which is used in Hypervisor v1.3.x, v1.2.x and earlier versions. When a new VM is created and the `Reserved Memory` field on WebUI is not filled, this VM will get the `100Mi default Reserved Memory`.
+When the `value` field is `"0"`, the `additional-guest-memory-overhead-ratio` setting is not used, Hypervisor will fallback to the legacy [Reserved Memory](/v1.6/vm/index#reserved-memory) which is used in Hypervisor v1.3.x, v1.2.x and earlier versions. When a new VM is created and the `Reserved Memory` field on WebUI is not filled, this VM will get the `100Mi default Reserved Memory`.
If you have already set a valid value on the `spec.configuration.additionalGuestMemoryOverheadRatio` field of `kubevirt` object before Hypervisor v1.4.0 and then upgrade to v1.4.0, Hypervisor will fetch and convert it to the `value` field of this setting on the upgrade path. After that, Hypervisor will always use this setting to sync to the `kubevirt` object.
@@ -450,7 +451,7 @@ There is no `one-fit-all` solution.
:::important
-If you have set the `Reserved Memory` field for each VM and plan to keep the legacy [Reserved Memory](https://docs.harvesterhci.io/v1.3/vm/index#reserved-memory), after the cluster is upgraded to Hypervisor v1.4.0, you can set the `additional-guest-memory-overhead-ratio` setting to `"0"`.
+If you have set the `Reserved Memory` field for each VM and plan to keep the legacy [Reserved Memory](/v1.6/vm/index#reserved-memory), after the cluster is upgraded to Hypervisor v1.4.0, you can set the `additional-guest-memory-overhead-ratio` setting to `"0"`.
Changing the `additional-guest-memory-overhead-ratio` setting affects the VMs per following rules:
diff --git a/versioned_docs/version-v1.6/advanced/singlenodeclusters.md b/versioned_docs/version-v1.6/advanced/singlenodeclusters.md
index 08d3f440..0ff80a9d 100644
--- a/versioned_docs/version-v1.6/advanced/singlenodeclusters.md
+++ b/versioned_docs/version-v1.6/advanced/singlenodeclusters.md
@@ -13,7 +13,9 @@ keywords:
-Hypervisor supports single-node clusters for implementations that can tolerate lower resilience or require minimal initial deployment resources. You can create single-node clusters using the standard installation methods ([ISO](../install/iso-install.md), [USB](../install/usb-install.md), and [PXE boot](../install/pxe-boot-install.md)).
+Hypervisor supports single-node clusters for implementations that can tolerate lower resilience or require minimal initial deployment resources. You can create single-node clusters using the standard installation methods [ISO](../install/iso-install.md) and [USB](../install/usb-install.md).
+
+
Single-node clusters support most Hypervisor features, including the creation of RKE2 clusters and node upgrades (with some limitations). However, this deployment type has the following key disadvantages:
diff --git a/versioned_docs/version-v1.6/advanced/storageclass.md b/versioned_docs/version-v1.6/advanced/storageclass.md
index eabb9104..a26dc334 100644
--- a/versioned_docs/version-v1.6/advanced/storageclass.md
+++ b/versioned_docs/version-v1.6/advanced/storageclass.md
@@ -12,11 +12,11 @@ Hypervisor uses StorageClasses to describe how Longhorn must provision volumes.
:::note
-The default StorageClass `harvester-longhorn` has a replica count value of `3` for high availability. If you use `harvester-longhorn` in a single-node cluster, Longhorn is unable to create the default number of replicas, and volumes are marked as *Degraded* on the Hypervisor UI.
+The default StorageClass `hypervisor-longhorn` has a replica count value of `3` for high availability. If you use `hypervisor-longhorn` in a single-node cluster, Longhorn is unable to create the default number of replicas, and volumes are marked as *Degraded* on the Hypervisor UI.
To avoid this issue, you can perform either of the following actions:
-- Change the [replica count](../install/harvester-configuration/#installharvesterstorage_classreplica_count) of `harvester-longhorn` to `1` using a [Hypervisor configuration](../install/harvester-configuration.md) file.
+- Change the [replica count](../install/harvester-configuration/#installharvesterstorage_classreplica_count) of `hypervisor-longhorn` to `1` using a [Hypervisor configuration](../install/harvester-configuration.md) file.
- [Create a new StorageClass](../advanced/storageclass.md#creating-a-storageclass) with the **Number of Replicas** parameter set to `1`. Once created, locate the new StorageClass in the list and then select **⋮ > Set as Default**.
@@ -101,10 +101,11 @@ allowVolumeExpansion: true
```
+{/*
```hcl
-resource "harvester_storageclass" "single-replica" {
+resource "hypervisor_storageclass" "single-replica" {
name = "single-replica"
is_default = "true"
@@ -121,6 +122,7 @@ resource "harvester_storageclass" "single-replica" {
```
+*/}
## Data Locality Settings
@@ -174,10 +176,10 @@ Each field on the **CDI Settings** screen corresponds to an annotation in the St
| UI Field | Annotation | Description | Supported Values | Example |
| --- | --- | --- | --- | --- |
-| **Volume Mode / Access Modes** | `cdi.harvesterhci.io/storageProfileVolumeModeAccessModes` | Default PVC volume mode and access modes | JSON object with volume modes and access modes | `'{"Block":["ReadWriteOnce"]}'` |
-| **Volume Snapshot Class** | `cdi.harvesterhci.io/storageProfileVolumeSnapshotClass` | VolumeSnapshotClass name to be used when taking snapshots of virtual machine images under this StorageClass. This setting applies only when you are using the `snapshot` clone strategy. If you have already configured the `volumeSnapshotClassName` in the `csi-driver-config` setting for the corresponding provisioner, that value will be used as the default. | Valid VolumeSnapshotClass name | `lvm-snapshot`, `longhorn-snapshot` |
-| **Clone Strategy** | `cdi.harvesterhci.io/storageProfileCloneStrategy` | Clone strategy to be used for volumes created with VM images that use this StorageClass. | `copy`: Copies blocks of data over the network `snapshot`: Clones the volume by creating a temporary VolumeSnapshot and restoring it to a new PVC `csi-clone`: Clones the volume using a CSI clone operation | `snapshot` |
-| **File System Overhead** | `cdi.harvesterhci.io/filesystemOverhead` | Percentage of filesystem overhead to be considered when calculating the PVC size. | Decimal value between 0 and 1 with a maximum of 3 digits | `0.05` |
+| **Volume Mode / Access Modes** | `cdi.hypervisorhci.io/storageProfileVolumeModeAccessModes` | Default PVC volume mode and access modes | JSON object with volume modes and access modes | `'{"Block":["ReadWriteOnce"]}'` |
+| **Volume Snapshot Class** | `cdi.hypervisorhci.io/storageProfileVolumeSnapshotClass` | VolumeSnapshotClass name to be used when taking snapshots of virtual machine images under this StorageClass. This setting applies only when you are using the `snapshot` clone strategy. If you have already configured the `volumeSnapshotClassName` in the `csi-driver-config` setting for the corresponding provisioner, that value will be used as the default. | Valid VolumeSnapshotClass name | `lvm-snapshot`, `longhorn-snapshot` |
+| **Clone Strategy** | `cdi.hypervisorhci.io/storageProfileCloneStrategy` | Clone strategy to be used for volumes created with VM images that use this StorageClass. | `copy`: Copies blocks of data over the network `snapshot`: Clones the volume by creating a temporary VolumeSnapshot and restoring it to a new PVC `csi-clone`: Clones the volume using a CSI clone operation | `snapshot` |
+| **File System Overhead** | `cdi.hypervisorhci.io/filesystemOverhead` | Percentage of filesystem overhead to be considered when calculating the PVC size. | Decimal value between 0 and 1 with a maximum of 3 digits | `0.05` |
Here is an example of a StorageClass YAML configuration:
@@ -187,10 +189,10 @@ kind: StorageClass
metadata:
name: lvm
annotations:
- cdi.harvesterhci.io/storageProfileCloneStrategy: snapshot
- cdi.harvesterhci.io/storageProfileVolumeModeAccessModes: '{"Block":["ReadWriteOnce"]}'
- cdi.harvesterhci.io/storageProfileVolumeSnapshotClass: lvm-snapshot
- cdi.harvesterhci.io/filesystemOverhead: '0.05'
+ cdi.hypervisorhci.io/storageProfileCloneStrategy: snapshot
+ cdi.hypervisorhci.io/storageProfileVolumeModeAccessModes: '{"Block":["ReadWriteOnce"]}'
+ cdi.hypervisorhci.io/storageProfileVolumeSnapshotClass: lvm-snapshot
+ cdi.hypervisorhci.io/filesystemOverhead: '0.05'
```
:::caution
@@ -202,15 +204,15 @@ Avoid changing the storage profile or CDI directly. Instead, allow the Hyperviso
The following are the default values for the supported StorageClasses:
- Longhorn V2 Data Engine
- - `cdi.harvesterhci.io/storageProfileCloneStrategy`: `"copy"`
- - `cdi.harvesterhci.io/storageProfileVolumeSnapshotClass`: `"longhorn-snapshot"`
+ - `cdi.hypervisorhci.io/storageProfileCloneStrategy`: `"copy"`
+ - `cdi.hypervisorhci.io/storageProfileVolumeSnapshotClass`: `"longhorn-snapshot"`
- LVM
- - `cdi.harvesterhci.io/storageProfileVolumeModeAccessModes`: `'{"Block":["ReadWriteOnce"]}'`
- - `cdi.harvesterhci.io/storageProfileCloneStrategy`: `"snapshot"`
- - `cdi.harvesterhci.io/storageProfileVolumeSnapshotClass`: `"lvm-snapshot"`
+ - `cdi.hypervisorhci.io/storageProfileVolumeModeAccessModes`: `'{"Block":["ReadWriteOnce"]}'`
+ - `cdi.hypervisorhci.io/storageProfileCloneStrategy`: `"snapshot"`
+ - `cdi.hypervisorhci.io/storageProfileVolumeSnapshotClass`: `"lvm-snapshot"`
-- Third-party storage: See [`storagecapabilities.go`](https://github.com/kubevirt/containerized-data-importer/blob/v1.61.1/pkg/storagecapabilities/storagecapabilities.go#L35-L127) in the CDI repository. If the provisioner is not listed, you must specify the `cdi.harvesterhci.io/storageProfileVolumeModeAccessModes` annotation.
+- Third-party storage: See [`storagecapabilities.go`](https://github.com/kubevirt/containerized-data-importer/blob/v1.61.1/pkg/storagecapabilities/storagecapabilities.go#L35-L127) in the CDI repository. If the provisioner is not listed, you must specify the `cdi.hypervisorhci.io/storageProfileVolumeModeAccessModes` annotation.
## Use Cases
diff --git a/versioned_docs/version-v1.6/advanced/storagenetwork.md b/versioned_docs/version-v1.6/advanced/storagenetwork.md
index dc76a6c8..88951d5d 100644
--- a/versioned_docs/version-v1.6/advanced/storagenetwork.md
+++ b/versioned_docs/version-v1.6/advanced/storagenetwork.md
@@ -40,25 +40,27 @@ Before you begin configuring the storage network, ensure that the following requ
Example: If a cluster has five nodes with two disks each, and ten images are to be uploaded simultaneously, the IP range should be greater than or equal to `/26` (calculation: (5 x 2) + (5 x 2) + 10 = 30).
- - Excludes IP addresses that Longhorn pods and the storage network must not use, such as addresses reserved for [RWX volumes](../rancher/csi-driver.md#rwx-volumes-support), the gateway, and other components.
+
- The Whereabouts CNI is installed correctly.
You can check if the `ippools.whereabouts.cni.cncf.io` CRD exists in the cluster using the command `kubectl get crd ippools.whereabouts.cni.cncf.io`.
- If an empty string is returned, add the CRDs in [this directory](https://github.com/harvester/harvester/tree/v1.1.0/deploy/charts/harvester/dependency_charts/whereabouts/crds) using the following commands:
+
+
+
- ```
- kubectl apply -f https://raw.githubusercontent.com/harvester/harvester/v1.1.0/deploy/charts/harvester/dependency_charts/whereabouts/crds/whereabouts.cni.cncf.io_ippools.yaml
-
- kubectl apply -f https://raw.githubusercontent.com/harvester/harvester/v1.1.0/deploy/charts/harvester/dependency_charts/whereabouts/crds/whereabouts.cni.cncf.io_overlappingrangeipreservations.yaml
- ```
+
+
- All virtual machines are stopped.
@@ -151,7 +153,7 @@ Once the storage network is disabled, Longhorn starts using the pod network for
You can use the following command to configure the [`storage-network`](./settings.md#storage-network) setting.
```bash
-kubectl edit settings.harvesterhci.io storage-network
+kubectl edit settings.hypervisorhci.io storage-network
```
The storage network is automatically enabled in the following situations:
@@ -161,7 +163,7 @@ The storage network is automatically enabled in the following situations:
Example:
```yaml
- apiVersion: harvesterhci.io/v1beta1
+ apiVersion: hypervisorhci.io/v1beta1
kind: Setting
metadata:
name: storage-network
@@ -171,7 +173,7 @@ The storage network is automatically enabled in the following situations:
- The value field is empty.
```yaml
- apiVersion: harvesterhci.io/v1beta1
+ apiVersion: hypervisorhci.io/v1beta1
kind: Setting
metadata:
name: storage-network
@@ -181,7 +183,7 @@ The storage network is automatically enabled in the following situations:
The storage network is disabled when you remove the value field.
```yaml
- apiVersion: harvesterhci.io/v1beta1
+ apiVersion: hypervisorhci.io/v1beta1
kind: Setting
metadata:
name: storage-network
@@ -211,19 +213,19 @@ Hypervisor does not start virtual machines automatically. You must ensure that t
1. Verify that the `storage-network` setting's status is `True` and the type is `configured` using the following command:
```bash
- kubectl get settings.harvesterhci.io storage-network -o yaml
+ kubectl get settings.hypervisorhci.io storage-network -o yaml
```
Example:
```yaml
- apiVersion: harvesterhci.io/v1beta1
+ apiVersion: hypervisorhci.io/v1beta1
kind: Setting
metadata:
annotations:
- storage-network.settings.harvesterhci.io/hash: da39a3ee5e6b4b0d3255bfef95601890afd80709
- storage-network.settings.harvesterhci.io/net-attach-def: ""
- storage-network.settings.harvesterhci.io/old-net-attach-def: ""
+ storage-network.settings.hypervisorhci.io/hash: da39a3ee5e6b4b0d3255bfef95601890afd80709
+ storage-network.settings.hypervisorhci.io/net-attach-def: ""
+ storage-network.settings.hypervisorhci.io/old-net-attach-def: ""
creationTimestamp: "2022-10-13T06:36:39Z"
generation: 51
name: storage-network
@@ -291,7 +293,7 @@ Hypervisor does not start virtual machines automatically. You must ensure that t
"default": true,
"dns": {}
},{
- "name": "harvester-system/storagenetwork-95bj4",
+ "name": "hypervisor-system/storagenetwork-95bj4",
"interface": "lhnet1",
"ips": [
"192.168.0.3"
@@ -299,7 +301,7 @@ Hypervisor does not start virtual machines automatically. You must ensure that t
"mac": "2e:51:e6:31:96:40",
"dns": {}
}]
- k8s.v1.cni.cncf.io/networks: '[{"namespace": "harvester-system", "name": "storagenetwork-95bj4",
+ k8s.v1.cni.cncf.io/networks: '[{"namespace": "hypervisor-system", "name": "storagenetwork-95bj4",
"interface": "lhnet1"}]'
kubernetes.io/psp: global-unrestricted-psp
longhorn.io/last-applied-tolerations: '[{"key":"kubevirt.io/drain","operator":"Exists","effect":"NoSchedule"}]'
@@ -318,7 +320,7 @@ Hypervisor does not start virtual machines automatically. You must ensure that t
Example:
```
- longhorn-manager-j6dhh/longhorn-manager.log:2024-03-20T16:25:24.662251001Z time="2024-03-20T16:25:24Z" level=error msg="Failed rebuilding of replica 10.0.16.26:10000" controller=longhorn-engine engine=pvc-0a151c59-ffa9-4938-9c86-59ebb296bc88-e-c2a7fe77 error="proxyServer=10.52.6.33:8501 destination=10.0.16.23:10000: failed to add replica tcp://10.0.16.26:10000 for volume: rpc error: code = Unknown desc = failed to get replica 10.0.16.26:10000: rpc error: code = Unavailable desc = all SubConns are in TransientFailure, latest connection error: connection error: desc = \"transport: Error while dialing dial tcp 10.0.16.26:10000: connect: no route to host\"" node=oml-harvester-9 volume=pvc-0a151c59-ffa9-4938-9c86-59ebb296bc88
+ longhorn-manager-j6dhh/longhorn-manager.log:2024-03-20T16:25:24.662251001Z time="2024-03-20T16:25:24Z" level=error msg="Failed rebuilding of replica 10.0.16.26:10000" controller=longhorn-engine engine=pvc-0a151c59-ffa9-4938-9c86-59ebb296bc88-e-c2a7fe77 error="proxyServer=10.52.6.33:8501 destination=10.0.16.23:10000: failed to add replica tcp://10.0.16.26:10000 for volume: rpc error: code = Unknown desc = failed to get replica 10.0.16.26:10000: rpc error: code = Unavailable desc = all SubConns are in TransientFailure, latest connection error: connection error: desc = \"transport: Error while dialing dial tcp 10.0.16.26:10000: connect: no route to host\"" node=oml-hypervisor-9 volume=pvc-0a151c59-ffa9-4938-9c86-59ebb296bc88
```
To test the communication between Longhorn pods, perform the following steps:
diff --git a/versioned_docs/version-v1.6/advanced/vgpusupport.md b/versioned_docs/version-v1.6/advanced/vgpusupport.md
index 8aefb301..d87fa736 100644
--- a/versioned_docs/version-v1.6/advanced/vgpusupport.md
+++ b/versioned_docs/version-v1.6/advanced/vgpusupport.md
@@ -9,7 +9,7 @@ draft: true
-_Available as of v1.3.0_
+
Harvester can share NVIDIA GPU support for [Single Root IO Virtualization (SR-IOV)](https://docs.nvidia.com/networking/display/mlnxofedv581011/single+root+io+virtualization+(sr-iov)). This additional capability, which is provided by the **pcidevices-controller** add-on, leverages `sriov-manage` for GPU management.
@@ -24,21 +24,21 @@ You must enable the [**nvidia-driver-toolkit** add-on](./addons/nvidiadrivertool
- GPU devices have been scanned.
- An associated `sriovgpudevices.devices.hypervisorhci.io` object has been created.
- 
+
1. Locate the device that you want to enable, and then select **:** > **Enable**.
- 
+
1. Go to the **vGPU Devices** screen and check the associated `vgpudevices.devices.hypervisorhci.io` objects.
Allow some time for the pcidevices-controller to scan the vGPU devices and for the Harvester UI to display the device information.
- 
+
1. Select a vGPU and configure a profile.
- 
+
:::note
The list of profiles depends on the GPU and the underlying /sys tree of the host. For more information about the available profiles and their capabilities, see the [NVIDIA documentation](https://docs.nvidia.com/grid/15.0/grid-vgpu-user-guide/index.html#supported-gpus-grid-vgpu).
@@ -48,7 +48,7 @@ You must enable the [**nvidia-driver-toolkit** add-on](./addons/nvidiadrivertool
1. Attach the vGPU to a new or existing VM.
- 
+
:::info important
Once a vGPU has been assigned to a VM, it may not be possible to disable the VM until the vGPU is removed.
@@ -101,7 +101,7 @@ Example ([NVIDIA A2 GPU](https://docs.nvidia.com/grid/15.0/grid-vgpu-user-guide/
If you select the `NVIDIA A2-4Q` profile, you can only configure 4 vGPU devices. Once those devices are configured, you cannot select any profiles for the remaining vGPUs.
-
+
### Technical Deep dive
diff --git a/versioned_docs/version-v1.6/advanced/witness.md b/versioned_docs/version-v1.6/advanced/witness.md
index 3ff6f426..7542e989 100644
--- a/versioned_docs/version-v1.6/advanced/witness.md
+++ b/versioned_docs/version-v1.6/advanced/witness.md
@@ -89,7 +89,7 @@ In summary, you must use a StorageClass that matches the cluster configuration.
You must repeat this procedure for every non-witness node in the cluster. The same uplink settings can be used across nodes.
- Related issue: [[BUG] Unable to select NIC to create network config when cluster contains witness node](https://github.com/harvester/harvester/issues/5325)
+
### 2. When selecting a target node for VM migration, the target list includes the witness node.
@@ -97,4 +97,4 @@ You must repeat this procedure for every non-witness node in the cluster. The sa
Do not select the witness node as the migration target. If you do, VM migration will fail.
- Related issue: [[BUG] The witness node should not be selected as a migration target](https://github.com/harvester/harvester/issues/5338)
+
diff --git a/versioned_docs/version-v1.6/airgap.md b/versioned_docs/version-v1.6/airgap.md
index 32c04430..14b7110d 100644
--- a/versioned_docs/version-v1.6/airgap.md
+++ b/versioned_docs/version-v1.6/airgap.md
@@ -51,13 +51,15 @@ When the nodes in the cluster do not use a proxy to communicate with each other,
All necessary images to install and run Hypervisor are conveniently packaged into the ISO, eliminating the need to pre-load images on bare-metal nodes. A Hypervisor cluster manages them independently and effectively behind the scenes.
-However, it's essential to understand a guest K8s cluster (e.g., RKE2 cluster) created by the [Hypervisor node driver](./rancher/node/node-driver.md) is a distinct entity from a Hypervisor cluster. A guest cluster operates within VMs and requires pulling images either from the internet or a [private registry](https://ranchermanager.docs.rancher.com/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/global-default-private-registry#configure-a-private-registry-with-credentials-when-creating-a-cluster).
+
+However, it's essential to understand a guest K8s cluster (e.g., RKE2 cluster) created by the Hypervisor node driver is a distinct entity from a Hypervisor cluster. A guest cluster operates within VMs and requires pulling images either from the internet or a [private registry](https://ranchermanager.docs.rancher.com/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/global-default-private-registry#configure-a-private-registry-with-credentials-when-creating-a-cluster).
If the **Cloud Provider** option is configured to **Hypervisor** in a guest K8s cluster, it deploys the Hypervisor cloud provider and Container Storage Interface (CSI) driver.
-As a result, we recommend monitoring each [RKE2 release](https://github.com/rancher/rke2/releases) in your air gapped environment and pulling the required images into your private registry. Please refer to the **Hypervisor CCM & CSI Driver** with RKE2 Releases section on the [Hypervisor support matrix page](https://www.suse.com/suse-harvester/support-matrix/all-supported-versions/harvester-v1-1-2/) for the best Hypervisor cloud provider and CSI driver capability support.
+As a result, we recommend monitoring each [RKE2 release](https://github.com/rancher/rke2/releases) in your air gapped environment and pulling the required images into your private registry.
+
:::
diff --git a/versioned_docs/version-v1.6/developer/addon-development.md b/versioned_docs/version-v1.6/developer/addon-development.md
index 31a1d83c..16de3bc9 100644
--- a/versioned_docs/version-v1.6/developer/addon-development.md
+++ b/versioned_docs/version-v1.6/developer/addon-development.md
@@ -5,7 +5,7 @@ sidebar_position: 1
sidebar_label: Add-on Development Guide
keywords:
- Hypervisor
- - harvester
+ - hypervisor
- Add-on Development
Description: How to write your own Hypervisor add-on
---
@@ -25,13 +25,13 @@ Hypervisor add-ons allow you to enable and disable specific Hypervisor and third
The `Addon` CRD supports the following fields:
```yaml
-apiVersion: harvesterhci.io/v1beta1
+apiVersion: hypervisorhci.io/v1beta1
kind: Addon
metadata:
name: example-add-on # Name of add-on
namespace: example-namespace # Namespace where the add-on CRD is deployed and where the associated Kubernetes components will be deployed
labels: # Optional add-on labels
- Add-on.harvesterhci.io/experimental: "true" # Predefined label used on the Hypervisor UI to identify add-ons with the "experimental" maturity level
+ Add-on.hypervisorhci.io/experimental: "true" # Predefined label used on the Hypervisor UI to identify add-ons with the "experimental" maturity level
spec:
enabled: false # Boolean indicating if an add-on should be enabled or disabled on definition
repo: https://chartsrepo.com # Helm chart repository containing the Helm chart managed by the add-on
diff --git a/versioned_docs/version-v1.6/faq.md b/versioned_docs/version-v1.6/faq.md
index 6016d64f..a61db7c5 100644
--- a/versioned_docs/version-v1.6/faq.md
+++ b/versioned_docs/version-v1.6/faq.md
@@ -94,7 +94,8 @@ $ rm hypervior.tar
- Find the missing images on that node from the other nodes, then export the images from the node where the images still exist and import them on the missing node.
-To prevent this from happening, we recommend cleaning up unused container images from the previous version after each successful Hypervisor upgrade if the image store disk space is stressed. We provided a [harv-purge-images script](https://github.com/harvester/upgrade-helpers/blob/main/bin/harv-purge-images.sh) that makes cleaning up disk space easy, especially for container image storage. The script has to be executed on each Hypervisor node. For example, if the cluster was originally in v1.1.2, and now it gets upgraded to v1.2.0, you can do the following to discard the container images that are only used in v1.1.2 but no longer needed in v1.2.0:
+
+
```shell
# on each node
diff --git a/versioned_docs/version-v1.6/getting-started/deploy-ha-cluster.md b/versioned_docs/version-v1.6/getting-started/deploy-ha-cluster.md
index 3a352995..a6d09ea8 100644
--- a/versioned_docs/version-v1.6/getting-started/deploy-ha-cluster.md
+++ b/versioned_docs/version-v1.6/getting-started/deploy-ha-cluster.md
@@ -25,7 +25,8 @@ Hypervisor is built for bare metal servers using enterprise-grade open-source so
## 2. Prepare the installation files based on the installation method that you want to use.
-You can download the installation files from the [Hypervisor Releases](https://github.com/harvester/harvester/releases) page. The **Downloads** section of the release notes contains links to the ISO files and related artifacts. The following types of ISO files are available:
+
+The following types of ISO files are available:
- **Full ISO**: Contains the core operating system components and all required container images, which are preloaded during installation. You must use a full ISO when installing Hypervisor behind a firewall or proxy, and in environments without internet connectivity.
- [**Net install ISO**](../install/net-install.md): Contains only the core operating system components. After installation is completed, the operating system pulls all required container images from the internet (mostly from Docker Hub).
@@ -96,7 +97,7 @@ You can create [Linux VMs](../vm/create-vm.md) using one of the following method
- Hypervisor UI: On the **Virtual Machines** screen, click **Create** and configure the settings on each tab.
- Kubernetes API: Create a `VirtualMachine` object.
-- [Hypervisor Terraform Provider](../terraform/terraform-provider.md): Define a `hypervisor_virtualmachine` resource block.
+
Creating [Windows VMs](../vm/create-windows-vm.md) on the Hypervisor UI involves slightly different steps. Hypervisor provides a VM template named `windows-iso-image-base-template` that adds a volume with the Virtio drivers for Windows, which streamlines the VM configuration process. If you require Virtio devices but choose to not use the template, you must add your own Virtio drivers for Windows to enable correct hardware detection.
@@ -106,4 +107,4 @@ The following sections provide guides that walk you through how to back up and r
- [VM Backup, Snapshot & Restore](../vm/backup-restore.md)
- [Host Management](../host/host.md)
-- [Rancher Integration](../rancher/rancher-integration.md)
+
diff --git a/versioned_docs/version-v1.6/getting-started/glossary.md b/versioned_docs/version-v1.6/getting-started/glossary.md
index 7f9eb45a..3b00c55f 100644
--- a/versioned_docs/version-v1.6/getting-started/glossary.md
+++ b/versioned_docs/version-v1.6/getting-started/glossary.md
@@ -35,7 +35,9 @@ A three-node cluster is required to fully realize the multi-node features of Hyp
Hypervisor clusters can be imported into and managed by Rancher. Within the Rancher context, an imported Hypervisor cluster is known as a "managed cluster" or "downstream user cluster" (often abbreviated to "downstream cluster"). The Rancher term refers to any Kubernetes cluster that is connected to a Rancher server.
-Certain versions of Hypervisor and Rancher allow you to deploy container workloads directly to Hypervisor clusters (with some limitations). When this [experimental feature](../rancher/rancher-integration.md#harvester-baremetal-container-workload-support-experimental) is enabled, container workloads seamlessly interact with VM workloads.
+Certain versions of Hypervisor and Rancher allow you to deploy container workloads directly to Hypervisor clusters (with some limitations).
+
+
## **NQRust Hypervisor**
diff --git a/versioned_docs/version-v1.6/host/host.md b/versioned_docs/version-v1.6/host/host.md
index de069a06..77dd01f4 100644
--- a/versioned_docs/version-v1.6/host/host.md
+++ b/versioned_docs/version-v1.6/host/host.md
@@ -140,7 +140,7 @@ kubectl drain --force --ignore-daemonsets --delete-local-data --pod-
Again, removing a control plane node in this situation is **not recommended** because etcd data is not replicated. Failure of a single node can cause etcd to lose its quorum and shut the cluster down.
:::
-### 6. Delete RKE2 services and shut down the node.
+
-### 7. Remove the node.
+### 6. Remove the node.
1. On the Hypervisor UI, go to the **Hosts** screen.
@@ -175,7 +175,7 @@ Hardware issues may force you to replace the management node. In earlier Hypervi
Hypervisor currently allows only one witness node in the cluster.
:::
-For more information about assigning roles to nodes, see [ISO Installation](/v1.3/install/index).
+For more information about assigning roles to nodes, see [ISO Installation](/v1.6/install/index).
## Multi-disk Management
@@ -208,7 +208,7 @@ As of Hypervisor v1.0.2, we no longer support adding partitions as additional di

- - **LonghornV2 (CSI)**: Select this provisioner if you want to use the [Longhorn V2 Data Engine](../advanced/longhorn-v2.md).
+

@@ -235,7 +235,9 @@ If your disk does not have a WWN, you can format it with the `EXT4` filesystem t
:::note
-If you are testing Hypervisor in a QEMU environment, you'll need to use QEMU v6.0 or later. Previous versions of QEMU will always generate the same WWN for NVMe disks emulation. This will cause Hypervisor to not add the additional disks, as explained above. However, you can still add a virtual disk with the SCSI controller. The WWN information could be added manually along with the disk attach operation. For more details, please refer to the [script](https://github.com/harvester/vagrant-rancherd/blob/2782981b6017754d016f5b72d630dff4895f7ad6/scripts/attach-disk.sh#L75).
+If you are testing Hypervisor in a QEMU environment, you'll need to use QEMU v6.0 or later. Previous versions of QEMU will always generate the same WWN for NVMe disks emulation. This will cause Hypervisor to not add the additional disks, as explained above. However, you can still add a virtual disk with the SCSI controller. The WWN information could be added manually along with the disk attach operation.
+
+
:::
@@ -441,9 +443,9 @@ $ kubectl get nodes hypervisor-node-0 -o yaml |yq -e '.metadata.annotations.["no
## Cloud-Native Node Configuration
-You may need to customize one or more nodes after installing Hypervisor . This process usually entails updating the [runtime configuration](/v1.3/install/update-harvester-configuration/) and modifying files in the `/oem` directory of each node to make changes persist after rebooting.
+
-In Hypervisor v1.3.0, these customizations can be described in a Kubernetes manifest and then applied to the underlying cluster using kubectl or other GitOps-centric tools such as [Fleet](https://fleet.rancher.io/).
+In Hypervisor, these customizations can be described in a Kubernetes manifest and then applied to the underlying cluster using kubectl or other GitOps-centric tools such as [Fleet](https://fleet.rancher.io/).
:::danger
Misconfigurations might compromise the ability of a Hypervisor node to boot up, or even damage the overall stability of the cluster. You can prevent such issues by reading the Elemental toolkit documentation to learn how to [correctly customize Elemental](https://rancher.github.io/elemental-toolkit/docs/customizing/).
diff --git a/versioned_docs/version-v1.6/image/upload-image.md b/versioned_docs/version-v1.6/image/upload-image.md
index b831679f..ad57d9fb 100644
--- a/versioned_docs/version-v1.6/image/upload-image.md
+++ b/versioned_docs/version-v1.6/image/upload-image.md
@@ -63,9 +63,10 @@ spec:
checksum: 80c27afb7cd791ac86ee1b0b0c572a242f6142579db5beac841e71151d370cd6
```
-For more information, see the [API reference](/v1.6/api/create-namespaced-virtual-machine-image).
+
+{/*
```hcl
@@ -80,6 +81,7 @@ resource "hypervisor_image" "opensuse154" {
```
+*/}
### Upload Images via Local File
@@ -95,9 +97,9 @@ Currently, qcow2, raw, and ISO images are supported.

-#### HTTP 413 Error in Rancher Multi-Cluster Management
+
@@ -143,11 +145,11 @@ If Rancher is deployed on an RKE2 cluster, perform the following steps:
3. Delete the stuck image, and then restart the upload process.
-#### Uploading Images Previously Downloaded from Hypervisor
+
### Create Images via Volumes
diff --git a/versioned_docs/version-v1.6/index.md b/versioned_docs/version-v1.6/index.md
index 7cf6012f..be5b8d8f 100644
--- a/versioned_docs/version-v1.6/index.md
+++ b/versioned_docs/version-v1.6/index.md
@@ -18,7 +18,7 @@ description: Hypervisor is an open source hyper-converged infrastructure (HCI) s
-Hypervisor is a modern, open, interoperable, [hyperconverged infrastructure (HCI)](https://en.wikipedia.org/wiki/Hyper-converged_infrastructure) solution built on Kubernetes. It is an open-source alternative designed for operators seeking a [cloud-native](https://about.gitlab.com/topics/cloud-native/) HCI solution. Hypervisor runs on bare metal servers and provides integrated virtualization and distributed storage capabilities. In addition to traditional virtual machines (VMs), Hypervisor supports containerized environments automatically through integration with [Rancher](https://ranchermanager.docs.rancher.com/integrations-in-rancher/harvester). It offers a solution that unifies legacy virtualized infrastructure while enabling the adoption of containers from core to edge locations.
+Hypervisor is a modern, open, interoperable, [hyperconverged infrastructure (HCI)](https://en.wikipedia.org/wiki/Hyper-converged_infrastructure) solution built on Kubernetes. It is an open-source alternative designed for operators seeking a [cloud-native](https://about.gitlab.com/topics/cloud-native/) HCI solution. Hypervisor runs on bare metal servers and provides integrated virtualization and distributed storage capabilities. In addition to traditional virtual machines (VMs), Hypervisor supports containerized environments automatically through integration with Rancher. It offers a solution that unifies legacy virtualized infrastructure while enabling the adoption of containers from core to edge locations.
## Hypervisor Architecture
diff --git a/versioned_docs/version-v1.6/install/external-disk-support.md b/versioned_docs/version-v1.6/install/external-disk-support.md
index d952b2b1..87c9b7aa 100644
--- a/versioned_docs/version-v1.6/install/external-disk-support.md
+++ b/versioned_docs/version-v1.6/install/external-disk-support.md
@@ -47,7 +47,7 @@ Configuration tasks that you must perform include the following:
See your system provider's documentation for more information about boot settings and firmware functions. A link to a sample document is provided in the References section.
-
+
### Install Hypervisor
diff --git a/versioned_docs/version-v1.6/install/harvester-configuration.md b/versioned_docs/version-v1.6/install/harvester-configuration.md
index 38d5a17a..f629b52d 100644
--- a/versioned_docs/version-v1.6/install/harvester-configuration.md
+++ b/versioned_docs/version-v1.6/install/harvester-configuration.md
@@ -668,7 +668,7 @@ install:
> Definition: Reserved
-### `install.skipchecks`
+
### `install.tty`
diff --git a/versioned_docs/version-v1.6/install/iso-install.md b/versioned_docs/version-v1.6/install/iso-install.md
index a06f95a2..88e3961a 100644
--- a/versioned_docs/version-v1.6/install/iso-install.md
+++ b/versioned_docs/version-v1.6/install/iso-install.md
@@ -1,4 +1,4 @@
----
+---
id: index
sidebar_position: 2
sidebar_label: ISO Installation
@@ -16,8 +16,10 @@ description: To get the Hypervisor ISO, download it from the Github releases. Du
-Hypervisor ships as a bootable appliance image, you can install it directly on a bare metal server with the ISO image.
-
+
+NQRust-HV is distributed as a bootable appliance image that can be installed directly on a bare-metal server. To obtain the ISO image, please contact the Nexus Quantum Technologies team at contact@nexusquantum.id our administrator will provide you with the appropriate version for your deployment environment.
+
During the installation, you can either choose to **create a new Hypervisor cluster** or **join the node to an existing Hypervisor cluster**.
@@ -31,15 +33,15 @@ During the installation, you can either choose to **create a new Hypervisor clus
1. Mount the Hypervisor ISO file and boot the server by selecting the `Hypervisor Installer` option.
- 
+ 
The installer automatically checks the hardware and displays warning messages if the minimum requirements are not met. The **Hardware Checks** screen is not displayed if all checks are passed.
- 
+ 
2. Use the arrow keys to choose an installation mode. By default, the first node will be the management node of the cluster.
- 
+ 
- `Create a new Hypervisor cluster`: creates an entirely new Hypervisor cluster.
@@ -53,7 +55,7 @@ During the installation, you can either choose to **create a new Hypervisor clus
3. Choose a role for the node. You are required to perform this step if you selected the installation mode `Join an existing Hypervisor cluster`.
- 
+ 
- `Default Role`: Allows a node to function as a management node or a worker node. This role does not have any specific privileges or restrictions.
- `Management Role`: Allows a node to be prioritized when Hypervisor promotes nodes to management nodes.
@@ -62,7 +64,7 @@ During the installation, you can either choose to **create a new Hypervisor clus
4. Configure and confirm a `Password` to access the node. The default SSH user is `rancher`.
- 
+ 
5. Choose the installation disk you want to install the Hypervisor cluster on and the data disk you want to store VM data on. By default, Hypervisor uses [GUID Partition Table (GPT)](https://en.wikipedia.org/wiki/GUID_Partition_Table) partitioning schema for both UEFI and BIOS. If you use the BIOS boot, then you will have the option to select [Master boot record (MBR)](https://en.wikipedia.org/wiki/Master_boot_record).
@@ -70,7 +72,7 @@ During the installation, you can either choose to **create a new Hypervisor clus
Support for legacy BIOS booting is deprecated in v1.7.0 and will be removed in a later release. Existing Hypervisor clusters that use this boot mode will continue to function, but upgrading to later versions may require re-installation in UEFI mode. To avoid issues and disruptions, use UEFI in new installations.
:::
- 
+ 
- `Installation disk`: The disk to install the Hypervisor cluster on.
- `Data disk`: The disk to store VM data on. Choosing a separate disk to store VM data is recommended. Not applicable for witness nodes.
@@ -78,11 +80,11 @@ During the installation, you can either choose to **create a new Hypervisor clus
6. Configure the `HostName` of the node.
- 
+ 
7. Configure network interface(s) for the management network. By default, Hypervisor creates a [bonded NIC](./requirements.md#hardware-requirements) named `mgmt-bo` for the [built-in management cluster network](../networking/clusternetwork.md#built-in-cluster-network), and the IP address can be configured via DHCP or statically assigned.
- 
+ 
:::note
@@ -105,7 +107,7 @@ During the installation, you can either choose to **create a new Hypervisor clus
If you want to use the default values, leave the fields blank.
- 
+ 
:::info important
@@ -123,7 +125,7 @@ During the installation, you can either choose to **create a new Hypervisor clus
9. (Optional) Configure the `DNS Servers`. Use commas as a delimiter to add more DNS servers. Leave it blank to use the default DNS server.
- 
+ 
10. Configure the virtual IP (VIP) by selecting a `VIP Mode`. This VIP is used to access the cluster or for other nodes to join the cluster.
@@ -131,15 +133,15 @@ During the installation, you can either choose to **create a new Hypervisor clus
For DHCP setup with static MAC-to-IP address mappings configured, enter the MAC address in the provided field to fetch the unique persistent virtual IP (VIP). Otherwise, leave it blank.
:::
- 
+ 
11. Configure the `Cluster token`. This token is used for adding other nodes to the cluster.
- 
+ 
12. Configure `NTP servers` to make sure all nodes' times are synchronized. This defaults to `0.suse.pool.ntp.org`. Use commas as a delimiter to add more NTP servers.
- 
+ 
:::note
Using multiple NTP servers provides redundancy, better accuracy, fault tolerance, and improved performance. It ensures that time synchronization continues even if one server fails or gives incorrect data, and it helps distribute the load across different servers.
@@ -147,19 +149,19 @@ During the installation, you can either choose to **create a new Hypervisor clus
13. (Optional) If you need to use an HTTP proxy to access the outside world, enter the `Proxy address`. Otherwise, leave this blank.
- 
+ 
14. (Optional) You can choose to import SSH keys by providing `HTTP URL`. For example, your GitHub public keys `https://github.com/.keys` can be used.
- 
+ 
15. (Optional) If you need to customize the host with a [Hypervisor configuration](./harvester-configuration.md) file, enter the `HTTP URL` here.
- 
+ 
16. Review and confirm your installation options. After confirming the installation options, Hypervisor will be installed to your host. The installation may take a few minutes to be complete.
- 
+ 
17. Once the installation is complete, your node restarts. After the restart, the Hypervisor console displays the management URL and status. The default URL of the web interface is `https://your-virtual-ip`. You can use `F12` to switch from the Hypervisor console to the Shell and type `exit` to go back to the Hypervisor console.
@@ -167,16 +169,45 @@ During the installation, you can either choose to **create a new Hypervisor clus
Choosing `Install Hypervisor binaries only` on the first page requires additional setup after the first bootup.
:::
- 
+ 
-18. You will be prompted to set the password for the default `admin` user when logging in for the first time.
+
+## License
+
+1. After the Hypervisor installation is completed successfully, you will be prompted to create a new password.
+
+ 
+
+2. Once the password has been set, the system will display the License Agreement (EULA) page. Select the language (EN/ID) if needed, review the terms, tick "I have read and agree to the End User License Agreement," then click Agree & Continue to proceed.
+
+ 
+
+ After accepting the EULA, you will be redirected to the License Activation page. Activate the product using one of the following methods:
+
+ - Option 1: Enter a License Key. Stay on the License Key tab, paste your license key in the input field (format: `XXXX-XXXX-XXXX-XXXX`), then click Activate License. If you do not have the license code yet, contact Nexus Quantum Tech at `contact@nexusquantum.id`.
+ - Option 2: Upload an Offline License File (`.lic`). Switch to the Offline File (`.lic`) tab, upload the `.lic` file you received, then proceed with activation. If you do not have the offline license file yet, contact Nexus Quantum Tech at `contact@nexusquantum.id`.
+
+ Once the license is successfully activated, the system will continue to the next setup step automatically.
+
+ 
+
+3. Once the license has been successfully activated, you will see the "License Activated" confirmation page. Verify that:
+
+ - Status shows `Active`
+ - Product displays `NQRust-HyperVisor`
+ - Valid Until shows the correct expiry date
+
+ Click Continue to Login Page to proceed. If you do not click it, the system will automatically redirect you to the login page after a few seconds.
+
+ 
+
## Known Issue
### Installer may crash when using an older graphics card/monitor
@@ -187,16 +218,19 @@ In some cases, if you are using an older VGA connector, you may encounter an `pa
We are working on this known issue and planning a fix for a future release. You can try to use another GRUB entry to force it to use the resolution of `1024x768` when booting up.
-
+
-If you are using a version earlier than v1.1.1, please try the following workaround:
+following workaround:
+
1. Boot up with the ISO, and press `E` to edit the first menu entry:
- 
+ 
2. Append `vga=792` to the line started with `$linux`:
- 
+ 
3. Press `Ctrl+X` or `F10` to boot up.
+
+
diff --git a/versioned_docs/version-v1.6/install/net-install.md b/versioned_docs/version-v1.6/install/net-install.md
index 2f38fa54..a22851f5 100644
--- a/versioned_docs/version-v1.6/install/net-install.md
+++ b/versioned_docs/version-v1.6/install/net-install.md
@@ -1,7 +1,8 @@
-ypervisor---
+---
sidebar_position: 9
sidebar_label: Net Install ISO
title: "Net Install ISO"
+pagination_next: null
keywords:
- Hypervisor
- Net ISO Installation
@@ -17,7 +18,8 @@ description: Hypervisor Net Install ISO is a minimal ISO that contains only the
The Hypervisor net install ISO is a minimal installation image that contains only the core OS components, allowing the installer to boot and then install the Hypervisor OS on a disk. After installation is completed, the Hypervisor OS pulls all required container images from the internet (mostly from Docker Hub).
You can use the net install ISO in the following situations:
-- The virtual media implementation on a server is buggy or slow. Community users have reported that ISO redirection is too slow to preload all images onto a system. For more information, see [Issue 2651](https://github.com/harvester/harvester/issues/2651).
+- The virtual media implementation on a server is buggy or slow. Community users have reported that ISO redirection is too slow to preload all images onto a system.
+
- You have a private registry that contains all Hypervisor images, as well as the knowledge and experience required to configure image mirrors for containerd.
:::caution
@@ -29,12 +31,12 @@ You can use the net install ISO in the following situations:
-## PXE Installation
+
diff --git a/versioned_docs/version-v1.6/install/post-install.md b/versioned_docs/version-v1.6/install/post-install.md
index 7c314e27..f2dd740a 100644
--- a/versioned_docs/version-v1.6/install/post-install.md
+++ b/versioned_docs/version-v1.6/install/post-install.md
@@ -20,7 +20,9 @@ You can enhance the security and performance of your Hypervisor cluster by perfo
By default during installation, SSH password authentication is enabled on the Hypervisor nodes. This allows administrator to access the nodes for installation diagnosis.
-Once installation is completed, however, disabling SSH password authentication is recommended. You can run the following command, which uses `kubectl` to apply a [`CloudInit`](https://docs.harvesterhci.io/v1.6/advanced/cloudinitcrd/) configuration, to disable SSH password authentication on all Hypervisor nodes:
+Once installation is completed, however, disabling SSH password authentication is recommended. You can run the following command, which uses `kubectl` to apply a `CloudInit` configuration, to disable SSH password authentication on all Hypervisor nodes:
+
+
```sh
cat <
## Hardware Requirements
@@ -27,19 +27,23 @@ Hypervisor nodes have the following hardware requirements and recommendations fo
| CPU | ARM64 or x86_64 (with hardware-assisted virtualization); 8 cores minimum | ARM64 or x86_64 (with hardware-assisted virtualization); 16 cores minimum |
| Memory | 32 GB minimum | 64 GB minimum |
| Disk capacity | 250 GB minimum (180 GB minimum for [witness nodes](../advanced/witness.md) or when using multiple disks) | 500 GB minimum, 1 TB or more recommended |
-| Disk performance | 5,000+ random IOPS per disk (SSD/NVMe); management node storage must meet [etcd](https://support.scc.suse.com/s/kb/360045276411) speed requirements. Only local disks and hardware RAID are supported. | 5,000+ random IOPS per disk (SSD/NVMe); management node storage must meet [etcd](https://support.scc.suse.com/s/kb/360045276411) speed requirements. Only local disks and hardware RAID are supported. |
+| Disk performance | 5,000+ random IOPS per disk (SSD/NVMe); management node storage must meet etcd speed requirements. Only local disks and hardware RAID are supported. | 5,000+ random IOPS per disk (SSD/NVMe); management node storage must meet etcd speed requirements. Only local disks and hardware RAID are supported. |
| Network card count | Management cluster network: 1 NIC required, 2 NICs recommended; VM workload network: 1 NIC required, at least 2 NICs recommended (does not apply to the [witness node](../advanced/witness.md)) | Management cluster network: 1 NIC required, 2 NICs recommended; VM workload network: 1 NIC required, at least 2 NICs recommended (does not apply to the [witness node](../advanced/witness.md)) |
| Network card speed | 1 Gbps Ethernet minimum | 10 Gbps Ethernet minimum |
| Network switch | Port trunking for VLAN support | Port trunking for VLAN support |
+
+
:::info important
- Mixed-architecture clusters are not supported. Deploy separate clusters to avoid unexpected system behavior.
- For best results, use [YES-certified hardware](https://www.suse.com/partners/ihv/yes/) for SUSE Linux Enterprise Server (SLES) 15 SP3 or SP4. Hypervisor is built on SLE technology and YES-certified hardware has additional validation of driver and system board compatibility. Laptops and nested virtualization are not supported.
- Nested virtualization is not supported on virtual machines running on Hypervisor.
-- Each node must have a unique `product_uuid` (fetched from `/sys/class/dmi/id/product_uuid`) to prevent errors from occurring during VM live migration and other operations. For more information, see [Issue #4025](https://github.com/harvester/harvester/issues/4025).
+
- Hypervisor has a [built-in management cluster network](../networking/clusternetwork.md#built-in-cluster-network) (`mgmt`). To achieve high availability and the best performance in production environments, use at least two NICs in each node to set up a bonded NIC for the management network (see step 6 in [ISO Installation](../install/iso-install.md#installation-steps)). You can also create [custom cluster networks](../networking/clusternetwork.md#custom-cluster-network) for VM workloads. Each custom cluster network requires at least two additional NICs to set up a bonded NIC in every involved node of the Hypervisor cluster. The [witness node](../advanced/witness.md) does not require additional NICs. For more information, see [Cluster Network](../networking/clusternetwork.md#concepts).
- During testing, you can use only one NIC for the [built-in management cluster network](../networking/clusternetwork.md#built-in-cluster-network) (`mgmt`), and for testing the [VM network](../networking/harvester-network.md#create-a-vm-network) that is also carried by `mgmt`. High availability and optimal performance are not guaranteed.
-- If the disk only meets the minimum required capacity, you may encounter issues related to the [free system partition space requirement](../upgrade/automatic.md#free-system-partition-space-requirement) during upgrades.
+
:::
### CPU Specifications
@@ -91,11 +95,12 @@ Hypervisor nodes require the following port connections or inbound rules. Typica
| UDP | 68 | Hypervisor management and compute nodes | Wicked |
| TCP | 3260 | Hypervisor management and compute nodes | iscsid | -->
-### Port Requirements for Integrating Hypervisor with Rancher
+
### Port Requirements for K3s or RKE2 Clusters
diff --git a/versioned_docs/version-v1.6/install/usb-install.md b/versioned_docs/version-v1.6/install/usb-install.md
index 1dcb7acc..73778342 100644
--- a/versioned_docs/version-v1.6/install/usb-install.md
+++ b/versioned_docs/version-v1.6/install/usb-install.md
@@ -12,8 +12,8 @@ title: "USB Installation"
There are a couple of ways to create a USB installation flash drive.
-:::caution
-**Known Issue:** For the v1.2.0 ISO image, there is a known [issue](https://github.com/harvester/harvester/issues/4510) where the interactive ISO installation will get stuck using the USB method.
+
diff --git a/versioned_docs/version-v1.6/logging/harvester-logging.md b/versioned_docs/version-v1.6/logging/harvester-logging.md
index 908cadae..3133571d 100644
--- a/versioned_docs/version-v1.6/logging/harvester-logging.md
+++ b/versioned_docs/version-v1.6/logging/harvester-logging.md
@@ -447,7 +447,9 @@ spec:
-You can follow the instructions [here](https://github.com/w13915984028/harvester-develop-summary/blob/main/test-log-event-audit-with-splunk.md) to deploy and view cluster logs via [Splunk](https://www.splunk.com/).
+You can follow the instructions to deploy and view cluster logs via [Splunk](https://www.splunk.com/).
+
+
```yaml
apiVersion: logging.banzaicloud.io/v1beta1
@@ -487,7 +489,9 @@ spec:
-You can follow the instructions in the [logging HEP](https://github.com/joshmeranda/harvester/blob/logging/enhancements/20220525-system-logging.md) on deploying and viewing cluster logs via [Grafana Loki](https://grafana.com/oss/loki/).
+You can follow the instructions in the logging HEP on deploying and viewing cluster logs via [Grafana Loki](https://grafana.com/oss/loki/).
+
+
```yaml
apiVersion: logging.banzaicloud.io/v1beta1
@@ -520,7 +524,7 @@ spec:
Hypervisor collects Kubernetes `audit` and is able to send the `audit` to various types of log servers.
-The policy file to guide `kube-apiserver` is [here](https://github.com/harvester/harvester-installer/blob/5991dcf6307aa5da79c5d6926566541f48105778/pkg/config/templates/rke2-92-harvester-kube-audit-policy.yaml).
+
### Audit Definition
diff --git a/versioned_docs/version-v1.6/monitoring/harvester-monitoring.md b/versioned_docs/version-v1.6/monitoring/harvester-monitoring.md
index c01a064e..e6d659ca 100644
--- a/versioned_docs/version-v1.6/monitoring/harvester-monitoring.md
+++ b/versioned_docs/version-v1.6/monitoring/harvester-monitoring.md
@@ -327,7 +327,7 @@ Different receivers may present the alerts in different formats. For details, pl
The `AlertmanagerConfig` is enforced by the `namespace`. Gloabl-level `AlertmanagerConfig` without a namespace is not supported.
-We have already created a [GithHb issue](https://github.com/harvester/harvester/issues/2760) to track upstream changes. Once the feature is available, `Hypervisor` will adopt it.
+
:::
@@ -259,7 +259,7 @@ To simplify cluster maintenance, create one network configuration for each node
1. On the **Node Selector** tab, select the method for defining the scope of this specific network configuration.
- 
+ 
:::note
diff --git a/versioned_docs/version-v1.6/networking/ippool.md b/versioned_docs/version-v1.6/networking/ippool.md
index 73485654..f34d1338 100644
--- a/versioned_docs/version-v1.6/networking/ippool.md
+++ b/versioned_docs/version-v1.6/networking/ippool.md
@@ -42,7 +42,9 @@ If the Hypervisor cluster is imported to `Rancher Manager` from `Rancher Manager

-The `Scope` includes `Project`, `Namespace` and `Guest Kubernetes Cluster`. For more information, see [Multi-Tenancy Example](../rancher/virtualization-management.md#multi-tenancy-example) and [Projects and Kubernetes Namespaces with Rancher](https://ranchermanager.docs.rancher.com/how-to-guides/new-user-guides/manage-clusters/projects-and-namespaces#about-projects).
+The `Scope` includes `Project`, `Namespace` and `Guest Kubernetes Cluster`. For more information, [Projects and Kubernetes Namespaces with Rancher](https://ranchermanager.docs.rancher.com/how-to-guides/new-user-guides/manage-clusters/projects-and-namespaces#about-projects).
+
+
When a pool has only one `Scope` and each selects `All`, then this IP Pool is marked as `global` automatically.
diff --git a/versioned_docs/version-v1.6/troubleshooting/harvester.md b/versioned_docs/version-v1.6/troubleshooting/harvester.md
index 14bdbaf4..fa86b7be 100644
--- a/versioned_docs/version-v1.6/troubleshooting/harvester.md
+++ b/versioned_docs/version-v1.6/troubleshooting/harvester.md
@@ -44,7 +44,7 @@ For example, your cluster assigns IPs from CIDR `172.26.50.128/27` to nodes via
After setting this, you can continue to add new nodes to the cluster.
-For more details, please refer to [Hypervisor issue 3091](https://github.com/harvester/harvester/issues/3091).
+
### ISO Installation With a Hypervisor Configuration File
@@ -77,11 +77,11 @@ If you intend to use a non-default container image, you can configure the [suppo
:::
-:::note
+
### Manually Download and Retain a Support Bundle File
@@ -197,9 +197,9 @@ You can delete the related resources using the following methods:
```
- Automatic: Hypervisor deletes the related resources based on how the following settings are configured:
- - [support-bundle-expiration](../advanced/index#support-bundle-expiration): Defines the time allowed for retaining a support bundle file
+ - [support-bundle-expiration](/v1.6/advanced/settings#support-bundle-expiration): Defines the time allowed for retaining a support bundle file
- - [support-bundle-timeout](../advanced/index#support-bundle-timeout): Defines the time allowed for generating a support bundle file
+ - [support-bundle-timeout](/v1.6/advanced/settings#support-bundle-timeout): Defines the time allowed for generating a support bundle file
### Manually Copy the Support Bundle File
@@ -317,7 +317,7 @@ Hypervisor is unable to collect data and generate a support bundle when the node
Retained support bundle files are backed by pods in the `hypervisor-system` namespace. These pods are replaced during system and node rebooting, node draining, and system upgrades, consuming CPU and memory resources. Moreover, the regenerated files are very similar in content to the retained files, which means that storage resources are also unnecessarily consumed.
-For more information, see [Issue 3383](https://github.com/harvester/harvester/issues/3383).
+

@@ -238,6 +239,6 @@ You can perform either of the following actions:
- Update the `ManagedChart` CRD with the desired custom configuration using `kubectl edit managedchart -n fleet-local hypervisor`.
-### Related Issue
+
diff --git a/versioned_docs/version-v1.6/troubleshooting/monitoring.md b/versioned_docs/version-v1.6/troubleshooting/monitoring.md
index 415c362d..02b9d7be 100644
--- a/versioned_docs/version-v1.6/troubleshooting/monitoring.md
+++ b/versioned_docs/version-v1.6/troubleshooting/monitoring.md
@@ -2,7 +2,6 @@
sidebar_position: 4
sidebar_label: Monitoring
title: "Monitoring"
-draft: true
---
@@ -383,9 +382,10 @@ fleet-local mcc-rancher-logging-crd 1/1
fleet-local mcc-rancher-monitoring-crd 0/1 Modified(1) [Cluster fleet-local/local]; clusterrole.rbac.authorization.k8s.io rancher-monitoring-crd-manager missing; clusterrolebinding.rbac.authorization.k8s.io rancher-monitoring-crd-manager missing; configmap.v1 cattle-monitoring-system/rancher-monitoring-crd-manifest missing; serviceaccount.v1 cattle-monitoring-system/rancher-monitoring-crd-manager missing
```
-When the issue exists and you [start an upgrade](../upgrade/automatic.md#start-an-upgrade), Hypervisor may return the following error message: `admission webhook "validator.hypervisorhci.io" denied the request: managed chart rancher-monitoring-crd is not ready, please wait for it to be ready`.
+
-Also, when you search for the objects marked as `missing`, you will find that they exist in the cluster.
+
+when you search for the objects marked as `missing`, you will find that they exist in the cluster.
Example:
@@ -588,9 +588,9 @@ rules:
1. (Optional) Retry the upgrade (if previously unsuccessful because of this issue).
-### Related Issue
+
## Some `rancher-monitoring` Add-On Pods Are Abruptly Terminated
@@ -671,6 +671,6 @@ This process usually takes a short time to complete, but can be disrupted when t
1. Enable the `rancher-monitoring` add-on.
-### Related Issue
+
diff --git a/versioned_docs/version-v1.6/troubleshooting/os.md b/versioned_docs/version-v1.6/troubleshooting/os.md
index 97372a5b..82b123b8 100644
--- a/versioned_docs/version-v1.6/troubleshooting/os.md
+++ b/versioned_docs/version-v1.6/troubleshooting/os.md
@@ -27,7 +27,7 @@ node1:~ # blkid
The OS file system, like a container image, is image-based and immutable except in some directories.
-We recommend using a **toolbox container** to run programs not packaged in the Hypervisor OS for debugging purposes. Please see [this article](https://harvesterhci.io/kb/package_your_own_toolbox_image/) to learn how to build and run a toolbox container.
+We recommend using a **toolbox container** to run programs not packaged in the Hypervisor OS for debugging purposes.
The Hypervisor OS also provides a way to enable the read-write mode temporarily. Please follow the following steps:
@@ -37,7 +37,7 @@ Enabling read-write mode might break your system if files are modified. Please u
:::
-- For version `v0.3.0`, we need to apply a workaround first to [make some directories non-overlaid](https://github.com/harvester/harvester/issues/1388) after enabling read-write mode. On a running Hypervisor node, run the following command as root:
+
```
- Reboot the system to GRUB menu. Press ESC to stay on the menu.
diff --git a/versioned_docs/version-v1.6/troubleshooting/vm.md b/versioned_docs/version-v1.6/troubleshooting/vm.md
index 4430e2ff..80836559 100644
--- a/versioned_docs/version-v1.6/troubleshooting/vm.md
+++ b/versioned_docs/version-v1.6/troubleshooting/vm.md
@@ -203,7 +203,7 @@ A critical difference is that the `Stop` and `Start` actions appear in the `stat
- action: Start
```
-#### Root Cause
+
### Workaround
@@ -240,9 +240,9 @@ To address the issue, you can force delete the pod using the command `kubectl de
After the pod is successfully deleted, the `Start` button becomes visible again on the Hypervisor UI.
-### Related Issue
+
## VM Stuck in Starting State with Error Messsage `not a device node`
@@ -409,11 +409,11 @@ Node level operation, node by node:
brw-rw---- 1 root root 8, 64 Mar 6 11:47 7beb531d-a781-4775-ba5e-8773773d77f1
```
-### Related Issue
+
## Virtual Machine IP Address Not Displayed
@@ -453,9 +453,9 @@ $ sudo rm -rf /var/lib/cloud/*
After deleting the directory, you must restart the virtual machine so that cloud-init is run again and the `qemu-guest-agent` package is installed.
-#### Related Issue
+
### IPv6 Race Condition Between virt-launcher Pod and Guest Operating System
@@ -501,9 +501,11 @@ The workaround is to disable IPv6 in the [kernel parameters](./os.md#how-to-perm
In the above example, you must add `ipv6.disable=1` and reboot the nodes to prevent virtual machine pod interfaces from acquiring an IPv6 link-local address.
-#### Related Issues
+
+
+
### Virtual Machine IP Address Intermittently Not Displayed
@@ -537,9 +539,9 @@ This issue generally does not affect the virtual machine's operations and uptime
While no direct workaround is available for this issue, an [upstream fix](https://github.com/kubevirt/kubevirt/pull/13624) has optimized the code to reduce unnecessary updates from the QEMU guest agent. This enhancement may prevent the issue from occurring.
-#### Related Issues
+
## Unschedulable Virtual Machine
@@ -671,4 +673,4 @@ To mitigate the issue, perform the following steps:
Once the Cloud Config is backed by a unique secret, you can use the Hypervisor UI's YAML editor to edit the virtual machine configuration without affecting the source template.
-Related issue: [#9207](https://github.com/harvester/harvester/issues/9207)
+
diff --git a/versioned_docs/version-v1.6/vm/create-vm.md b/versioned_docs/version-v1.6/vm/create-vm.md
index 367c208e..d39c7a10 100644
--- a/versioned_docs/version-v1.6/vm/create-vm.md
+++ b/versioned_docs/version-v1.6/vm/create-vm.md
@@ -36,7 +36,7 @@ Please refer to [this page](./create-windows-vm.md) for creating Windows virtual
1. The VM Name is a required field.
1. (Optional) VM template is optional, you can choose `iso-image`, `raw-image` or `windows-iso-image` template to speed up your VM instance creation.
1. On the **Basics** tab, configure the following settings:
- - **CPU** and **Memory**: You can allocate a maximum of **254** vCPUs. If virtual machines are not expected to fully consume the allocated resources most of the time, you can use the [`overcommit-config`](../advanced/settings.md#overcommit-config) setting to optimize physical resource allocation. As a best practice, the number of virtual CPUs (vCPUs) allocated per virtual machine should not exceed the physical processor threads available on the host.
+ - **CPU** and **Memory**: You can allocate a maximum of **254** vCPUs. If virtual machines are not expected to fully consume the allocated resources most of the time, you can use the [`overcommit-config`](/v1.6/advanced/settings#overcommit-config) setting to optimize physical resource allocation. As a best practice, the number of virtual CPUs (vCPUs) allocated per virtual machine should not exceed the physical processor threads available on the host.
- **SSHKey**: Select SSH keys or upload new keys.
1. Select a custom VM image on the **Volumes** tab. The default disk will be the root disk. You can add more disks to the VM.
1. To configure networks, go to the **Networks** tab.
@@ -91,6 +91,7 @@ spec:
For more information, see the [API reference](../api/create-namespaced-virtual-machine).
+{/*
To create a virtual machine using the [Hypervisor Terraform Provider](https://registry.terraform.io/providers/harvester/harvester/latest),
@@ -139,6 +140,7 @@ resource "hypervisor_virtualmachine" "opensuse154" {
```
+*/}
## Volumes
@@ -235,7 +237,7 @@ You can choose to run virtual machines on the following:
- Nodes that match scheduling rules
- You gain greater flexibility by scheduling a virtual machine on a group of nodes. In the following example, the virtual machine can be scheduled on nodes with a specific label. The key is `harvesterhci.io/group` and the value can be either `engineering` or `qa`.
+ You gain greater flexibility by scheduling a virtual machine on a group of nodes. In the following example, the virtual machine can be scheduled on nodes with a specific label. The key is `hypervisorhci.io/group` and the value can be either `engineering` or `qa`.
```
spec:
@@ -244,7 +246,7 @@ You can choose to run virtual machines on the following:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- - key: harvesterhci.io/group
+ - key: hypervisorhci.io/group
operator: In
values:
- engineering
@@ -303,9 +305,9 @@ Hypervisor ensures the following:
...
metadata:
labels:
- network.harvesterhci.io/cn2: "true"
- network.harvesterhci.io/mgmt: "true"
- network.harvesterhci.io/vlanconfig: cn2-vc1
+ network.hypervisorhci.io/cn2: "true"
+ network.hypervisorhci.io/mgmt: "true"
+ network.hypervisorhci.io/vlanconfig: cn2-vc1
...
```
@@ -320,7 +322,7 @@ spec:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- - key: network.harvesterhci.io/cn2
+ - key: network.hypervisorhci.io/cn2
operator: In
values:
- 'true'
@@ -381,7 +383,7 @@ The virtual machine is [non-migratable](./live-migration.md#non-migratable-virtu
Hypervisor allows you to attach custom metadata to virtual machines using annotations. These key-value pairs enable extended features or behaviors without requiring changes to the core virtual machine configuration.
-You can use the `harvesterhci.io/custom-ip` annotation to set an IP address on the Hypervisor UI *for display purposes*. This is useful when the virtual machine is unable to report its IP address because of a missing `qemu-guest-agent` or other reasons.
+
## Advanced Options
@@ -410,7 +412,7 @@ Hypervisor adds a `Reserved Memory` field and a setting `additional-guest-memory
The `Total Memory Overhead` = automatically computed `Memory Overhead` + Hypervisor `Reserved Memory`.
-All the details are described in the setting [additional-guest-memory-overhead-ratio](../advanced/settings.md#additional-guest-memory-overhead-ratio).
+All the details are described in the setting [additional-guest-memory-overhead-ratio](/v1.6/advanced/settings#additional-guest-memory-overhead-ratio).
:::important
diff --git a/versioned_docs/version-v1.6/vm/create-windows-vm.md b/versioned_docs/version-v1.6/vm/create-windows-vm.md
index 66e55f97..18417961 100644
--- a/versioned_docs/version-v1.6/vm/create-windows-vm.md
+++ b/versioned_docs/version-v1.6/vm/create-windows-vm.md
@@ -218,8 +218,8 @@ stages:
# ...
``` -->
-:::note
+
diff --git a/versioned_docs/version-v1.6/vm/hotplug-volume.md b/versioned_docs/version-v1.6/vm/hotplug-volume.md
index 5f82a791..828767c2 100644
--- a/versioned_docs/version-v1.6/vm/hotplug-volume.md
+++ b/versioned_docs/version-v1.6/vm/hotplug-volume.md
@@ -17,7 +17,7 @@ Hypervisor supports adding hot-plug volumes to a running VM.
:::info
-Currently, KubeVirt only supports disk bus `scsi` for hot-plug volumes. For more information, see this [issue](https://github.com/kubevirt/kubevirt/issues/5080#issuecomment-785183128).
+Currently, KubeVirt only supports disk bus `scsi` for hot-plug volumes.
:::
diff --git a/versioned_docs/version-v1.6/vm/virtual-machines.md b/versioned_docs/version-v1.6/vm/virtual-machines.md
index fb190e99..bbda1d0f 100644
--- a/versioned_docs/version-v1.6/vm/virtual-machines.md
+++ b/versioned_docs/version-v1.6/vm/virtual-machines.md
@@ -18,7 +18,7 @@ You can create [Linux VMs](../vm/create-vm.md) using one of the following method
- Hypervisor UI: On the **Virtual Machines** screen, click **Create** and configure the settings on each tab.
- Kubernetes API: Create a `VirtualMachine` object.
-- [Hypervisor Terraform Provider](../terraform/terraform-provider.md): Define a `hypervisor_virtualmachine` resource block.
+
Creating [Windows VMs](../vm/create-windows-vm.md) on the Hypervisor UI involves slightly different steps. Hypervisor provides a VM template named `windows-iso-image-base-template` that adds a volume with the Virtio drivers for Windows, which streamlines the VM configuration process. If you require Virtio devices but choose to not use the template, you must add your own Virtio drivers for Windows to enable correct hardware detection.
diff --git a/versioned_docs/version-v1.6/volume/create-volume.md b/versioned_docs/version-v1.6/volume/create-volume.md
index 890f2b5c..156a74ca 100644
--- a/versioned_docs/version-v1.6/volume/create-volume.md
+++ b/versioned_docs/version-v1.6/volume/create-volume.md
@@ -69,9 +69,9 @@ To resolve this issue, perform the following steps:
-Related issues:
-
-- Longhorn: [Issue #10741](https://github.com/longhorn/longhorn/issues/10741)
+
diff --git a/versioned_docs/version-v1.6/volume/edit-volume.md b/versioned_docs/version-v1.6/volume/edit-volume.md
index 53bfd459..252fb340 100644
--- a/versioned_docs/version-v1.6/volume/edit-volume.md
+++ b/versioned_docs/version-v1.6/volume/edit-volume.md
@@ -27,7 +27,7 @@ To minimize downtime, Hypervisor allows you to expand volumes that are attached
- **Longhorn**: Hypervisor considers Longhorn to have support for online volume expansion, even if differences exist between versions of the Longhorn Data Engine. Currently, the V1 Data Engine fully supports online volume expansion, while the V2 Data Engine does not support volume expansion at all (regardless of the volume's attachment state).
-- **Third-party storage**: Hypervisor rejects online volume expansion requests for third-party storage by default. If you have confirmed that your storage provider supports online volume expansion, you can use the [`csi-online-expand-validation`](../advanced/settings.md#csi-online-expand-validation) setting to mark that storage provider as validated.
+- **Third-party storage**: Hypervisor rejects online volume expansion requests for third-party storage by default. If you have confirmed that your storage provider supports online volume expansion, you can use the [`csi-online-expand-validation`](/v1.6/advanced/settings#csi-online-expand-validation) setting to mark that storage provider as validated.

@@ -35,8 +35,7 @@ To minimize downtime, Hypervisor allows you to expand volumes that are attached
Online resizing of hotplugged filesystem volumes is not supported. When a filesystem volume is bind-mounted in the `virt-launcher` pod, hotplugging a new filesystem volume triggers `NodeUnPublish` and `NodeUnstage` operations on the previous volume, which prevents further resizing.
-Additionally, you cannot use the [Edit Config](../vm/edit-vm.md) feature on the Hypervisor UI **Virtual Machines** screen to resize a volume while the virtual machine is running. Certain limitations prevent the current UI from accurately displaying the results of volume expansion operations. For more information, see [issue #8669](https://github.com/harvester/harvester/issues/8669).
-
+Additionally, you cannot use the [Edit Config](../vm/edit-vm.md) feature on the Hypervisor UI **Virtual Machines** screen to resize a volume while the virtual machine is running. Certain limitations prevent the current UI from accurately displaying the results of volume expansion operations.
:::
@@ -51,4 +50,4 @@ If you specify a size larger than Longhorn's capacity during the expansion, the
The StorageClass of an existing volume cannot be changed. However, you can change the StorageClass while restoring a new volume from the snapshot by following the steps below:
1. [Take a volume snapshot](./volume-snapshots.md#create-volume-snapshots).
-2. Select StorageClass when [restoring the volume using snapshot](./volume-snapshots.md#restore-a-new-volume-from-a-volume-snapshot).
\ No newline at end of file
+2. Select StorageClass when [restoring the volume using snapshot](./volume-snapshots.md#restore-a-new-volume-from-a-volume-snapshot).