diff --git a/content/rancher/v2.x/en/catalog/_index.md b/content/rancher/v2.x/en/catalog/_index.md
index 6a954a02a01..7f0070a1ebb 100644
--- a/content/rancher/v2.x/en/catalog/_index.md
+++ b/content/rancher/v2.x/en/catalog/_index.md
@@ -7,29 +7,38 @@ aliases:
- /rancher/v2.x/en/tasks/global-configuration/catalog/
---
-## Catalogs
-
Rancher provides the ability to use a catalog of Helm charts that make it easy to repeatedly deploy applications.
-_Catalogs_ are GitHub repositories or Helm Chart repositories filled with applications that are ready-made for deployment. Applications are bundled in objects called _Helm charts_.
-
->A collection of files that describe a related set of Kubernetes resources. A single chart might be used to deploy something simple, like a memcached pod, or something complex, like a full web app stack with HTTP servers, databases, caches, and so on.
+- **Catalogs** are GitHub repositories or Helm Chart repositories filled with applications that are ready-made for deployment. Applications are bundled in objects called _Helm charts_.
+- **Helm charts** are a collection of files that describe a related set of Kubernetes resources. A single chart might be used to deploy something simple, like a memcached pod, or something complex, like a full web app stack with HTTP servers, databases, caches, and so on.
Rancher improves on Helm catalogs and charts. All native Helm charts can work within Rancher, but Rancher adds several enhancements to improve their user experience.
-## Catalog Scopes
+This section covers the following topics:
-Catalogs can be added at different scopes of Rancher.
+- [Catalog scopes](#catalog-scopes)
+- [Enabling built-in global catalogs](#enabling-built-in-global-catalogs)
+- [Adding custom global catalogs](#adding-custom-global-catalogs)
+ - [Add custom Git repositories](#add-custom-git-repositories)
+ - [Add custom Helm chart repositories](#add-custom-helm-chart-repositories)
+ - [Add private Git/Helm chart repositories](#add-private-git-helm-chart-repositories)
+- [Launching catalog applications](#launching-catalog-applications)
+- [Working with catalogs](#working-with-catalogs)
+ - [Apps](#apps)
+ - [Global DNS](#global-dns)
+ - [Chart compatibility with Rancher](#chart-compatibility-with-rancher)
-Scope | Description
---- | ---
-Global | Catalogs added at this scope are available for all clusters and all projects in Rancher.
-Cluster | Catalogs added within a cluster are available for all projects in that cluster.
-Project | Catalogs added within a project are only available for that project.
+# Catalog Scopes
-## Global catalogs
+Within Rancher, you can manage catalogs at three different scopes. Global catalogs are shared across all clusters and project. There are some use cases where you might not want to share catalogs across between different clusters or even projects in the same cluster. By leveraging cluster and project scoped catalogs, you will be able to provide applications for specific teams without needing to share them with all clusters and/or projects.
-## Enabling Built-in Catalogs
+Scope | Description | Available As of |
+--- | --- | --- |
+Global | All clusters and all projects can access the Helm charts in this catalog | v2.0.0 |
+Cluster | All projects in the specific cluster can access the Helm charts in this catalog | v2.2.0 |
+Project | This specific cluster can access the Helm charts in this catalog | v2.2.0 |
+
+# Enabling Built-in Global Catalogs
Within Rancher, there are default catalogs packaged as part of Rancher. These can be enabled or disabled by an administrator.
@@ -53,15 +62,14 @@ Within Rancher, there are default catalogs packaged as part of Rancher. These ca
**Result**: The chosen catalogs are enabled. Wait a few minutes for Rancher to replicate the catalog charts. When replication completes, you'll be able to see them in any of your projects by selecting **Apps** from the main navigation bar. In versions prior to v2.2.0, you can select **Catalog Apps** from the main navigation bar.
-## Adding Custom Catalogs
+# Adding Custom Global Catalogs
Adding a catalog is as simple as adding a catalog name, a URL and a branch name.
-#### Add Custom Git Repositories
+### Add Custom Git Repositories
The Git URL needs to be one that `git clone` [can handle](https://git-scm.com/docs/git-clone#_git_urls_a_id_urls_a) and must end in `.git`. The branch name must be a branch that is in your catalog URL. If no branch name is provided, it will use the `master` branch by default. Whenever you add a catalog to Rancher, it will be available immediately.
-
-#### Add Custom Helm Chart Repositories
+### Add Custom Helm Chart Repositories
A Helm chart repository is an HTTP server that houses one or more packaged charts. Any HTTP server that can serve YAML files and tar files and can answer GET requests can be used as a repository server.
@@ -69,7 +77,7 @@ Helm comes with built-in package server for developer testing (helm serve). The
In Rancher, you can add the custom Helm chart repository with only a catalog name and the URL address of the chart repository.
-#### Add Private Git/Helm Chart Repositories
+### Add Private Git/Helm Chart Repositories
_Available as of v2.2.0_
In Rancher v2.2.0, you can add private catalog repositories using credentials like Username and Password. You may also want to use the
@@ -90,7 +98,7 @@ NEEDS TO BE FIXED FOR 2.0: Any [users]({{site.baseurl}}/rancher/{{page.version}}
**Result**: Your catalog is added to Rancher.
-## Launching Catalog Applications
+# Launching Catalog Applications
After you've either enabled the built-in catalogs or added your own custom catalog, you can start launching any catalog application.>
@@ -121,31 +129,21 @@ After you've either enabled the built-in catalogs or added your own custom catal
By creating a customized repository with added files, Rancher improves on Helm repositories and charts. All native Helm charts can work within Rancher, but Rancher adds several enhancements to improve their user experience.
-### Catalog Scope
-
-Within Rancher, you can manage catalogs at three different scopes. Global catalogs is shared across all clusters and project. There are some use cases where you might not want to share catalogs across between different clusters or even projects in the same cluster. By leveraging cluster and project scoped catalogs, you will be able to provide applications for specific teams without needing to share them with all clusters and/or projects.
-
-Scope | Description | Available As of |
---- | --- | --- |
-Global | All clusters and all projects can access the Helm charts in this catalog | v2.0.0 |
-Cluster | All projects in the specific cluster can access the Helm charts in this catalog | v2.2.0 |
-Project | This specific cluster can access the Helm charts in this catalog | v2.2.0 |
-
-### Working with catalogs
+# Working with Catalogs
There are two types of catalogs in Rancher. Learn more about each type:
* [Built-in Global Catalogs]({{< baseurl >}}/rancher/v2.x/en/catalog/built-in/)
* [Custom Catalogs]({{< baseurl >}}/rancher/v2.x/en/catalog/custom/)
-## Apps
+### Apps
In Rancher, applications are deployed from the templates in a catalog. Rancher supports two types of applications:
* [Multi-cluster applications]({{< baseurl >}}/rancher/v2.x/en/catalog/multi-cluster-apps/)
* [Applications deployed in a specific Project]({{< baseurl >}}/rancher/v2.x/en/catalog/apps)
-## Global DNS
+### Global DNS
_Available as v2.2.0_
@@ -153,6 +151,6 @@ When creating applications that span multiple Kubernetes clusters, a Global DNS
For more information on how to use this feature, see [Global DNS]({{< baseurl >}}/rancher/v2.x/en/catalog/globaldns/).
-## Chart Compatibility with Rancher
+### Chart Compatibility with Rancher
-Charts now support a field called `rancher_min_version` and `rancher_max_version` in the [`questions.yml` file](https://github.com/rancher/integration-test-charts/blob/master/charts/chartmuseum/v1.6.0/questions.yml) to specify the versions of Rancher that the chart is compatible with. When using the UI, only app versions that are valid for the version of Rancher running will be shown. API validation is done to ensure apps that don't meet the Rancher requirements cannot be launched. An app that is already running will not be affected on a Rancher upgrade if the newer Rancher version does not meet the app's requirements.
+Charts now support the fields `rancher_min_version` and `rancher_max_version` in the [`questions.yml` file](https://github.com/rancher/integration-test-charts/blob/master/charts/chartmuseum/v1.6.0/questions.yml) to specify the versions of Rancher that the chart is compatible with. When using the UI, only app versions that are valid for the version of Rancher running will be shown. API validation is done to ensure apps that don't meet the Rancher requirements cannot be launched. An app that is already running will not be affected on a Rancher upgrade if the newer Rancher version does not meet the app's requirements.
diff --git a/content/rancher/v2.x/en/contributing/_index.md b/content/rancher/v2.x/en/contributing/_index.md
index 375a42b995e..857f81ef92c 100644
--- a/content/rancher/v2.x/en/contributing/_index.md
+++ b/content/rancher/v2.x/en/contributing/_index.md
@@ -36,7 +36,7 @@ CLI | https://github.com/rancher/cli | This repository is the source code for th
Telemetry repository | https://github.com/rancher/telemetry | This repository is the source for the Telemetry binary.
loglevel repository | https://github.com/rancher/loglevel | This repository is the source of the loglevel binary, used to dynamically change log levels.
-To see all libraries/projects used in Rancher, see the `vendor.conf` in the `rancher/rancher` repository.
+To see all libraries/projects used in Rancher, see the [`go.mod` file](https://github.com/rancher/rancher/blob/master/go.mod) in the `rancher/rancher` repository.
 Rancher components used for provisioning/managing Kubernetes clusters.
diff --git a/content/rancher/v2.x/en/overview/architecture/_index.md b/content/rancher/v2.x/en/overview/architecture/_index.md
index 6378cba8efd..29ba8dd699d 100644
--- a/content/rancher/v2.x/en/overview/architecture/_index.md
+++ b/content/rancher/v2.x/en/overview/architecture/_index.md
@@ -5,9 +5,7 @@ weight: 1
This section focuses on the Rancher server, its components, and how Rancher communicates with downstream Kubernetes clusters.
-The Rancher server includes all the software components used to manage the entire Rancher deployment.
-
-For the different ways that Rancher can be installed, refer to the [installation options section.]({{}}/rancher/v2.x/en/overview/installation-options)
+For information on the different ways that Rancher can be installed, refer to the [installation options section.]({{}}/rancher/v2.x/en/overview/installation-options)
For guidance about setting up the underlying infrastructure for the Rancher server, refer to the [architecture recommendations.]({{}}/rancher/v2.x/en/overview/architecture-recommendations)
@@ -17,7 +15,6 @@ This section covers the following topics:
- [Rancher server architecture](#rancher-server-architecture)
- [Features of the Rancher API server](#features-of-the-rancher-api-server)
- - [Rancher server components and source code](#rancher-server-components-and-source-code)
- [Communicating with downstream user clusters](#communicating-with-downstream-user-clusters)
- [The authentication proxy](#1-the-authentication-proxy)
- [Cluster controllers and cluster agents](#2-cluster-controllers-and-cluster-agents)
@@ -25,6 +22,7 @@ This section covers the following topics:
- [Authorized cluster endpoint](#4-authorized-cluster-endpoint)
- [Important files](#important-files)
- [Tools for provisioning Kubernetes clusters](#tools-for-provisioning-kubernetes-clusters)
+- [Rancher server components and source code](#rancher-server-components-and-source-code)
# Rancher Server Architecture
@@ -34,48 +32,42 @@ The figure below illustrates the high-level architecture of Rancher 2.x. The fig
For the best performance and security, we recommend a dedicated Kubernetes cluster for the Rancher management server. Running user workloads on this cluster is not advised. After deploying Rancher, you can [create or import clusters]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/#cluster-creation-in-rancher) for running your workloads.
-You can install Rancher on a single node, or on a high-availability Kubernetes cluster.
-
-A single-node installation is recommended for development and testing purposes, and a high-availability installation is recommended for production.
-
The diagram below shows how users can manipulate both [Rancher-launched Kubernetes]({{}}/rancher/v2.x/en/cluster-provisioning/rke-clusters/) clusters and [hosted Kubernetes]({{}}/rancher/v2.x/en/cluster-provisioning/hosted-kubernetes-clusters/) clusters through Rancher's authentication proxy:
-Manipulating Clusters through Rancher's Authentication Proxy
+Managing Kubernetes Clusters through Rancher's Authentication Proxy

+You can install Rancher on a single node, or on a high-availability Kubernetes cluster.
+
+A high-availability installation is recommended for production. A single-node installation may be used for development and testing purposes, but there is no migration path from a single-node to a high-availability installation. Therefore, you may want to use a high-availability installation from the start.
+
+The Rancher server, regardless of the installation method, should always run on nodes that are separate from the downstream user clusters that it manages. If Rancher is installed on a high-availability Kubernetes cluster, it should run on a separate cluster from the cluster(s) it manages.
+
### Features of the Rancher API Server
The Rancher API server is built on top of an embedded Kubernetes API server and an etcd database. It implements the following functionalities:
-- **User management:** The Rancher API server [manages user identities]({{}}/rancher/v2.x/en/admin-settings/authentication/) that correspond to external authentication providers like Active Directory or GitHub.
+- **User management:** The Rancher API server [manages user identities]({{}}/rancher/v2.x/en/admin-settings/authentication/) that correspond to external authentication providers like Active Directory or GitHub, in addition to local users.
- **Authorization:** The Rancher API server manages [access control]({{}}/rancher/v2.x/en/admin-settings/rbac/) and [security]({{}}/rancher/v2.x/en/admin-settings/pod-security-policies/) policies.
-- **Managing projects:** A [project]({{}}/rancher/v2.x/en/project-admin/) is a group of multiple namespaces and access control policies within a cluster.
+- **Managing projects:** A project is a group of multiple namespaces and access control policies within a cluster. A project is a Rancher concept, not a Kubernetes concept, and it allows you manage multiple namespaces as a group. The Rancher UI provides features for [project administration]({{}}/rancher/v2.x/en/project-admin/) and for [managing applications within projects.]({{}}/rancher/v2.x/en/k8s-in-rancher/)
- **Tracking nodes:** The Rancher API server tracks identities of all the [nodes]({{}}/rancher/v2.x/en/cluster-admin/nodes/) in all clusters.
-- **Provisioning Kubernetes clusters:** The Rancher API server can [provision Kubernetes]({{}}/rancher/v2.x/en/cluster-provisioning/) on existing nodes, or [import existing Kubernetes clusters]({{}}/rancher/v2.x/en/cluster-provisioning/imported-clusters/) into Rancher.
+- **Provisioning Kubernetes clusters:** The Rancher API server can [provision Kubernetes]({{}}/rancher/v2.x/en/cluster-provisioning/) on existing nodes, [import existing Kubernetes clusters]({{}}/rancher/v2.x/en/cluster-provisioning/imported-clusters/) into Rancher, or perform [Kubernetes upgrades.]({{}}/rancher/v2.x/en/cluster-admin/editing-clusters/#upgrading-kubernetes)
- **Setting up infrastructure:** When configured to use a cloud provider, Rancher can dynamically provision [new nodes]({{}}/rancher/v2.x/en/cluster-provisioning/rke-clusters/node-pools/) and [persistent storage]({{}}/rancher/v2.x/en/cluster-admin/volumes-and-storage/) in the cloud.
-
-### Rancher Server Components and Source Code
-
-This diagram shows each component that the Rancher server is composed of:
-
-
-
-The GitHub repositories for each component of Rancher can be found at the following links:
-
-- [Main Rancher server repository](https://github.com/rancher/rancher)
-- [Rancher UI](https://github.com/rancher/ui)
-- [Rancher API UI](https://github.com/rancher/api-ui)
-- [Norman,](https://github.com/rancher/norman) Rancher's API framework
-- [Types](https://github.com/rancher/types)
-- [Rancher CLI](https://github.com/rancher/cli)
-- [Catalog applications](https://github.com/rancher/helm)
+- **Catalog management:** Rancher provides the ability to use a [catalog of Helm charts]({{}}/rancher/v2.x/en/catalog/) that make it easy to repeatedly deploy applications.
+- **Logging:** Rancher can integrate with a variety of popular logging services and tools that exist outside of your Kubernetes clusters. Logging can be set up [at the cluster level]({{}}/rancher/v2.x/en/cluster-admin/tools/logging/) or [at the project level.]({{}}/rancher/v2.x/en/project-admin/tools/logging/)
+- **Monitoring:** Using Rancher, you can monitor the state and processes of your cluster nodes, Kubernetes components, and software deployments through integration with Prometheus, a leading open-source monitoring solution. Monitoring can be configured [at the cluster level]({{}}/rancher/v2.x/en/cluster-admin/tools/monitoring/) or [at the project level.]({{}}/rancher/v2.x/en/project-admin/tools/monitoring/)
+- **Alerting:** To keep your clusters and applications healthy and driving your organizational productivity forward, you need to stay informed of events occurring in your clusters and projects, both planned and unplanned. To help you stay informed of these events, you can configure alerts [at the cluster level]({{}}/rancher/v2.x/en/cluster-admin/tools/alerts/) or [at the project level.]({{}}/rancher/v2.x/en/project-admin/tools/alerts/)
+- **Pipelines:** Setting up a [pipeline]({{}}/rancher/v2.x/en/project-admin/tools/pipelines/) can help developers deliver new software as quickly and efficiently as possible. Within Rancher, you can configure pipelines for each of your Rancher projects.
+- **Istio:** Our [integration with Istio]({{}}/rancher/v2.x/en/cluster-admin/tools/istio/) is designed so that a Rancher operator, such as an administrator or cluster owner, can deliver Istio to developers. Then developers can use Istio to enforce security policies, troubleshoot problems, or manage traffic for green/blue deployments, canary deployments, or A/B testing.
# Communicating with Downstream User Clusters
This section describes how Rancher provisions and manages the downstream user clusters that run your apps and services.
-Cluster Controller, Cluster Agent, and Node Agents Allow Rancher to Control Downstream Clusters
+The below diagram shows how the cluster controllers, cluster agents, and node agents allow Rancher to control downstream clusters.
+
+Communicating with Downstream Clusters

@@ -158,7 +150,7 @@ For more information on connecting to a cluster without the Rancher authenticati
The tools that Rancher uses to provision downstream user clusters depends on the type of cluster that is being provisioned.
-### Rancher Launched Kubernetes for Hodes Hosted in an Infrastructure Provider
+### Rancher Launched Kubernetes for Nodes Hosted in an Infrastructure Provider
Rancher can dynamically provision nodes in a provider such as Amazon EC2, DigitalOcean, Azure, or vSphere, then install Kubernetes on them.
@@ -178,4 +170,22 @@ Rancher provisions this type of cluster using [kontainer-engine.](https://github
### Imported Kubernetes Clusters
-In this type of cluster, Rancher connects to a Kubernetes cluster that has already been set up. Therefore, Rancher does not provision Kubernetes, but only sets up the Rancher agents to communicate with the cluster.
\ No newline at end of file
+In this type of cluster, Rancher connects to a Kubernetes cluster that has already been set up. Therefore, Rancher does not provision Kubernetes, but only sets up the Rancher agents to communicate with the cluster.
+
+# Rancher Server Components and Source Code
+
+This diagram shows each component that the Rancher server is composed of:
+
+
+
+The GitHub repositories for Rancher can be found at the following links:
+
+- [Main Rancher server repository](https://github.com/rancher/rancher)
+- [Rancher UI](https://github.com/rancher/ui)
+- [Rancher API UI](https://github.com/rancher/api-ui)
+- [Norman,](https://github.com/rancher/norman) Rancher's API framework
+- [Types](https://github.com/rancher/types)
+- [Rancher CLI](https://github.com/rancher/cli)
+- [Catalog applications](https://github.com/rancher/helm)
+
+This is a partial list of the most important Rancher repositories. For more details about Rancher source code, refer to the section on [contributing to Rancher.]({{}}/rancher/v2.x/en/contributing/#repositories) To see all libraries and projects used in Rancher, see the [`go.mod` file](https://github.com/rancher/rancher/blob/master/go.mod) in the `rancher/rancher` repository.
\ No newline at end of file
diff --git a/content/rancher/v2.x/en/overview/installation-options/_index.md b/content/rancher/v2.x/en/overview/installation-options/_index.md
index 18b2f30f426..55bf24e267f 100644
--- a/content/rancher/v2.x/en/overview/installation-options/_index.md
+++ b/content/rancher/v2.x/en/overview/installation-options/_index.md
@@ -5,6 +5,10 @@ weight: 2
Rancher can be installed on a single node or a high-availability cluster.
+A high-availability installation is recommended for production. A single-node installation may be used for development and testing purposes, but there is no migration path from a single-node to a high-availability installation. Therefore, you may want to use a high-availability installation from the start.
+
+The Rancher server, regardless of the installation method, should always run on nodes that are separate from the downstream user clusters that it manages. If Rancher is installed on a high-availability Kubernetes cluster, it should run on a separate cluster from the cluster(s) it manages.
+
On a single node, Rancher is installed with Docker and many options are configured with Docker commands.
On a Kubernetes cluster, Rancher is installed with Helm, and Helm commands are used to pass in configuration options. [Helm]({{}}/rancher/v2.x/en/overview/architecture/concepts/#about-helm) is a Kubernetes package manager.
@@ -42,4 +46,4 @@ Refer to the [single node installation docs]({{}}/rancher/v2.x/en/insta
# More Kubernetes Options
-RKE also has many configuration options for customizing the Kubernetes cluster to suit your specific environment. Please see the [RKE Documentation]({{}}/rke/latest/en/config-options/) for the full list of options and capabilities.
\ No newline at end of file
+In the Rancher installation instructions, we recommend using RKE (Rancher Kubernetes Engine) to set up a Kubernetes cluster before installing Rancher on the cluster. RKE has many configuration options for customizing the Kubernetes cluster to suit your specific environment. Please see the [RKE Documentation]({{}}/rke/latest/en/config-options/) for the full list of options and capabilities.
\ No newline at end of file
diff --git a/static/img/rancher/rancher-architecture-cluster-controller.svg b/static/img/rancher/rancher-architecture-cluster-controller.svg
index 5513b083a82..517cb8d903d 100644
--- a/static/img/rancher/rancher-architecture-cluster-controller.svg
+++ b/static/img/rancher/rancher-architecture-cluster-controller.svg
@@ -1,3 +1,3 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/static/img/rancher/rancher-architecture-rancher-api-server.svg b/static/img/rancher/rancher-architecture-rancher-api-server.svg
index 4b37175686b..1b89e28d84a 100644
--- a/static/img/rancher/rancher-architecture-rancher-api-server.svg
+++ b/static/img/rancher/rancher-architecture-rancher-api-server.svg
@@ -1,3 +1,3 @@
-
\ No newline at end of file
+
\ No newline at end of file