Skip to content

Conversation

@jillian-maroket
Copy link
Contributor

@jillian-maroket jillian-maroket commented Mar 29, 2024

I created this glossary in response to the customer request described in SURE-6084. The customer has specific terminology concerns so I prioritized those in this PR. I intend to expand the list over time and align with Rancher's glossary (WIP) whenever possible.

Let me know if I misrepresented anything and if you'd like any terms added to this MVP.

Note: Please ignore the formatting for now. The doc team is testing out a glossary structure that should eventually be used across the board.

Preview: https://66068b01f4b89bcb3f637b95--harvester-preview.netlify.app/v1.4/glossary

cc: @asettle @rebeccazzzz

@harvesterhci-io-github-bot
Copy link
Collaborator

harvesterhci-io-github-bot commented Mar 29, 2024

Deploy Preview for harvester-preview ready!

Name Link
🔨 Latest commit 95e92ee
🔍 Latest deploy log https://app.netlify.com/sites/harvester-preview/deploys/6615ed5548b76b4e4a8ed77c
😎 Deploy Preview https://6615ed5548b76b4e4a8ed77c--harvester-preview.netlify.app

@jillian-maroket
Copy link
Contributor Author

The Subscription Terms for SUSE Subscription Offerings document contains a glossary. I lifted the definition of "Harvester hypervisor" from that doc. Their definition of "Harvester node" seems to be incorrect so I wrote a different definition.

Copy link
Member

@m-ildefons m-ildefons left a comment

Choose a reason for hiding this comment

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

I found the formulations around guest clusters and guest cluster nodes unclear.

docs/glossary.md Outdated

## **guest cluster** / **guest Kubernetes cluster**

Group of integrated Kubernetes worker machines that are running in a VM that is part of a Harvester cluster. Guest clusters form the underlying infrastructure for running containerized workloads.
Copy link
Member

Choose a reason for hiding this comment

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

Formulation a bit unclear. Is the guest cluster part of the Harvester cluster, or is it a separate cluster of VM workload on top of the Harvester cluster?
Is a guest cluster required for containerized workloads or can container workloads not also be deployed directly on the Harvester cluster?
Also is this a group of K8s workers in a single VM, or a group of VMs, each being a K8s worker node?

I thought the situation with a guest cluster was like this:

  ┌─────────────────────────────────────────────────────────────────────────┐
  │ Harvester Cluster                                                       │
  │ ┌───────────────────┐ ┌───────────────────┐ ┌───────────────────┐       │
  │ │Physical Server    │ │Physical Server    │ │Physical Server    │       │
  │ │                   │ │                   │ │                   │       │
  │ │Harvester Node 1   │ │Harvester Node 2   │ │Harvester Node 3   │       │
  │ ├───────────────────┤ ├───────────────────┤ ├───────────────────┤       │
  │ │                   │ │                   │ │                   │       │
  │ │                   │ │                   │ │                   │       │
  │ │ ┌─────────────────┼─┼───────────────────┼─┼───────────────────┼─────┐ │
  │ │ │ Guest Cluster   │ │                   │ │                   │     │ │
  │ │ │ ┌───────────┐   │ │   ┌───────────┐   │ │   ┌───────────┐   │     │ │
  │ │ │ │VM         │   │ │   │VM         │   │ │   │VM         │   │     │ │
  │ │ │ │           │   │ │   │           │   │ │   │           │   │     │ │
  │ │ │ │K8s Node 1 │   │ │   │K8s Node 2 │   │ │   │K8s Node 3 │   │     │ │
  │ │ │ ├───────────┤   │ │   ├───────────┤   │ │   ├───────────┤   │ ... │ │
  │ │ │ │Containers/│   │ │   │Containers/│   │ │   │Containers/│   │     │ │
  │ │ │ │Pods       │   │ │   │Pods       │   │ │   │Pods       │   │     │ │
  │ │ │ │           │   │ │   │           │   │ │   │           │   │     │ │
  │ │ │ │           │   │ │   │           │   │ │   │           │   │     │ │
  │ │ │ └───────────┘   │ │   └───────────┘   │ │   └───────────┘   │     │ │
  │ │ │                 │ │                   │ │                   │     │ │
  │ │ └─────────────────┼─┼───────────────────┼─┼───────────────────┼─────┘ │
  │ │                   │ │                   │ │                   │       │
  │ └───────────────────┘ └───────────────────┘ └───────────────────┘       │
  │                                                                         │
  └─────────────────────────────────────────────────────────────────────────┘

