Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cloud hosted mgmt cluster #496

Open
wants to merge 10 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions asciidoc/edge-book/edge.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,8 @@ include::../components/upgrade-controller.adoc[leveloffset=+1]
[partintro]
How-to guides and best practices

include::../guides/public-cloud.adoc[leveloffset=+1]

include::../guides/metallb-k3s.adoc[leveloffset=+1]

include::../guides/metallb-kube-api.adoc[leveloffset=+1]
Expand Down
73 changes: 73 additions & 0 deletions asciidoc/guides/public-cloud.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
[#guides-public-cloud]
= Running the Management Cluster in the Public Cloud
:experimental:

ifdef::env-github[]
:imagesdir: ../images/
:tip-caption: :bulb:
:note-caption: :information_source:
:important-caption: :heavy_exclamation_mark:
:caution-caption: :fire:
:warning-caption: :warning:
endif::[]



This guide provides a starting point for how best to set up your management cluster (the cluster that's hosting Rancher itself) in the public cloud.

[NOTE]
====
Due to the networking requirements of Metal^3^, edge deployments being managed through the public cloud would likely be best served by <<quickstart-elemental,Elemental>>. If the network is set up correctly, it may be possible to use Metal^3^ but this would be specific for each environment.
====

== Networking and Topology

image::elemental-architecture-cloud.png[]

Downstream clusters need to have access to the Rancher server that's managing it. This means that we need to provide a FQDN that's resolves to a LoadBalancer that routes the traffic to Rancher.

In the public cloud, this typically is done through the tools provided by your cloud provider.

The documentation for installing Rancher into each of the major cloud providers can be found here:

- https://ranchermanager.docs.rancher.com/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-amazon-eks[Amazon AWS]
- https://ranchermanager.docs.rancher.com/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-aks[Microsoft Azure]
- https://ranchermanager.docs.rancher.com/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-gke[Google Cloud]

=== SUSE Manager

It can also be advantageous to use https://documentation.suse.com/suma/5.0/[SUSE Manager] to reduce network traffic for updates along with reducing risk of losing access to your clusters by providing an additional communication path with the individual nodes themselves. (i.e. If something happens to your upstream Rancher environment, you still have a in-place path to recovery)

At the most basic level, SUSE Manager allows for remotely managing hosts and their update lifecycle while acting as a centralized and secure funnel for packages. As part of this, you can lock down package versions while allowing the promotion of versions across dev/test/prod environments. It also allows for auditing and drift remediation of the systems being managed.

The reduced network traffic comes from the ability to more tightly control where packages get cached, which packages get loaded, and how they are downloaded and installed. We can use these controls to deduplicate traffic and allow a single stream of downloads per cluster instead of per node. Similarly, it transfers files in a way that is tolerant to poor network conditions and allows for continuation instead of restarting interrupted downloads.

More information can be found at ...

TODO: Find appropriate document(s) to link to

=== Cloud Marketplace

SUSE also maintains offerings in the marketplace of the most commonly used cloud providers.

More information about these offerings can be found https://www.suse.com/solutions/public-cloud/[here].

== Sizing Considerations

The number of downstream clusters a single Rancher server is able to manage is influenced by both the number of objects being created for each cluster as well as the size of the VMs hosting the management cluster's workers.

=== Object Count

Rancher creates several Kubernetes objects for each cluster which affects it's performance. The amount of objects that are created depends on factors such as:

- # of Roles/RoleBindings
- # of Users
- # of workloads
- # of extensions being used

More information can be found at https://ranchermanager.docs.rancher.com/v2.10/reference-guides/best-practices/rancher-server/tuning-and-best-practices-for-rancher-at-scale#managing-your-object-counts

=== Instance Size:

Some basic sizing considerations can be found at https://ranchermanager.docs.rancher.com/v2.10/getting-started/installation-and-upgrade/installation-requirements#rke2-kubernetes

Binary file added asciidoc/images/elemental-architecture-cloud.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading