Skip to content

Commit

Permalink
Adding Harvester nodes (#206)
Browse files Browse the repository at this point in the history
Signed-off-by: Michael Mattsson <michael.mattsson@gmail.com>
  • Loading branch information
datamattsson authored Jul 13, 2024
1 parent 2f90962 commit 9b5f435
Show file tree
Hide file tree
Showing 4 changed files with 46 additions and 45 deletions.
1 change: 1 addition & 0 deletions docs/partners/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
* [Kasten by Veeam](kasten/index.md)
* [Mirantis](mirantis/index.md)
* [Red Hat OpenShift](redhat_openshift/index.md)
* [SUSE Harvester](suse_harvester/index.md)
* [SUSE Rancher](suse_rancher/index.md)
* [Tanzu Kubernetes Grid Integrated](tkgi/index.md)
* [VMware](vmware/index.md)
Expand Down
42 changes: 42 additions & 0 deletions docs/partners/suse_harvester/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# Overview

*"Harvester is a modern hyperconverged infrastructure (HCI) solution built for bare metal servers using enterprise-grade open-source technologies including Linux, KVM, Kubernetes, KubeVirt, and Longhorn. Designed for users looking for a flexible and affordable solution to run cloud-native and virtual machine (VM) workloads in your datacenter and at the edge, Harvester provides a single pane of glass for virtualization and cloud-native workload management."*<sup>1</sup>

<div align="right"><small><sup>1</sup> = quote from <a href="https://harvesterhci.io/">HarvesterHCI.io</a>.</small></div>
<br/>

HPE supports the underlying host OS, SLE Micro, using the HPE CSI Driver for Kubernetes and the Rancher Kubernetes Engine 2 (RKE2) which is a CNCF certified Kubernetes distribution. Harvester embeds KubeVirt and uses standard CSI storage contructs to manage storage resoruces for virtual machines.

[TOC]

## Deployment Considerations

Many of the features provided by Harvester stem from the capabilities of KubeVirt. The HPE CSI Driver for Kubernetes provides "ReadWriteMany" block storage which allows seamless migration of VMs between hosts with disks attached. The NFS Server Provisioner may be used by disparate VMs that needs "ReadWriteMany" to share data.

## Limitations

These limitatons are framed around the integration of the HPE CSI Driver for Kubernetes and Harvester. Other limitations may apply.

### Boot from Longhorn

Since Harvester is a hyper-converged infrastructure platform in its own right, the storage components are already embedded in the platform using Longhorn. Longhorn is designed to run from local server storage and today it's not practical to replace Longhorn with CSI capable storage from HPE. The Harvester servers may use boot from SAN and other means in terms of external storage to provide capacity to Longhorn but Longhorn would still be used to create VM images and machines.

Storage provided by platforms supported by the HPE CSI Driver for Kubernetes is complementary and non-boot disks may be easily provisioned and attached to VM workloads.

!!! info
The VM boot limitation is solely implemented by Harvester in front of KubeVirt. Any other KubeVirt platform would allow booting from storage resources provided by HPE CSI Driver for Kubernetes.

### iSCSI Networking

As per best practice HPE recommends using dedicated iSCSI networks for data traffic between the Harvester nodes and the storage platform.

Ancillary network configuration of Harvester nodes is managed as a post-install step. Creating network configuration files for Harvester nodes is beyond the scope of this document. Follow the guides provided by Harvester.

- [Update Harvester Configuration After Installation](https://docs.harvesterhci.io/v1.3/install/update-harvester-configuration)

## Installing HPE CSI Driver for Kubernetes

The HPE CSI Driver for Kubernetes is installed on Harvester by using the standard procedures for installing the CSI driver with Helm. Helm require access to the Harvester cluster through the Kubernetes API. You can download the Harvester cluster KubeConfig file by visiting the dashboard on your cluster and click "support" in the lower left corner of the UI.

!!! note
It does not matter if Harvester is managed by Rancher or running standalone. If the cluster is managed by Rancher, then go to the Virtualization Management dashboard and select "Download KubeConfig" in the dotted context menu of the cluster.
47 changes: 2 additions & 45 deletions docs/partners/suse_rancher/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,11 @@ Rancher uses Helm to deploy and manage partner software. The concept of a Helm r

| Rancher release | Install methods | Recommended CSI driver |
| --------------- | ------------------------------------- | ---------------------- |
| 2.5 | Cluster Manager, Cluster Explorer | latest |
| 2.6 | New Cluster Manager | latest |
| 2.7 | Cluster Manager App Chart | latest |
| 2.8 | Cluster Manager App Chart | latest |

!!! tip
Learn more about Helm Charts and Apps in the [Rancher documentation](https://ranchermanager.docs.rancher.com/pages-for-subheaders/helm-charts-in-rancher)
Learn more about Helm Charts and Apps in the [Rancher documentation](https://ranchermanager.docs.rancher.com/how-to-guides/new-user-guides/helm-charts-in-rancher)

### HPE CSI Driver for Kubernetes

Expand All @@ -35,48 +34,6 @@ Navigate to "Apps" and select "Charts", search for "HPE".
![](img/new_cluster_manager.png)
<small>Rancher Cluster Explorer</small>

#### Rancher Cluster Explorer (2.5)

In Rancher 2.5, the "Apps & Marketplace" in the "Cluster Explorer" may be used to install the HPE CSI Driver. This is recommended for new installs.

![](img/cluster_explorer.png)
<small>Rancher Cluster Explorer</small>

#### Rancher Cluster Manager (2.4 and older)

In Rancher 2.5 and earlier, the "Apps" interface is the default method of installing the HPE CSI Driver.

![](img/cluster_manager.png)
<small>Rancher Cluster Manager</small>

!!! note
Installing the CSI driver with default parameters (simply hit "Launch" in the UIs) is the most common deployment option. Please see the official Helm chart [documentation](https://artifacthub.io/packages/helm/hpe-storage/hpe-csi-driver) for supported parameters.

#### Rancher CLI install

Switch to the project you want to install the CSI driver. For this example, the default project on a managed cluster is being used.

!!! important
The Rancher CLI does [not support](https://github.com/rancher/rancher/issues/30095) "Apps & Marketplace" introduced in 2.5 yet. Use the web interface or REST API to deploy the CSI driver instead.

```text
$ rancher context current
Cluster:torta Project:Default
```

Steps to install the CSI driver.

```text
$ rancher app install hpe-csi-driver hpe-csi-driver --no-prompt
run "app show-notes hpe-csi-driver" to view app notes once app is ready
$ rancher app
ID NAME STATE CATALOG TEMPLATE VERSION
p-k28xd:hpe-csi-driver hpe-csi-driver active helm3-library hpe-csi-driver 1.3.1
```

!!! note
This is installs the driver with the default parameters which is the most common deployment option. Please see the official Helm chart [documentation](https://artifacthub.io/packages/helm/hpe-storage/hpe-csi-driver) for supported parameters.

### Post install steps

For Rancher workloads to make use of persistent storage from HPE, a supported backend needs to be configured with a `Secret` along with a `StorageClass`. These procedures are generic regardless of Kubernetes distribution and install method being used.
Expand Down
1 change: 1 addition & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,7 @@ nav:
- 'Kasten by Veeam': 'partners/kasten/index.md'
- 'Mirantis': 'partners/mirantis/index.md'
- 'Red Hat OpenShift': 'partners/redhat_openshift/index.md'
- 'SUSE Harvester': 'partners/suse_harvester/index.md'
- 'SUSE Rancher': 'partners/suse_rancher/index.md'
- 'Tanzu Kubernetes Grid Integrated': 'partners/tkgi/index.md'
- 'VMware': 'partners/vmware/index.md'
Expand Down

0 comments on commit 9b5f435

Please sign in to comment.