Copy link
Member

@tserong tserong Apr 4, 2024

Choose a reason for hiding this comment

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

Formulation a bit unclear. Is the guest cluster part of the Harvester cluster, or is it a separate cluster of VM workload on top of the Harvester cluster?

The latter. I'd suggest wording it something like: ...machines that are running in VMs on top of a Harvester cluster" (note: "VMs" plural, and "on top of" as you suggested).

Is a guest cluster required for containerized workloads or can container workloads not also be deployed directly on the Harvester cluster?

Deploying container workloads directly on the Harvester cluster is possible, but is still experimental AIUI (see https://docs.harvesterhci.io/v1.3/rancher/rancher-integration#harvester-baremetal-container-workload-support-experimental)

Also is this a group of K8s workers in a single VM, or a group of VMs, each being a K8s worker node?

Should be a group of VMs - I believe your diagram is correct.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@m-ildefons @tserong Thank you for pointing out the deficiencies of the draft definition. Please check the updated one.

docs/glossary.md Outdated

## **guest cluster node** / **guest node**

Kubernetes worker machine that uses guest cluster resources to run workloads.
Copy link
Member

Choose a reason for hiding this comment

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

Again, a bit unclear. Isn't a guest cluster node a VM running on top of Harvester with this VM then running (part of) the guest K8s cluster as workload?

Copy link
Member

@tserong tserong Apr 4, 2024

Choose a reason for hiding this comment

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

Yup. Maybe say "Kubernetes worker VM"?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@m-ildefons @tserong Again, thank you and please check the updated definition.

Copy link
Member

@m-ildefons m-ildefons left a comment

Choose a reason for hiding this comment

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

I like this new version much better, well done 👍
But sorry to be so nit-picky here I noticed another formulation that's potentially misleading.

docs/glossary.md Outdated

**Harvester cluster**

Group of integrated physical servers (hosts) on which the Harvester hypervisor is installed. These servers pool compute and storage resources to provide an environment for running VMs that can host guest clusters.
Copy link
Member

Choose a reason for hiding this comment

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

I'm not sure pool is the right word here - especially for storage.
While the strict dictionary definition of a pool doesn't specify anything that Harvester doesn't support, storage-pools are usually referring to aggregations of multiple devices in such a way, that the volumes' storage capacities can exceed the capacity of any single device. This specifically is not the case for Longhorn, which provides the (default) storage engine for Harvester workloads. With Longhorn the storage is replicated across devices, but the capacity of the devices isn't pooled together. As a result, the maximum volume size can not exceed the capacity of the individual devices.
While it's theoretically possible to aggregate multiple disks within one node by using Longhorn on top of an LVM, this configuration is AFAIK not supported officially and I'm sure it would be quite a challenge to even set it up with Harvester.
Similarly, the maximum compute a single workload (i.e. VM) on Harvester can have is the compute a single node can provide, so there isn't really any pooling going on.

How about:

These servers manage compute, memory and storage resources together to provide an environment for running VMs.

This should accurately capture that Harvester orchestrates these resources across the entire cluster, but this doesn't imply features that Harvester doesn't support.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I understand your concern about using pool given how Longhorn and single-node clusters function. We can use the wording you suggested (with one small change):

These servers collectively manage compute, memory, and storage resources to provide an environment for running VMs.

Copy link
Member

@tserong tserong left a comment

Choose a reason for hiding this comment

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

LGTM

Copy link
Member

@m-ildefons m-ildefons left a comment

Choose a reason for hiding this comment

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

LGTM

Copy link
Contributor

@bk201 bk201 left a comment

Choose a reason for hiding this comment

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

Thanks for the work!

@jillian-maroket
Copy link
Contributor Author

@m-ildefons @tserong @bk201 Thank you for providing such valuable feedback.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants