diff --git a/asciidoc/edge-book/edge.adoc b/asciidoc/edge-book/edge.adoc index 0d395b2d..bc080393 100755 --- a/asciidoc/edge-book/edge.adoc +++ b/asciidoc/edge-book/edge.adoc @@ -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] diff --git a/asciidoc/guides/public-cloud.adoc b/asciidoc/guides/public-cloud.adoc new file mode 100644 index 00000000..4c67993b --- /dev/null +++ b/asciidoc/guides/public-cloud.adoc @@ -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 <>. 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 + diff --git a/asciidoc/images/elemental-architecture-cloud.png b/asciidoc/images/elemental-architecture-cloud.png new file mode 100644 index 00000000..fbc9f7c2 Binary files /dev/null and b/asciidoc/images/elemental-architecture-cloud.png differ