From 08e5a5e73010de2e2037a702a090ebb427275297 Mon Sep 17 00:00:00 2001 From: Catherine Luse Date: Mon, 9 Sep 2019 03:28:53 -0700 Subject: [PATCH 01/32] Explain how to rotate certs after upgrading old Rancher --- .../certificate-rotation/_index.md | 31 ++++++++++++++++++- .../v2.x/en/upgrades/upgrades/_index.md | 2 ++ 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/content/rancher/v2.x/en/cluster-admin/certificate-rotation/_index.md b/content/rancher/v2.x/en/cluster-admin/certificate-rotation/_index.md index 70617ae7199..2323917c395 100644 --- a/content/rancher/v2.x/en/cluster-admin/certificate-rotation/_index.md +++ b/content/rancher/v2.x/en/cluster-admin/certificate-rotation/_index.md @@ -55,4 +55,33 @@ Rancher launched Kubernetes clusters have the ability to rotate the auto-generat 5. Click on **Send Request**. -**Results:** All kubernetes certificates will be rotated. +**Results:** All Kubernetes certificates will be rotated. + +### Rotating Expired Certificates After Upgrading Older Rancher Versions + +If you are upgrading from Rancher v2.0.13 or earlier, or v2.1.8 or earlier, and your clusters have expired certificates, some manual steps are required to complete the certificate rotation. + +1. For the `controlplane` and `etcd` nodes, log in to each corresponding host and check if the certificate `kube-apiserver-requestheader-ca.pem` is in the following directory: + + ``` + cd /etc/kubernetes/.tmp + ``` + + If the certificate is not in the directory, perform the following commands: + + ``` + cp kube-ca.pem kube-apiserver-requestheader-ca.pem + cp kube-ca-key.pem kube-apiserver-requestheader-ca-key.pem + cp kube-apiserver.pem kube-apiserver-proxy-client.pem + cp kube-apiserver-key.pem kube-apiserver-proxy-client-key.pem + ``` + + If the `.tmp` directory does not exist, you can copy the entire SSL certificate to `.tmp`: + + ``` + cp -r /etc/kubernetes/ssl /etc/kubernetes/.tmp + ``` + +1. Rotate the certificates. For Rancher v2.0.x and v2.1.x, use the [Rancher API.](#certificate-rotation-in-rancher-v2-1-x-and-v2-0-x) For Rancher 2.2.x, [use the UI.](#certificate-rotation-in-rancher-v2-2-x) + +1. After the command is finished, check if the `worker` nodes are Active. If not, log in to each `worker` node and restart the kubelet and proxy. \ No newline at end of file diff --git a/content/rancher/v2.x/en/upgrades/upgrades/_index.md b/content/rancher/v2.x/en/upgrades/upgrades/_index.md index 109c96c1bfa..2be782d62d0 100644 --- a/content/rancher/v2.x/en/upgrades/upgrades/_index.md +++ b/content/rancher/v2.x/en/upgrades/upgrades/_index.md @@ -4,6 +4,8 @@ weight: 1005 --- This section contains information about how to upgrade your Rancher server to a newer version. +> **Note:** If you are upgrading from from Rancher v2.0.13 or earlier, or v2.1.8 or earlier, and your cluster's certificates have expired, you will need to perform [additional steps]({{}}/rancher/v2.x/en/cluster-admin/certificate-rotation/#rotating-expired-certificates-after-upgrading-older-rancher-versions) to rotate the certificates. + ### Single Node Install - [Upgrading a Single Node Install]({{< baseurl >}}/rancher/v2.x/en/upgrades/upgrades/single-node-upgrade/) From 1eaaf86d05b323e6d97a1585483071b68a912a67 Mon Sep 17 00:00:00 2001 From: Catherine Luse Date: Mon, 9 Sep 2019 09:48:08 -0700 Subject: [PATCH 02/32] Add upgrade note in more places --- .../upgrades/upgrades/ha-server-upgrade-helm-airgap/_index.md | 2 ++ .../v2.x/en/upgrades/upgrades/ha-server-upgrade-helm/_index.md | 2 ++ .../en/upgrades/upgrades/migrating-from-rke-add-on/_index.md | 2 ++ .../v2.x/en/upgrades/upgrades/namespace-migration/_index.md | 2 ++ .../en/upgrades/upgrades/single-node-air-gap-upgrade/_index.md | 2 ++ .../v2.x/en/upgrades/upgrades/single-node-upgrade/_index.md | 2 ++ 6 files changed, 12 insertions(+) diff --git a/content/rancher/v2.x/en/upgrades/upgrades/ha-server-upgrade-helm-airgap/_index.md b/content/rancher/v2.x/en/upgrades/upgrades/ha-server-upgrade-helm-airgap/_index.md index d16b051d8bd..ded643a68e5 100644 --- a/content/rancher/v2.x/en/upgrades/upgrades/ha-server-upgrade-helm-airgap/_index.md +++ b/content/rancher/v2.x/en/upgrades/upgrades/ha-server-upgrade-helm-airgap/_index.md @@ -7,6 +7,8 @@ The following instructions will guide you through upgrading a high-availability >**Note:** [Let's Encrypt will be blocking cert-manager instances older than 0.8.0 starting November 1st 2019.](https://community.letsencrypt.org/t/blocking-old-cert-manager-versions/98753) Upgrade cert-manager to the latest version by following [these instructions.]({{< baseurl >}}/rancher/v2.x/en/cluster-admin/upgrade-cert-manager-airgap) +> **Note:** If you are upgrading from from Rancher v2.0.13 or earlier, or v2.1.8 or earlier, and your cluster's certificates have expired, you will need to perform [additional steps]({{}}/rancher/v2.x/en/cluster-admin/certificate-rotation/#rotating-expired-certificates-after-upgrading-older-rancher-versions) to rotate the certificates. + ## Prerequisites - **Populate Images** diff --git a/content/rancher/v2.x/en/upgrades/upgrades/ha-server-upgrade-helm/_index.md b/content/rancher/v2.x/en/upgrades/upgrades/ha-server-upgrade-helm/_index.md index e690536ff65..bd1938b145e 100644 --- a/content/rancher/v2.x/en/upgrades/upgrades/ha-server-upgrade-helm/_index.md +++ b/content/rancher/v2.x/en/upgrades/upgrades/ha-server-upgrade-helm/_index.md @@ -15,6 +15,8 @@ The following instructions will guide you through upgrading a high-availability >**Note:** [Let's Encrypt will be blocking cert-manager instances older than 0.8.0 starting November 1st 2019.](https://community.letsencrypt.org/t/blocking-old-cert-manager-versions/98753) Upgrade cert-manager to the latest version by following [these instructions.]({{< baseurl >}}/rancher/v2.x/en/cluster-admin/upgrade-cert-manager) +> **Note:** If you are upgrading from from Rancher v2.0.13 or earlier, or v2.1.8 or earlier, and your cluster's certificates have expired, you will need to perform [additional steps]({{}}/rancher/v2.x/en/cluster-admin/certificate-rotation/#rotating-expired-certificates-after-upgrading-older-rancher-versions) to rotate the certificates. + ## Prerequisites diff --git a/content/rancher/v2.x/en/upgrades/upgrades/migrating-from-rke-add-on/_index.md b/content/rancher/v2.x/en/upgrades/upgrades/migrating-from-rke-add-on/_index.md index d8065508c90..72b9d6a74d3 100644 --- a/content/rancher/v2.x/en/upgrades/upgrades/migrating-from-rke-add-on/_index.md +++ b/content/rancher/v2.x/en/upgrades/upgrades/migrating-from-rke-add-on/_index.md @@ -17,6 +17,8 @@ You will need the to have [kubectl](https://kubernetes.io/docs/tasks/tools/insta > **Note:** This guide assumes a standard Rancher install. If you have modified any of the object names or namespaces, please adjust accordingly. +> **Note:** If you are upgrading from from Rancher v2.0.13 or earlier, or v2.1.8 or earlier, and your cluster's certificates have expired, you will need to perform [additional steps]({{}}/rancher/v2.x/en/cluster-admin/certificate-rotation/#rotating-expired-certificates-after-upgrading-older-rancher-versions) to rotate the certificates. + ### Point kubectl at your Rancher Cluster Make sure `kubectl` is using the correct kubeconfig YAML file. Set the `KUBECONFIG` environmental variable to point to `kube_config_rancher-cluster.yml`: diff --git a/content/rancher/v2.x/en/upgrades/upgrades/namespace-migration/_index.md b/content/rancher/v2.x/en/upgrades/upgrades/namespace-migration/_index.md index ad7b5398ec6..d22060ca163 100644 --- a/content/rancher/v2.x/en/upgrades/upgrades/namespace-migration/_index.md +++ b/content/rancher/v2.x/en/upgrades/upgrades/namespace-migration/_index.md @@ -26,6 +26,8 @@ During upgrades from Rancher v2.0.6- to Rancher v2.0.7+, all system namespaces a - To prevent this issue from occurring before the upgrade, see [Preventing Cluster Networking Issues](#preventing-cluster-networking-issues). - To fix this issue following upgrade, see [Restoring Cluster Networking](#restoring-cluster-networking). +> **Note:** If you are upgrading from from Rancher v2.0.13 or earlier, or v2.1.8 or earlier, and your cluster's certificates have expired, you will need to perform [additional steps]({{}}/rancher/v2.x/en/cluster-admin/certificate-rotation/#rotating-expired-certificates-after-upgrading-older-rancher-versions) to rotate the certificates. + ## Preventing Cluster Networking Issues You can prevent cluster networking issues from occurring during your upgrade to v2.0.7+ by unassigning system namespaces from all of your Rancher projects. Complete this task if you've assigned any of a cluster's system namespaces into a Rancher project. diff --git a/content/rancher/v2.x/en/upgrades/upgrades/single-node-air-gap-upgrade/_index.md b/content/rancher/v2.x/en/upgrades/upgrades/single-node-air-gap-upgrade/_index.md index 56a210ad6e1..b97b966519e 100644 --- a/content/rancher/v2.x/en/upgrades/upgrades/single-node-air-gap-upgrade/_index.md +++ b/content/rancher/v2.x/en/upgrades/upgrades/single-node-air-gap-upgrade/_index.md @@ -6,6 +6,8 @@ aliases: --- To upgrade an air gapped Rancher Server, update your private registry with the latest Docker images, and then run the upgrade command. +> **Note:** If you are upgrading from from Rancher v2.0.13 or earlier, or v2.1.8 or earlier, and your cluster's certificates have expired, you will need to perform [additional steps]({{}}/rancher/v2.x/en/cluster-admin/certificate-rotation/#rotating-expired-certificates-after-upgrading-older-rancher-versions) to rotate the certificates. + ## Prerequisites **Upgrades to v2.0.7+ only:** Starting in v2.0.7, Rancher introduced the `system` project, which is a project that's automatically created to store important namespaces that Kubernetes needs to operate. During upgrade to v2.0.7+, Rancher expects these namespaces to be unassigned from all projects. Before beginning upgrade, check your system namespaces to make sure that they're unassigned to [prevent cluster networking issues]({{< baseurl >}}/rancher/v2.x/en/upgrades/upgrades/namespace-migration/#preventing-cluster-networking-issues). diff --git a/content/rancher/v2.x/en/upgrades/upgrades/single-node-upgrade/_index.md b/content/rancher/v2.x/en/upgrades/upgrades/single-node-upgrade/_index.md index a9a9f1d1226..3bba237ec1a 100644 --- a/content/rancher/v2.x/en/upgrades/upgrades/single-node-upgrade/_index.md +++ b/content/rancher/v2.x/en/upgrades/upgrades/single-node-upgrade/_index.md @@ -6,6 +6,8 @@ aliases: --- To upgrade Rancher Server 2.x when a new version is released, create a data container for your current Rancher deployment, pull the latest image of Rancher, and then start a new Rancher container using your data container. +> **Note:** If you are upgrading from from Rancher v2.0.13 or earlier, or v2.1.8 or earlier, and your cluster's certificates have expired, you will need to perform [additional steps]({{}}/rancher/v2.x/en/cluster-admin/certificate-rotation/#rotating-expired-certificates-after-upgrading-older-rancher-versions) to rotate the certificates. + ## Before You Start During upgrade, you'll enter a series of commands, filling placeholders with data from your environment. These placeholders are denoted with angled brackets and all capital letters (``). Here's an example of a command with a placeholder: From 9ef412c36af88379b9efa6b169e704d0f8d99bd9 Mon Sep 17 00:00:00 2001 From: Denise Schannon Date: Tue, 10 Sep 2019 10:20:13 -0700 Subject: [PATCH 03/32] remove experimental from title --- .../rke-clusters/windows-clusters/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/rancher/v2.x/en/cluster-provisioning/rke-clusters/windows-clusters/_index.md b/content/rancher/v2.x/en/cluster-provisioning/rke-clusters/windows-clusters/_index.md index 187f4ea252e..7b9d1af8fc5 100644 --- a/content/rancher/v2.x/en/cluster-provisioning/rke-clusters/windows-clusters/_index.md +++ b/content/rancher/v2.x/en/cluster-provisioning/rke-clusters/windows-clusters/_index.md @@ -1,5 +1,5 @@ --- -title: Configuring Custom Clusters for Windows (Experimental) +title: Configuring Custom Clusters for Windows weight: 2240 --- From dd073dfab5f71050b5087ff9372f7396274c855b Mon Sep 17 00:00:00 2001 From: Catherine Luse Date: Tue, 10 Sep 2019 12:23:56 -0700 Subject: [PATCH 04/32] Fix broken link in upgrade section --- .../upgrades/upgrades/ha-server-upgrade-helm-airgap/_index.md | 2 +- .../v2.x/en/upgrades/upgrades/ha-server-upgrade-helm/_index.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/content/rancher/v2.x/en/upgrades/upgrades/ha-server-upgrade-helm-airgap/_index.md b/content/rancher/v2.x/en/upgrades/upgrades/ha-server-upgrade-helm-airgap/_index.md index ded643a68e5..3c68bc7a784 100644 --- a/content/rancher/v2.x/en/upgrades/upgrades/ha-server-upgrade-helm-airgap/_index.md +++ b/content/rancher/v2.x/en/upgrades/upgrades/ha-server-upgrade-helm-airgap/_index.md @@ -5,7 +5,7 @@ weight: 1021 The following instructions will guide you through upgrading a high-availability Rancher Server installed in an air gap environment. ->**Note:** [Let's Encrypt will be blocking cert-manager instances older than 0.8.0 starting November 1st 2019.](https://community.letsencrypt.org/t/blocking-old-cert-manager-versions/98753) Upgrade cert-manager to the latest version by following [these instructions.]({{< baseurl >}}/rancher/v2.x/en/cluster-admin/upgrade-cert-manager-airgap) +>**Note:** [Let's Encrypt will be blocking cert-manager instances older than 0.8.0 starting November 1st 2019.](https://community.letsencrypt.org/t/blocking-old-cert-manager-versions/98753) Upgrade cert-manager to the latest version by following [these instructions.]({{}}/rancher/v2.x/en/installation/options/upgrading-cert-manager) > **Note:** If you are upgrading from from Rancher v2.0.13 or earlier, or v2.1.8 or earlier, and your cluster's certificates have expired, you will need to perform [additional steps]({{}}/rancher/v2.x/en/cluster-admin/certificate-rotation/#rotating-expired-certificates-after-upgrading-older-rancher-versions) to rotate the certificates. diff --git a/content/rancher/v2.x/en/upgrades/upgrades/ha-server-upgrade-helm/_index.md b/content/rancher/v2.x/en/upgrades/upgrades/ha-server-upgrade-helm/_index.md index bd1938b145e..e5abb94f33d 100644 --- a/content/rancher/v2.x/en/upgrades/upgrades/ha-server-upgrade-helm/_index.md +++ b/content/rancher/v2.x/en/upgrades/upgrades/ha-server-upgrade-helm/_index.md @@ -13,7 +13,7 @@ The following instructions will guide you through upgrading a high-availability --- ->**Note:** [Let's Encrypt will be blocking cert-manager instances older than 0.8.0 starting November 1st 2019.](https://community.letsencrypt.org/t/blocking-old-cert-manager-versions/98753) Upgrade cert-manager to the latest version by following [these instructions.]({{< baseurl >}}/rancher/v2.x/en/cluster-admin/upgrade-cert-manager) +>**Note:** [Let's Encrypt will be blocking cert-manager instances older than 0.8.0 starting November 1st 2019.](https://community.letsencrypt.org/t/blocking-old-cert-manager-versions/98753) Upgrade cert-manager to the latest version by following [these instructions.]({{}}/rancher/v2.x/en/installation/options/upgrading-cert-manager) > **Note:** If you are upgrading from from Rancher v2.0.13 or earlier, or v2.1.8 or earlier, and your cluster's certificates have expired, you will need to perform [additional steps]({{}}/rancher/v2.x/en/cluster-admin/certificate-rotation/#rotating-expired-certificates-after-upgrading-older-rancher-versions) to rotate the certificates. From 7b9d8442a22e5148517f511e238ef0e113d60514 Mon Sep 17 00:00:00 2001 From: Andrew Greenwood Date: Tue, 10 Sep 2019 19:02:03 -0600 Subject: [PATCH 05/32] Command should use placeholder vs rancher-data I think? --- .../v2.x/en/upgrades/upgrades/single-node-upgrade/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/rancher/v2.x/en/upgrades/upgrades/single-node-upgrade/_index.md b/content/rancher/v2.x/en/upgrades/upgrades/single-node-upgrade/_index.md index 3bba237ec1a..16e306f82da 100644 --- a/content/rancher/v2.x/en/upgrades/upgrades/single-node-upgrade/_index.md +++ b/content/rancher/v2.x/en/upgrades/upgrades/single-node-upgrade/_index.md @@ -14,7 +14,7 @@ During upgrade, you'll enter a series of commands, filling placeholders with dat ``` -docker run --volumes-from rancher-data -v $PWD:/backup busybox tar zcvf /backup/rancher-data-backup--.tar.gz /var/lib/rancher +docker run --volumes-from -v $PWD:/backup busybox tar zcvf /backup/rancher-data-backup--.tar.gz /var/lib/rancher ``` In this command, `-` is the version number and date of creation for a backup of Rancher. From 4655f0a8699b44fc0fe272faec598982f42576b4 Mon Sep 17 00:00:00 2001 From: Andrew Greenwood Date: Tue, 10 Sep 2019 19:09:49 -0600 Subject: [PATCH 06/32] Simplify the example I was confused with the initial example.. suggest simplifying it so the placeholder doesn't require scrolling to the left to find. --- .../v2.x/en/upgrades/upgrades/single-node-upgrade/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/rancher/v2.x/en/upgrades/upgrades/single-node-upgrade/_index.md b/content/rancher/v2.x/en/upgrades/upgrades/single-node-upgrade/_index.md index 16e306f82da..feefc68367d 100644 --- a/content/rancher/v2.x/en/upgrades/upgrades/single-node-upgrade/_index.md +++ b/content/rancher/v2.x/en/upgrades/upgrades/single-node-upgrade/_index.md @@ -14,7 +14,7 @@ During upgrade, you'll enter a series of commands, filling placeholders with dat ``` -docker run --volumes-from -v $PWD:/backup busybox tar zcvf /backup/rancher-data-backup--.tar.gz /var/lib/rancher +docker stop ``` In this command, `-` is the version number and date of creation for a backup of Rancher. From 18a42a01352b5bb96b966e102667d37475a7eb45 Mon Sep 17 00:00:00 2001 From: Andrew Greenwood Date: Tue, 10 Sep 2019 19:12:28 -0600 Subject: [PATCH 07/32] Emphasis on example --- .../v2.x/en/upgrades/upgrades/single-node-upgrade/_index.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/content/rancher/v2.x/en/upgrades/upgrades/single-node-upgrade/_index.md b/content/rancher/v2.x/en/upgrades/upgrades/single-node-upgrade/_index.md index feefc68367d..21850d55a70 100644 --- a/content/rancher/v2.x/en/upgrades/upgrades/single-node-upgrade/_index.md +++ b/content/rancher/v2.x/en/upgrades/upgrades/single-node-upgrade/_index.md @@ -10,8 +10,9 @@ To upgrade Rancher Server 2.x when a new version is released, create a data cont ## Before You Start -During upgrade, you'll enter a series of commands, filling placeholders with data from your environment. These placeholders are denoted with angled brackets and all capital letters (``). Here's an example of a command with a placeholder: +During upgrade, you'll enter a series of commands, filling placeholders with data from your environment. These placeholders are denoted with angled brackets and all capital letters (``). +Here's an **example** of a command with a placeholder: ``` docker stop From 0de16c334c82c44e37be4addd5c4bcd7b4ae535c Mon Sep 17 00:00:00 2001 From: Dan Ramich Date: Wed, 11 Sep 2019 10:21:21 -0700 Subject: [PATCH 08/32] Update airgap upgrade docs to not use helm --- .../en/installation/options/upgrading-cert-manager/_index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/rancher/v2.x/en/installation/options/upgrading-cert-manager/_index.md b/content/rancher/v2.x/en/installation/options/upgrading-cert-manager/_index.md index 9458da3fd59..315b09b6cca 100644 --- a/content/rancher/v2.x/en/installation/options/upgrading-cert-manager/_index.md +++ b/content/rancher/v2.x/en/installation/options/upgrading-cert-manager/_index.md @@ -98,10 +98,10 @@ Before you can perform the upgrade, you must prepare your air gapped environment kubectl get -o yaml --all-namespaces issuer,clusterissuer,certificates > cert-manager-backup.yaml ``` -1. Delete the existing deployment +1. Delete the existing cert-manager installation ```plain - helm delete --purge cert-manager + kubectl -n kube-system delete deployment,sa,clusterrole,clusterrolebinding -l 'app=cert-manager' -l 'chart=cert-manager-v0.5.2' ``` 1. Install the CustomResourceDefinition resources separately From a3076ff4a8ed3a94d17d20a27872bcf829a27d9c Mon Sep 17 00:00:00 2001 From: Andrew Greenwood Date: Tue, 10 Sep 2019 19:36:54 -0600 Subject: [PATCH 09/32] Highlight no mention of Auth provider ports --- content/rancher/v2.x/en/installation/references/_index.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/content/rancher/v2.x/en/installation/references/_index.md b/content/rancher/v2.x/en/installation/references/_index.md index 7ff712a8132..7e100be0eac 100644 --- a/content/rancher/v2.x/en/installation/references/_index.md +++ b/content/rancher/v2.x/en/installation/references/_index.md @@ -13,6 +13,8 @@ The following table lists the ports that need to be open to and from nodes that {{< ports-rancher-nodes >}} +**Note** Rancher nodes may also require additional outbound access for any external [authentication provider]({{< baseurl >}}rancher/v2.x/en/admin-settings/authentication/) which is configured (LDAP for example). + ## Kubernetes Cluster Nodes The ports required to be open for cluster nodes changes depending on how the cluster was launched. Each of the tabs below list the ports that need to be opened for different [cluster creation options]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/#cluster-creation-options). From 51cc996c46216f1d5e2b179874d2ee32f4079c29 Mon Sep 17 00:00:00 2001 From: Robert Parker Date: Thu, 12 Sep 2019 02:10:05 -0700 Subject: [PATCH 10/32] http to https --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5756258b737..8b877993dbd 100644 --- a/README.md +++ b/README.md @@ -29,7 +29,7 @@ Windows License ======= -Copyright (c) 2014-2019 [Rancher Labs, Inc.](http://rancher.com) +Copyright (c) 2014-2019 [Rancher Labs, Inc.](https://rancher.com) Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. From 7fc7172cac9c16b6783d6bd9e48a0e2a8c877491 Mon Sep 17 00:00:00 2001 From: Dave Cadwallader Date: Thu, 12 Sep 2019 09:56:13 -0600 Subject: [PATCH 11/32] clarify udp port rule --- content/k3s/latest/en/configuration/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/k3s/latest/en/configuration/_index.md b/content/k3s/latest/en/configuration/_index.md index ad1a462c1c8..bc3d785cf0b 100644 --- a/content/k3s/latest/en/configuration/_index.md +++ b/content/k3s/latest/en/configuration/_index.md @@ -65,7 +65,7 @@ Open Ports / Network Security --------------------------- The server needs port 6443 to be accessible by the nodes. The nodes need to be able to reach -other nodes over UDP port 8472. This is used for flannel VXLAN. If you don't use flannel +other nodes over UDP port 8472. The nodes also need to be able to reach the server on UDP port 8472. This is used for flannel VXLAN. If you don't use flannel and provide your own custom CNI, then 8472 is not needed by k3s. The node should not listen on any other port. k3s uses reverse tunneling such that the nodes make outbound connections to the server and all kubelet traffic runs through that tunnel. From c6e62f0c00175f857f64832aa0b6df2ac765f8a4 Mon Sep 17 00:00:00 2001 From: Andrew Greenwood Date: Thu, 12 Sep 2019 20:41:07 -0600 Subject: [PATCH 12/32] Update explanation --- .../v2.x/en/upgrades/upgrades/single-node-upgrade/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/rancher/v2.x/en/upgrades/upgrades/single-node-upgrade/_index.md b/content/rancher/v2.x/en/upgrades/upgrades/single-node-upgrade/_index.md index 21850d55a70..52882472573 100644 --- a/content/rancher/v2.x/en/upgrades/upgrades/single-node-upgrade/_index.md +++ b/content/rancher/v2.x/en/upgrades/upgrades/single-node-upgrade/_index.md @@ -18,7 +18,7 @@ Here's an **example** of a command with a placeholder: docker stop ``` -In this command, `-` is the version number and date of creation for a backup of Rancher. +In this command, `` is the name of your Rancher container. Cross reference the image and reference table below to learn how to obtain this placeholder data. Write down or copy this information before starting the [procedure below](#completing-the-upgrade). From ac57b2e2d449469ab902a61ab9b62cf4337e6ce0 Mon Sep 17 00:00:00 2001 From: Catherine Luse Date: Fri, 13 Sep 2019 14:25:33 -0700 Subject: [PATCH 13/32] Replace outdated link in RKE docs (#1739) * Replace outdated link in RKE docs * Fix broken link and surrounding copy in RKE docs * Remove mention of Rancher from RKE docs * Edit RKE docs on default K8s versions * Minor edits to RKE docs * Update _index.md * Update _index.md --- .../en/config-options/system-images/_index.md | 8 +- content/rke/latest/en/example-yamls/_index.md | 73 +++++++++++++------ 2 files changed, 56 insertions(+), 25 deletions(-) diff --git a/content/rke/latest/en/config-options/system-images/_index.md b/content/rke/latest/en/config-options/system-images/_index.md index 3fbcaff40e0..287551e7c26 100644 --- a/content/rke/latest/en/config-options/system-images/_index.md +++ b/content/rke/latest/en/config-options/system-images/_index.md @@ -6,9 +6,13 @@ When RKE is deploying Kubernetes, there are several images that are pulled. Thes As of `v0.1.6`, the functionality of a couple of the system images were consolidated into a single `rancher/rke-tools` image to simplify and speed the deployment process. -You can configure the [network plug-ins]({{< baseurl >}}/rke/latest/en/config-options/add-ons/network-plugins/), [ingress controller]({{< baseurl >}}/rke/latest/en/config-options/add-ons/ingress-controllers/) and [dns provider]({{< baseurl >}}/rke/latest/en/config-options/add-ons/dns/) as well as the options for these add-ons separately. +You can configure the [network plug-ins]({{}}/rke/latest/en/config-options/add-ons/network-plugins/), [ingress controller]({{}}/rke/latest/en/config-options/add-ons/ingress-controllers/) and [dns provider]({{}}/rke/latest/en/config-options/add-ons/dns/) as well as the options for these add-ons separately. -This is the example of the full list of system images used to deploy Kubernetes through RKE. The image tags are dependent on the [Kubernetes image/version used](https://github.com/rancher/types/blob/master/apis/management.cattle.io/v3/k8s_defaults.go). +Below is an example of the list of system images used to deploy Kubernetes through RKE. The default versions of Kubernetes are tied to specific versions of system images. + +- For RKE v0.2.x and below, the map of versions and the system image versions is located here: https://github.com/rancher/types/blob/release/v2.2/apis/management.cattle.io/v3/k8s_defaults.go + +- For RKE v0.3.0 and above, the map of versions and the system image versions is located here: https://github.com/rancher/kontainer-driver-metadata/blob/master/rke/k8s_rke_system_images.go > **Note:** As versions of RKE are released, the tags on these images will no longer be up to date. This list is specific for `v1.10.3-rancher2`. diff --git a/content/rke/latest/en/example-yamls/_index.md b/content/rke/latest/en/example-yamls/_index.md index c2c06fa3742..54113ec8b6d 100644 --- a/content/rke/latest/en/example-yamls/_index.md +++ b/content/rke/latest/en/example-yamls/_index.md @@ -49,7 +49,8 @@ nodes: labels: app: ingress -# If set to true, RKE will not fail when unsupported Docker version are found +# If set to true, RKE will not fail when unsupported Docker version +# are found ignore_docker_version: false # Cluster level SSH private key @@ -57,11 +58,13 @@ ignore_docker_version: false ssh_key_path: ~/.ssh/test # Enable use of SSH agent to use SSH private keys with passphrase -# This requires the environment `SSH_AUTH_SOCK` configured pointing to your SSH agent which has the private key added +# This requires the environment `SSH_AUTH_SOCK` configured pointing +#to your SSH agent which has the private key added ssh_agent_auth: true # List of registry credentials -# If you are using a Docker Hub registry, you can omit the `url` or set it to `docker.io` +# If you are using a Docker Hub registry, you can omit the `url` +# or set it to `docker.io` private_registries: - url: registry.com user: Username @@ -83,12 +86,34 @@ bastion_host: cluster_name: mycluster -# The kubernetes version used. For now, this should match the version defined in rancher/types defaults map: https://github.com/rancher/types/blob/master/apis/management.cattle.io/v3/k8s_defaults.go#L14 -# In case the kubernetes_version and kubernetes image in system_images are defined, the system_images configuration will take precedence over kubernetes_version. +# The Kubernetes version used. The default versions of Kubernetes +# are tied to specific versions of the system images. +# +# For RKE v0.2.x and below, the map of Kubernetes versions and their system images is +# located here: +# https://github.com/rancher/types/blob/release/v2.2/apis/management.cattle.io/v3/k8s_defaults.go +# +# For RKE v0.3.0 and above, the map of Kubernetes versions and their system images is +# located here: +# https://github.com/rancher/kontainer-driver-metadata/blob/master/rke/k8s_rke_system_images.go +# +# In case the kubernetes_version and kubernetes image in +# system_images are defined, the system_images configuration +# will take precedence over kubernetes_version. kubernetes_version: v1.10.3-rancher2 -# System Image Tags are defaulted to a tag tied with specific kubernetes Versions -# Default Tags: https://github.com/rancher/types/blob/master/apis/management.cattle.io/v3/k8s_defaults.go) +# System Images are defaulted to a tag that is mapped to a specific +# Kubernetes Version and not required in a cluster.yml. +# Each individual system image can be specified if you want to use a different tag. +# +# For RKE v0.2.x and below, the map of Kubernetes versions and their system images is +# located here: +# https://github.com/rancher/types/blob/release/v2.2/apis/management.cattle.io/v3/k8s_defaults.go +# +# For RKE v0.3.0 and above, the map of Kubernetes versions and their system images is +# located here: +# https://github.com/rancher/kontainer-driver-metadata/blob/master/rke/k8s_rke_system_images.go +# system_images: kubernetes: rancher/hyperkube:v1.10.3-rancher2 etcd: rancher/coreos-etcd:v3.1.12 @@ -120,7 +145,10 @@ services: # -----BEGIN PRIVATE KEY----- # xxxxxxxxxx # -----END PRIVATE KEY----- - # Note for Rancher 2 users: If you are configuring Cluster Options using a Config File when creating Rancher Launched Kubernetes, the names of services should contain underscores only: `kube_api`. This only applies to Rancher v2.0.5 and v2.0.6. + # Note for Rancher v2.0.5 and v2.0.6 users: If you are configuring + # Cluster Options using a Config File when creating Rancher Launched + # Kubernetes, the names of services should contain underscores + # only: `kube_api`. kube-api: # IP range for any services created on Kubernetes # This must match the service_cluster_ip_range in kube-controller @@ -137,7 +165,10 @@ services: delete-collection-workers: 3 # Set the level of log output to debug-level v: 4 - # Note for Rancher 2 users: If you are configuring Cluster Options using a Config File when creating Rancher Launched Kubernetes, the names of services should contain underscores only: `kube_controller`. This only applies to Rancher v2.0.5 and v2.0.6. + # Note for Rancher 2 users: If you are configuring Cluster Options + # using a Config File when creating Rancher Launched Kubernetes, + # the names of services should contain underscores only: + # `kube_controller`. This only applies to Rancher v2.0.5 and v2.0.6. kube-controller: # CIDR pool used to assign IP addresses to pods in the cluster cluster_cidr: 10.42.0.0/16 @@ -157,19 +188,12 @@ services: # Optionally define additional volume binds to a service extra_binds: - "/usr/libexec/kubernetes/kubelet-plugins:/usr/libexec/kubernetes/kubelet-plugins" - scheduler: - extra_args: - # Set the level of log output to debug-level - v: 4 - kubeproxy: - extra_args: - # Set the level of log output to debug-level - v: 4 # Currently, only authentication strategy supported is x509. -# You can optionally create additional SANs (hostnames or IPs) to add to -# the API server PKI certificate. -# This is useful if you want to use a load balancer for the control plane servers. +# You can optionally create additional SANs (hostnames or IPs) to +# add to the API server PKI certificate. +# This is useful if you want to use a load balancer for the +# control plane servers. authentication: strategy: x509 sans: @@ -182,14 +206,17 @@ authentication: authorization: mode: rbac -# If you want to set a Kubernetes cloud provider, you specify the name and configuration +# If you want to set a Kubernetes cloud provider, you specify +# the name and configuration cloud_provider: name: aws -# Add-ons are deployed using kubernetes jobs. RKE will give up on trying to get the job status after this timeout in seconds.. +# Add-ons are deployed using kubernetes jobs. RKE will give +# up on trying to get the job status after this timeout in seconds.. addon_job_timeout: 30 -# There are several network plug-ins that work, but we default to canal +# There are several network plug-ins that work, but we default +# to canal network: plugin: canal From bf48a254ea410fa8f93c6bf3323abf6196d75e7c Mon Sep 17 00:00:00 2001 From: claycooper Date: Mon, 16 Sep 2019 11:20:46 -0400 Subject: [PATCH 14/32] Fix misspelling --- .../installation/running-rancheros/cloud/vmware-esxi/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/os/v1.x/en/installation/running-rancheros/cloud/vmware-esxi/_index.md b/content/os/v1.x/en/installation/running-rancheros/cloud/vmware-esxi/_index.md index 78bb92c18a2..b4ccdb6fa25 100644 --- a/content/os/v1.x/en/installation/running-rancheros/cloud/vmware-esxi/_index.md +++ b/content/os/v1.x/en/installation/running-rancheros/cloud/vmware-esxi/_index.md @@ -7,7 +7,7 @@ As of v1.1.0, RancherOS automatically detects that it is running on VMware ESXi, As of v1.5.0, RancherOS releases anything required for VMware, which includes initrd, a standard ISO for VMware, a `vmdk` image, and a specific ISO to be used with Docker Machine. The open-vm-tools is built in to RancherOS, there is no need to download it. -| Description | Downlaod URL | +| Description | Download URL | |---|---| | Booting from ISO | https://releases.rancher.com/os/latest/vmware/rancheros.iso | | For docker-machine | https://releases.rancher.com/os/latest/vmware/rancheros-autoformat.iso | From bab00c8cd7aed6598e88df20185dd9d3098e9137 Mon Sep 17 00:00:00 2001 From: rajashree Date: Tue, 17 Sep 2019 10:28:07 -0700 Subject: [PATCH 15/32] Small typo fixes in keycloak docs --- .../en/admin-settings/authentication/keycloak/_index.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/content/rancher/v2.x/en/admin-settings/authentication/keycloak/_index.md b/content/rancher/v2.x/en/admin-settings/authentication/keycloak/_index.md index e54a31355dd..66480438093 100644 --- a/content/rancher/v2.x/en/admin-settings/authentication/keycloak/_index.md +++ b/content/rancher/v2.x/en/admin-settings/authentication/keycloak/_index.md @@ -91,13 +91,14 @@ You are correctly redirected to your IdP login page and you are able to enter yo ### Keycloak 6.0.0+: IDPSSODescriptor missing from options -SAML Metadata IDPSSODescriptor is no longer available on Keycloak 6.0.0+. You can still get the XML from the following url: +Keycloak versions 6.0.0 and up no longer provide the IDP metadata under the `Installation` tab. +You can still get the XML from the following url: `https://{KEYCLOAK-URL}/auth/realms/{REALM-NAME}/protocol/saml/descriptor` -At the moment of writing rancher (rancher 2.2.7) wants the root element to be `EntityDescriptor` rather than `EntitiesDescriptor` follow the the steps to adjust the xml: +The XML obtained from this URL contains `EntitiesDescriptor` as the root element. Rancher expects the root element to be `EntityDescriptor` rather than `EntitiesDescriptor`. So before passing this XML to Rancher, follow these steps to adjust it: - * Copying the tags from `EntitiesDescriptor` to the `EntityDescriptor`. + * Copy all the tags from `EntitiesDescriptor` to the `EntityDescriptor`. * Remove the `` tag from the beginning. * Remove the `` from the end of the xml. From ccb7f44d17b391984edff37aa7f9578a6e190d3b Mon Sep 17 00:00:00 2001 From: Adrian Goins Date: Wed, 18 Sep 2019 16:05:05 -0300 Subject: [PATCH 16/32] fix typo not sure if it should be "graphic metrics," which doesn't make sense, or "traffic metrics," but the reuse of "traffic" twice more on the same line leads me to think that it should just be removed. maybe "graphs of metrics?" i think it's sufficient to just see "metrics." --- content/rancher/v2.x/en/cluster-admin/tools/istio/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/rancher/v2.x/en/cluster-admin/tools/istio/_index.md b/content/rancher/v2.x/en/cluster-admin/tools/istio/_index.md index ccd346bdccb..2b58ad91bff 100644 --- a/content/rancher/v2.x/en/cluster-admin/tools/istio/_index.md +++ b/content/rancher/v2.x/en/cluster-admin/tools/istio/_index.md @@ -60,7 +60,7 @@ With Istio enabled, you can: ## Leveraging Istio in Projects -After you enable Istio, you can see traphic metrics and a traffic graph on the project level. You can see a traffic graph for all namespaces that have Istio sidecar injection enabled. For more information, refer to [How to Use Istio in Your Project]({{< baseurl >}}/rancher/v2.x/en/project-admin/istio/). +After you enable Istio, you can see metrics and a traffic graph on the project level. You can see a traffic graph for all namespaces that have Istio sidecar injection enabled. For more information, refer to [How to Use Istio in Your Project]({{< baseurl >}}/rancher/v2.x/en/project-admin/istio/). ## Disabling Istio From 3c1792eb768ce8a6ed645a54d26d7a2e079e1a2f Mon Sep 17 00:00:00 2001 From: Adrian Goins Date: Wed, 18 Sep 2019 16:49:38 -0300 Subject: [PATCH 17/32] add a word back in Kiali refers to them as "traffic metrics" and "traffic graphs," so I put "traffic" back in. --- content/rancher/v2.x/en/cluster-admin/tools/istio/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/rancher/v2.x/en/cluster-admin/tools/istio/_index.md b/content/rancher/v2.x/en/cluster-admin/tools/istio/_index.md index 2b58ad91bff..89bb94848a9 100644 --- a/content/rancher/v2.x/en/cluster-admin/tools/istio/_index.md +++ b/content/rancher/v2.x/en/cluster-admin/tools/istio/_index.md @@ -60,7 +60,7 @@ With Istio enabled, you can: ## Leveraging Istio in Projects -After you enable Istio, you can see metrics and a traffic graph on the project level. You can see a traffic graph for all namespaces that have Istio sidecar injection enabled. For more information, refer to [How to Use Istio in Your Project]({{< baseurl >}}/rancher/v2.x/en/project-admin/istio/). +After you enable Istio, you can see traffic metrics and a traffic graph on the project level. You can see a traffic graph for all namespaces that have Istio sidecar injection enabled. For more information, refer to [How to Use Istio in Your Project]({{< baseurl >}}/rancher/v2.x/en/project-admin/istio/). ## Disabling Istio From a89281ae9bfa42c00c669090f3a2e7d243300624 Mon Sep 17 00:00:00 2001 From: dnoland1 Date: Sat, 21 Sep 2019 18:13:35 -0700 Subject: [PATCH 18/32] RKE S3 snapshot custom CA field. --- .../rke/latest/en/etcd-snapshots/recurring-snapshots/_index.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/content/rke/latest/en/etcd-snapshots/recurring-snapshots/_index.md b/content/rke/latest/en/etcd-snapshots/recurring-snapshots/_index.md index a5b5258964c..0e71cbaedc3 100644 --- a/content/rke/latest/en/etcd-snapshots/recurring-snapshots/_index.md +++ b/content/rke/latest/en/etcd-snapshots/recurring-snapshots/_index.md @@ -37,6 +37,7 @@ time="2018-05-04T18:43:16Z" level=info msg="Created backup" name="2018-05-04T18: |**secret_key** |S3 secret key with permission to access the backup bucket.| * | |**region** |S3 region for the backup bucket. This is optional.| * | |**endpoint** |S3 regions endpoint for the backup bucket.| * | +|**custom_ca** |Custom certificate authority to use when connecting to the endpoint. Only required for private S3 compatible storage solutions. Available for RKE v0.2.5+.| * | The `--access-key` and `--secret-key` options are not required if the `etcd` nodes are AWS EC2 instances that have been configured with a suitable IAM instance profile. @@ -124,4 +125,4 @@ services: ``` {{% /tab %}} -{{% /tabs %}} \ No newline at end of file +{{% /tabs %}} From 3436296f68449399be8ae350c986e578b88b74a8 Mon Sep 17 00:00:00 2001 From: jrcreative Date: Mon, 23 Sep 2019 08:27:06 -0700 Subject: [PATCH 19/32] fix small spacing issue in docs --- assets/sass/app.scss | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/assets/sass/app.scss b/assets/sass/app.scss index 127d70636ff..679a9be83c8 100644 --- a/assets/sass/app.scss +++ b/assets/sass/app.scss @@ -13,3 +13,7 @@ display: none; visibility: hidden; } + +pre > code { + padding: 0; +} \ No newline at end of file From 84b206de5f09687f3650abc3e000b08c8dfd67df Mon Sep 17 00:00:00 2001 From: Carsten Dreesbach Date: Tue, 24 Sep 2019 00:05:52 -0400 Subject: [PATCH 20/32] Fixed numbered list --- .../system-services/custom-system-services/_index.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/content/os/v1.x/en/installation/system-services/custom-system-services/_index.md b/content/os/v1.x/en/installation/system-services/custom-system-services/_index.md index da9145dae25..ba63929e047 100644 --- a/content/os/v1.x/en/installation/system-services/custom-system-services/_index.md +++ b/content/os/v1.x/en/installation/system-services/custom-system-services/_index.md @@ -165,12 +165,12 @@ Once you have your own Services repository, you can add a new service to its ind To create your own console images, you need to: -1 install some basic tools, including an ssh daemon, sudo, and kernel module tools -2 create `rancher` and `docker` users and groups with UID and GID's of `1100` and `1101` respectively -3 add both users to the `docker` and `sudo` groups -4 add both groups into the `/etc/sudoers` file to allow password-less sudo -5 configure sshd to accept logins from users in the `docker` group, and deny `root`. -6 set `ENTRYPOINT ["/usr/bin/ros", "entrypoint"]` +1. install some basic tools, including an ssh daemon, sudo, and kernel module tools +2. create `rancher` and `docker` users and groups with UID and GID's of `1100` and `1101` respectively +3. add both users to the `docker` and `sudo` groups +4. add both groups into the `/etc/sudoers` file to allow password-less sudo +5. configure sshd to accept logins from users in the `docker` group, and deny `root`. +6. set `ENTRYPOINT ["/usr/bin/ros", "entrypoint"]` the `ros` binary, and other host specific configuration files will be bind mounted into the running console container when its launched. From cacca10164570e96d7e2151624d12885927c6579 Mon Sep 17 00:00:00 2001 From: Taylor Price Date: Tue, 24 Sep 2019 10:37:28 -0700 Subject: [PATCH 21/32] document `folder` option for etcd backups --- .../rke/latest/en/etcd-snapshots/recurring-snapshots/_index.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/content/rke/latest/en/etcd-snapshots/recurring-snapshots/_index.md b/content/rke/latest/en/etcd-snapshots/recurring-snapshots/_index.md index 0e71cbaedc3..fa9d2ade4c7 100644 --- a/content/rke/latest/en/etcd-snapshots/recurring-snapshots/_index.md +++ b/content/rke/latest/en/etcd-snapshots/recurring-snapshots/_index.md @@ -33,6 +33,7 @@ time="2018-05-04T18:43:16Z" level=info msg="Created backup" name="2018-05-04T18: |**interval_hours**| The duration in hours between recurring backups. This supercedes the `creation` option (which was used in RKE prior to v0.2.0) and will override it if both are specified.| | |**retention**| The number of snapshots to retain before rotation. This supercedes the `retention` option and will override it if both are specified.| | |**bucket_name**| S3 bucket name where backups will be stored| * | +|**folder**| Folder inside S3 bucket where backups will be stored. This is optional.| * | |**access_key**| S3 access key with permission to access the backup bucket.| * | |**secret_key** |S3 secret key with permission to access the backup bucket.| * | |**region** |S3 region for the backup bucket. This is optional.| * | @@ -82,6 +83,7 @@ services: secret_key: S3_SECRET_KEY bucket_name: s3-bucket-name region: "" + folder: "" endpoint: s3.amazonaws.com ``` From ebe49130ce169661fd12c9fa734d33aa74eb2cf2 Mon Sep 17 00:00:00 2001 From: Andrew Greenwood Date: Fri, 27 Sep 2019 14:41:00 -0600 Subject: [PATCH 22/32] Missing a L3 Header for General Linux The current TOC structure is missing a General category which makes it read like CentOS/RHEL is the recommended distro.. Adding a General Linux Recommendations better highlights that the RHEL stuff is additional information for those distros. --- content/rke/latest/en/os/_index.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/content/rke/latest/en/os/_index.md b/content/rke/latest/en/os/_index.md index fc2bea89aa9..65d06c72aad 100644 --- a/content/rke/latest/en/os/_index.md +++ b/content/rke/latest/en/os/_index.md @@ -9,7 +9,7 @@ aliases: - [Operating System](#operating-system) - + - [General Linux Requirements](#general-linux-requirements) - [Red Hat Enterprise Linux (RHEL) / Oracle Enterprise Linux (OEL) / CentOS](#red-hat-enterprise-linux-rhel-oracle-enterprise-linux-oel-centos) - [Using upstream Docker](#using-upstream-docker) @@ -29,6 +29,8 @@ aliases: ## Operating System +### General Linux Requirements + RKE runs on almost any Linux OS with Docker installed. Most of the development and testing of RKE occurred on Ubuntu 16.04. However, some OS's have restrictions and specific requirements. - [SSH user]({{< baseurl >}}/rke/latest/en/config-options/nodes/#ssh-user) - The SSH user used for node access must be a member of the `docker` group on the node: From 310a6af1a1c9a2f5b24c8e78c6f15d006fec831a Mon Sep 17 00:00:00 2001 From: Alex Seymour <9771530+axeal@users.noreply.github.com> Date: Thu, 26 Sep 2019 11:22:54 +0200 Subject: [PATCH 23/32] Update example CIDRs for bip ranges --- .../os/v1.x/en/installation/configuration/docker/_index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/os/v1.x/en/installation/configuration/docker/_index.md b/content/os/v1.x/en/installation/configuration/docker/_index.md index 0383552f91a..a7d3843fbad 100644 --- a/content/os/v1.x/en/installation/configuration/docker/_index.md +++ b/content/os/v1.x/en/installation/configuration/docker/_index.md @@ -86,7 +86,7 @@ _Available as of v1.4.x_ The docker0 bridge can be configured with docker args, it will take effect after reboot. ``` -$ ros config set rancher.docker.bip 192.168.100.1/16 +$ ros config set rancher.docker.bip 192.168.0.0/16 ``` ### Configuring System Docker @@ -114,7 +114,7 @@ _Available as of v1.4.x_ The docker-sys bridge can be configured with system-docker args, it will take effect after reboot. ``` -$ ros config set rancher.system_docker.bip 172.18.43.1/16 +$ ros config set rancher.system_docker.bip 172.19.0.0/16 ``` _Available as of v1.4.x_ From 152de5df6e5a05cb46b0857662255f20e9df6c01 Mon Sep 17 00:00:00 2001 From: Nelson Roberts Date: Wed, 2 Oct 2019 15:55:10 -0700 Subject: [PATCH 24/32] EIO-194: documentation updates for CIS benchmark 1.4.1 --- content/rancher/v2.x/en/security/_index.md | 3 ++- content/rancher/v2.x/en/security/benchmark-2.2/_index.md | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/content/rancher/v2.x/en/security/_index.md b/content/rancher/v2.x/en/security/_index.md index 95c6727e47c..ff568b4fa14 100644 --- a/content/rancher/v2.x/en/security/_index.md +++ b/content/rancher/v2.x/en/security/_index.md @@ -34,7 +34,8 @@ The benchmark self-assessment is a companion to the Rancher security hardening g Because Rancher and RKE install Kubernetes services as Docker containers, many of the control verification checks in the CIS Kubernetes Benchmark don't apply. This guide will walk through the various controls and provide updated example commands to audit compliance in Rancher created clusters. The original benchmark documents can be downloaded from the [CIS website](https://www.cisecurity.org/benchmark/kubernetes/). * [CIS Kubernetes Benchmark 1.3.0 - Rancher 2.1.x with Kubernetes 1.11]({{< baseurl >}}/rancher/v2.x/en/security/benchmark-2.1/) -* [CIS Kubernetes Benchmark 1.4.0 - Rancher 2.2.x with Kubernetes 1.13]({{< baseurl >}}/rancher/v2.x/en/security/benchmark-2.2/) +* [CIS Kubernetes Benchmark 1.4.0 - Rancher 2.2.x with Kubernetes 1.13]({{< baseurl >}}/rancher/v2.x/en/security/benchmark-2.2/#cis-kubernetes-benchmark-1-4-0-rancher-2-2-x-with-kubernetes-1-13/) +* [CIS Kubernetes Benchmark 1.4.1 - Rancher 2.2.x with Kubernetes 1.13]({{< baseurl >}}/rancher/v2.x/en/security/benchmark-2.2/#cis-kubernetes-benchmark-1-4-1-rancher-2-2-x-with-kubernetes-1-13) ### Rancher CVEs and Resolutions diff --git a/content/rancher/v2.x/en/security/benchmark-2.2/_index.md b/content/rancher/v2.x/en/security/benchmark-2.2/_index.md index 2d0d2ffe928..d582b9cf5c0 100644 --- a/content/rancher/v2.x/en/security/benchmark-2.2/_index.md +++ b/content/rancher/v2.x/en/security/benchmark-2.2/_index.md @@ -4,12 +4,14 @@ weight: 103 --- ### CIS Kubernetes Benchmark 1.4.0 - Rancher 2.2.x with Kubernetes 1.13 +There is no material difference in control verification checks between CIS Kubernetes Benchmark 1.4.0 and [1.4.1](https://rancher.com/docs/rancher/v2.x/en/security/benchmark-2.2/#cis-kubernetes-benchmark-1-4-1-rancher-2-2-x-with-kubernetes-1-13) +### CIS Kubernetes Benchmark 1.4.1 - Rancher 2.2.x with Kubernetes 1.13 [Click here to download a PDF version of this document](https://releases.rancher.com/documents/security/2.2.x/Rancher_Benchmark_Assessment.pdf) #### Overview -The following document scores a Kubernetes 1.13.x RKE cluster provisioned according to the Rancher v2.2.x hardening guide against the CIS 1.4.0 Kubernetes benchmark. +The following document scores a Kubernetes 1.13.x RKE cluster provisioned according to the Rancher v2.2.x hardening guide against the CIS 1.4.1 Kubernetes benchmark. This document is a companion to the Rancher v2.2.x security hardening guide. The hardening guide provides prescriptive guidance for hardening a production installation of Rancher, and this benchmark guide is meant to help you evaluate the level of security of the hardened cluster against each control in the benchmark. From d7c9344e665f68fbab4883fbbf40bf051323368e Mon Sep 17 00:00:00 2001 From: Andrew Greenwood Date: Wed, 2 Oct 2019 17:20:39 -0600 Subject: [PATCH 25/32] Fix incorrect rendering of bash script The bash script doesn't display correctly and when copied as is doesn't work due to a leading 'bash' in the command. --- content/rke/latest/en/os/_index.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/content/rke/latest/en/os/_index.md b/content/rke/latest/en/os/_index.md index 65d06c72aad..f76b057e82e 100644 --- a/content/rke/latest/en/os/_index.md +++ b/content/rke/latest/en/os/_index.md @@ -47,15 +47,16 @@ RKE runs on almost any Linux OS with Docker installed. Most of the development a * `modprobe module_name` * `lsmod | grep module_name` * `grep module_name /lib/modules/$(uname -r)/modules.builtin`, if it's a built-in module - * bash script - ```bash + * The following bash script + +```bash for module in br_netfilter ip6_udp_tunnel ip_set ip_set_hash_ip ip_set_hash_net iptable_filter iptable_nat iptable_mangle iptable_raw nf_conntrack_netlink nf_conntrack nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat nf_nat_ipv4 nf_nat_masquerade_ipv4 nfnetlink udp_tunnel veth vxlan x_tables xt_addrtype xt_conntrack xt_comment xt_mark xt_multiport xt_nat xt_recent xt_set xt_statistic xt_tcpudp; do if ! lsmod | grep -q $module; then echo "module $module is not present"; fi; done - ``` +``` Module name | ------------| From 3bc8837f8d9ebe39e1a876998257804cec12892e Mon Sep 17 00:00:00 2001 From: Sebastiaan van Steenis Date: Thu, 3 Oct 2019 13:45:19 +0200 Subject: [PATCH 26/32] Add info on intermediates recognized CA cert --- content/rancher/v2.x/en/installation/single-node/_index.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/content/rancher/v2.x/en/installation/single-node/_index.md b/content/rancher/v2.x/en/installation/single-node/_index.md index 2b0a0f5e51a..47698fbfd5f 100644 --- a/content/rancher/v2.x/en/installation/single-node/_index.md +++ b/content/rancher/v2.x/en/installation/single-node/_index.md @@ -67,7 +67,10 @@ docker run -d --restart=unless-stopped \ In production environments where you're exposing an app publicly, use a certificate signed by a recognized CA so that your user base doesn't encounter security warnings. ->**Prerequisite:** The certificate files must be in [PEM format](#pem). +>**Prerequisites:** +> +>- The certificate files must be in [PEM format](#pem). +>- In your certificate file, include all intermediate certificates provided by the recognized CA. Order your certificates with your certificate first, followed by the intermediates. For an example, see [SSL FAQ / Troubleshooting](#cert-order). After obtaining your certificate, run the Docker command below. From 74030ec55c401fcbb9af16bde783759a234e0c76 Mon Sep 17 00:00:00 2001 From: Denise Schannon Date: Thu, 3 Oct 2019 14:16:38 -0700 Subject: [PATCH 27/32] Add taints to nodes --- content/rke/latest/en/config-options/nodes/_index.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/content/rke/latest/en/config-options/nodes/_index.md b/content/rke/latest/en/config-options/nodes/_index.md index 84208496786..79a8314ad87 100644 --- a/content/rke/latest/en/config-options/nodes/_index.md +++ b/content/rke/latest/en/config-options/nodes/_index.md @@ -36,6 +36,10 @@ nodes: ssh_key_path: /home/user/.ssh/id_rsa ssh_cert: |- ssh-rsa-cert-v01@openssh.com AAAAHHNza... + taints: # Available as of v0.3.0 + - key: test-key + value: test-value + effect: NoSchedule - address: example.com user: ubuntu role: @@ -123,3 +127,9 @@ If the Docker socket is different than the default, you can set the `docker_sock ### Labels You have the ability to add an arbitrary map of labels for each node. It can be used when using the [ingress controller's]({{< baseurl >}}/rke/latest/en/config-options/add-ons/ingress-controllers/) `node_selector` option. + +### Taints + +_Available as of v0.3.0_ + +You have the ability to add [taints](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/) for each node. From 1cb1125f5de0de395ff19f1b781d3c93a8a17927 Mon Sep 17 00:00:00 2001 From: Denise Schannon Date: Thu, 3 Oct 2019 18:28:55 -0700 Subject: [PATCH 28/32] Update RKE CLI docs with folder info --- .../latest/en/etcd-snapshots/one-time-snapshots/_index.md | 8 +++++--- .../en/etcd-snapshots/recurring-snapshots/_index.md | 4 ++-- .../en/etcd-snapshots/restoring-from-backup/_index.md | 4 +++- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/content/rke/latest/en/etcd-snapshots/one-time-snapshots/_index.md b/content/rke/latest/en/etcd-snapshots/one-time-snapshots/_index.md index 768f2c1a22a..6839e95c905 100644 --- a/content/rke/latest/en/etcd-snapshots/one-time-snapshots/_index.md +++ b/content/rke/latest/en/etcd-snapshots/one-time-snapshots/_index.md @@ -10,7 +10,7 @@ One-time snapshots are handled differently depending on your version of RKE. To save a snapshot of etcd from each etcd node in the cluster config file, run the `rke etcd snapshot-save` command. -The snapshot is saved in `/opt/rke/etcd-snapshots`. +The snapshot is saved in `/opt/rke/etcd-snapshots`. When running the command, an additional container is created to take the snapshot. When the snapshot is completed, the container is automatically removed. @@ -34,6 +34,7 @@ $ rke etcd snapshot-save \ --access-key S3_ACCESS_KEY \ --secret-key S3_SECRET_KEY \ --bucket-name s3-bucket-name \ +--folder s3-folder-name \ # Optional - Available as of v0.3.0 --s3-endpoint s3.amazonaws.com ``` @@ -50,6 +51,7 @@ $ rke etcd snapshot-save \ | `--access-key` value | Specify s3 accessKey | * | | `--secret-key` value | Specify s3 secretKey | * | | `--bucket-name` value | Specify s3 bucket name | * | +| `--folder` value | Specify folder inside bucket where backup will be stored. This is optional. _Available as of v0.3.0_ | * | | `--region` value | Specify the s3 bucket location (optional) | * | | `--ssh-agent-auth` | [Use SSH Agent Auth defined by SSH_AUTH_SOCK]({{< baseurl >}}/rke/latest/en/config-options/#ssh-agent) | | | `--ignore-docker-version` | [Disable Docker version check]({{< baseurl >}}/rke/latest/en/config-options/#supported-docker-versions) | @@ -105,10 +107,10 @@ $ rke etcd snapshot-save --config cluster.yml --name snapshot-name | Option | Description | | --- | --- | -| `--name` value | Specify snapshot name | +| `--name` value | Specify snapshot name | | `--config` value | Specify an alternate cluster YAML file (default: `cluster.yml`) [$RKE_CONFIG] | | `--ssh-agent-auth` | [Use SSH Agent Auth defined by SSH_AUTH_SOCK]({{< baseurl >}}/rke/latest/en/config-options/#ssh-agent) | | `--ignore-docker-version` | [Disable Docker version check]({{< baseurl >}}/rke/latest/en/config-options/#supported-docker-versions) | {{% /tab %}} -{{% /tabs %}} \ No newline at end of file +{{% /tabs %}} diff --git a/content/rke/latest/en/etcd-snapshots/recurring-snapshots/_index.md b/content/rke/latest/en/etcd-snapshots/recurring-snapshots/_index.md index fa9d2ade4c7..b45a5548b7f 100644 --- a/content/rke/latest/en/etcd-snapshots/recurring-snapshots/_index.md +++ b/content/rke/latest/en/etcd-snapshots/recurring-snapshots/_index.md @@ -33,7 +33,7 @@ time="2018-05-04T18:43:16Z" level=info msg="Created backup" name="2018-05-04T18: |**interval_hours**| The duration in hours between recurring backups. This supercedes the `creation` option (which was used in RKE prior to v0.2.0) and will override it if both are specified.| | |**retention**| The number of snapshots to retain before rotation. This supercedes the `retention` option and will override it if both are specified.| | |**bucket_name**| S3 bucket name where backups will be stored| * | -|**folder**| Folder inside S3 bucket where backups will be stored. This is optional.| * | +|**folder**| Folder inside S3 bucket where backups will be stored. This is optional. _Available as of v0.3.0_ | * | |**access_key**| S3 access key with permission to access the backup bucket.| * | |**secret_key** |S3 secret key with permission to access the backup bucket.| * | |**region** |S3 region for the backup bucket. This is optional.| * | @@ -83,7 +83,7 @@ services: secret_key: S3_SECRET_KEY bucket_name: s3-bucket-name region: "" - folder: "" + folder: "" # Optional - Available as of v0.3.0 endpoint: s3.amazonaws.com ``` diff --git a/content/rke/latest/en/etcd-snapshots/restoring-from-backup/_index.md b/content/rke/latest/en/etcd-snapshots/restoring-from-backup/_index.md index 57f6f2ef008..c6dae0f85fc 100644 --- a/content/rke/latest/en/etcd-snapshots/restoring-from-backup/_index.md +++ b/content/rke/latest/en/etcd-snapshots/restoring-from-backup/_index.md @@ -47,6 +47,7 @@ $ rke etcd snapshot-restore \ --access-key S3_ACCESS_KEY \ --secret-key S3_SECRET_KEY \ --bucket-name s3-bucket-name \ +--folder s3-folder-name \ # Optional - Available as of v0.3.0 --s3-endpoint s3.amazonaws.com ``` **Note:** if you were restoring a cluster that had Rancher installed, the Rancher UI should start up after a few minutes; you don't need to re-run Helm. @@ -62,6 +63,7 @@ $ rke etcd snapshot-restore \ | `--access-key` value | Specify s3 accessKey | *| | `--secret-key` value | Specify s3 secretKey | *| | `--bucket-name` value | Specify s3 bucket name | *| +| `--folder` value | Specify folder inside bucket where backup will be stored. This is optional. This is optional. _Available as of v0.3.0_ | *| | `--region` value | Specify the s3 bucket location (optional) | *| | `--ssh-agent-auth` | [Use SSH Agent Auth defined by SSH_AUTH_SOCK]({{< baseurl >}}/rke/latest/en/config-options/#ssh-agent) | | | `--ignore-docker-version` | [Disable Docker version check]({{< baseurl >}}/rke/latest/en/config-options/#supported-docker-versions) | @@ -109,4 +111,4 @@ The `pki.bundle.tar.gz` file is also expected to be in the same location. | `--ignore-docker-version` | [Disable Docker version check]({{< baseurl >}}/rke/latest/en/config-options/#supported-docker-versions) | {{% /tab %}} -{{% /tabs %}} \ No newline at end of file +{{% /tabs %}} From b758118c9473057fbd0bcd79f16687ff0071f684 Mon Sep 17 00:00:00 2001 From: Aitor Date: Sun, 6 Oct 2019 20:52:42 +0100 Subject: [PATCH 29/32] Fix typo in `RANCHER_OEM` --- content/os/v1.x/en/installation/configuration/docker/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/os/v1.x/en/installation/configuration/docker/_index.md b/content/os/v1.x/en/installation/configuration/docker/_index.md index a7d3843fbad..ef670d9ef93 100644 --- a/content/os/v1.x/en/installation/configuration/docker/_index.md +++ b/content/os/v1.x/en/installation/configuration/docker/_index.md @@ -120,7 +120,7 @@ $ ros config set rancher.system_docker.bip 172.19.0.0/16 _Available as of v1.4.x_ The default path of system-docker logs is `/var/log/system-docker.log`. If you want to write the system-docker logs to a separate partition, -e.g. [RANCHE_OEM partition]({{< baseurl >}}/os/v1.x/en/about/custom-partition-layout/#use-rancher-oem-partition), you can try `rancher.defaults.system_docker_logs`: +e.g. [RANCHER_OEM partition]({{< baseurl >}}/os/v1.x/en/about/custom-partition-layout/#use-rancher-oem-partition), you can try `rancher.defaults.system_docker_logs`: ``` #cloud-config From 8556884f16778bfbeea01c18ba0f920c3d2a7346 Mon Sep 17 00:00:00 2001 From: Andrew Greenwood Date: Tue, 1 Oct 2019 17:00:23 -0600 Subject: [PATCH 30/32] Add node_selector example to full cluster.yml Fairly common to want to reduce the ingress controller deployments to a subset of nodes. Helpful to find this in the 'full' example. --- content/rke/latest/en/example-yamls/_index.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/content/rke/latest/en/example-yamls/_index.md b/content/rke/latest/en/example-yamls/_index.md index 54113ec8b6d..9f4c60ac773 100644 --- a/content/rke/latest/en/example-yamls/_index.md +++ b/content/rke/latest/en/example-yamls/_index.md @@ -226,10 +226,12 @@ dns: # Currently only nginx ingress provider is supported. # To disable ingress controller, set `provider: none` - +# `node_selector` controls ingress placement and is optional ingress: provider: nginx - + node_selector: + app: ingress + # All add-on manifests MUST specify a namespace addons: |- --- From b0a52bb54492a557422d91c5b07b34f8ae5f83af Mon Sep 17 00:00:00 2001 From: Denise Date: Mon, 7 Oct 2019 22:53:18 -0700 Subject: [PATCH 31/32] v2.3 Docs (#1662) * Cluster Templates docs * Say to pass private registry as env variable in air gap install * Add chart compatibility info to Catalog docs * Edit node pool docs Add 'the' Move 'how it works' info to bottom of node pools doc Move 'how it works' info to bottom of node pools doc Add steps for disabling node auto-replace Hide 'How does node auto-replace work' in dropdown Add hyphen Only include Rancher UI steps for enable/disable node auto-replace Only include Rancher UI steps for enable/disable node auto-replace Change wording around node auto-replace * Add note about session length setting * Update _index.md * quiet option added so output doesn't contain non-image output from RKE in the rancher-images.txt file. * updating to list-version * Windows docs usability (#1712) * Update supported Windows server version * Edit docs on Windows clusters * Edit docs on Windows clusters * Edit Windows node docs * Minor edits to Windows docs * Edit node pool docs Add 'the' Move 'how it works' info to bottom of node pools doc Move 'how it works' info to bottom of node pools doc Add steps for disabling node auto-replace Hide 'How does node auto-replace work' in dropdown Add hyphen Only include Rancher UI steps for enable/disable node auto-replace Only include Rancher UI steps for enable/disable node auto-replace Change wording around node auto-replace * Update _index.md * Edit Windows cluster docs * Edit Windows cluster docs for usability * Update supported Windows server version * Edit docs on Windows clusters * Edit Windows node docs * Minor edits to Windows docs * Edit Windows cluster docs * Edit Windows cluster docs for usability * Minor edits to Windows docs * Clarify that custom clusters are provisioned with RKE (#1734) * Clarify that custom clusters are RKE provisioned * Clarify that custom clusters are RKE provisioned * Minor edits to Windows/custom cluster docs * Edit cluster template docs (#1660) * Cluster Templates docs * Mention template clusters in cluster provisioning section * Edit cluster template docs * Clarify Owner access type for cluster templates * Mention template clusters in cluster provisioning section * Edit cluster template docs * Clarify Owner access type for cluster templates * Revise cluster template docs * Revise cluster template docs * Mention template clusters in cluster provisioning section * Edit cluster template docs * Clarify Owner access type for cluster templates * Revise cluster template docs * Revise cluster template docs * Cluster Templates docs * Mention template clusters in cluster provisioning section * Mention template clusters in cluster provisioning section * Edit cluster template docs * Edit cluster template docs * Add note about session length setting * Revise cluster template docs * quiet option added so output doesn't contain non-image output from RKE in the rancher-images.txt file. * updating to list-version * Windows docs usability (#1712) * Update supported Windows server version * Edit docs on Windows clusters * Edit docs on Windows clusters * Edit Windows node docs * Minor edits to Windows docs * Edit node pool docs Add 'the' Move 'how it works' info to bottom of node pools doc Move 'how it works' info to bottom of node pools doc Add steps for disabling node auto-replace Hide 'How does node auto-replace work' in dropdown Add hyphen Only include Rancher UI steps for enable/disable node auto-replace Only include Rancher UI steps for enable/disable node auto-replace Change wording around node auto-replace * Update _index.md * Edit Windows cluster docs * Edit Windows cluster docs for usability * Update supported Windows server version * Edit docs on Windows clusters * Edit Windows node docs * Minor edits to Windows docs * Edit Windows cluster docs * Edit Windows cluster docs for usability * Minor edits to Windows docs * Update template docs per UI and permissions changes * Revise template docs * Address feedback on RKE template docs * Fix name of directive in RKE template YAML * Change env variable to match code from github issue resolution * Add information for cert-manager Problem: cert-manager is old and will be cut off soon Solution: Update docs to include current install instructions and instructions on how to upgrade cert-manager to the current version * Revamp cert-manager docs - Condense air gap and normal upgrade instructions for cert-manager down to a single page. This allowed us to consolidate some repetetive text. - Add a section explaining cert-manager's API change and the recommended data migration - Moved the upgrade instructions out of the cluster administration section and into the Advanced installation options (not perfect but our best fit) - On the pages where we instruct the user to install cert-manger, made a note and link to our upgrade documentation * Respond to feedback on RKE template docs (#1757) * Respond to feedback on RKE template docs * Respond to feedback on RKE template docs * Minor edits to RKE template docs * Change env variable to match code from github issue resolution * Add information for cert-manager Problem: cert-manager is old and will be cut off soon Solution: Update docs to include current install instructions and instructions on how to upgrade cert-manager to the current version * Add information for cert-manager Problem: cert-manager is old and will be cut off soon Solution: Update docs to include current install instructions and instructions on how to upgrade cert-manager to the current version * Revamp cert-manager docs - Condense air gap and normal upgrade instructions for cert-manager down to a single page. This allowed us to consolidate some repetetive text. - Add a section explaining cert-manager's API change and the recommended data migration - Moved the upgrade instructions out of the cluster administration section and into the Advanced installation options (not perfect but our best fit) - On the pages where we instruct the user to install cert-manger, made a note and link to our upgrade documentation * Revamp cert-manager docs - Condense air gap and normal upgrade instructions for cert-manager down to a single page. This allowed us to consolidate some repetetive text. - Add a section explaining cert-manager's API change and the recommended data migration - Moved the upgrade instructions out of the cluster administration section and into the Advanced installation options (not perfect but our best fit) - On the pages where we instruct the user to install cert-manger, made a note and link to our upgrade documentation * Windows docs usability (#1712) * Update supported Windows server version * Edit docs on Windows clusters * Edit docs on Windows clusters * Edit Windows node docs * Minor edits to Windows docs * Edit node pool docs Add 'the' Move 'how it works' info to bottom of node pools doc Move 'how it works' info to bottom of node pools doc Add steps for disabling node auto-replace Hide 'How does node auto-replace work' in dropdown Add hyphen Only include Rancher UI steps for enable/disable node auto-replace Only include Rancher UI steps for enable/disable node auto-replace Change wording around node auto-replace * Update _index.md * Edit Windows cluster docs * Edit Windows cluster docs for usability * Update supported Windows server version * Edit docs on Windows clusters * Edit Windows node docs * Minor edits to Windows docs * Edit Windows cluster docs * Edit Windows cluster docs for usability * Minor edits to Windows docs * Edit air gap docs (#1759) * Edit air gap docs * Edit air gap installation steps * add notes about taints on linux worker nodes * adding node taints docs * add s3 backup option for self signed certs * add advanced options systemDefaultRegistry and useBundledSystemChart in helm options * Add Kubernetes Metadata Feature * Add google oauth docs * Air gap install updates (#1791) * fix single node air gap command * New air gap layout - overview * New air gap layout - prepare nodes * New air gap layout - prepare private registry and add windows instructions * New air gap layout - install k8s * New air gap layout - install rancher * small edits * Small air gap edits * small revision to airgap docs * Edit RKE metadata doc (#1790) * Edit RKE metadata config docs * Minor edits to RKE metadata doc * Minor edits to RKE metadata doc * Minor edits to K8s metadata doc * Update note in K8s metadata doc * Addressing PR review comments * Google OAuth (#1797) * Copy edit Google Oauth docs * Copy edit Google Oauth docs * Minor edits to Google Oauth doc * Add info on add ons and agents * Fix up air gap upgrades based on air gap install edits * Update example CIDRs for bip ranges * Missing a L3 Header for General Linux The current TOC structure is missing a General category which makes it read like CentOS/RHEL is the recommended distro.. Adding a General Linux Recommendations better highlights that the RHEL stuff is additional information for those distros. * EIO-194: documentation updates for CIS benchmark 1.4.1 * Fix incorrect rendering of bash script The bash script doesn't display correctly and when copied as is doesn't work due to a leading 'bash' in the command. * Add info on intermediates recognized CA cert * Small air gap upgrade updates for consistency * Remove unnecessary step * Add taints to nodes * Update RKE CLI docs with folder info * Added folder option for s3 backups * Edit Istio cluster administration docs * Edit Istio docs * Edit Istio docs * Document safe timestamps * Edit Istio docs * Edit Istio docs * Update _index.md * Add feature flag doc * Edit feature flag doc * Change unsupported to experimental * Change wording * Edit Istio docs * Rancher min/max version * Edit Istio rbac info * Add c * Edit Istio rbac section --- .../rancher/v2.x/en/admin-settings/_index.md | 18 + .../admin-settings/authentication/_index.md | 35 +- .../authentication/google/_index.md | 103 ++++++ .../authentication/user-groups/_index.md | 13 + .../config-private-registry}/_index.md | 15 +- .../en/admin-settings/feature-flags/_index.md | 101 ++++++ .../_index.md | 37 ++ .../istio-virtual-service-ui/_index.md | 29 ++ .../en/admin-settings/k8s-metadata/_index.md | 71 ++++ .../rbac/global-permissions/_index.md | 5 +- .../en/admin-settings/rke-templates/_index.md | 119 +++++++ .../applying-templates/_index.md | 33 ++ .../creating-and-revising/_index.md | 115 ++++++ .../creator-permissions/_index.md | 50 +++ .../rke-templates/enforcement/_index.md | 38 ++ .../rke-templates/example-scenarios/_index.md | 71 ++++ .../rke-templates/example-yaml/_index.md | 99 ++++++ .../rke-templates/overrides/_index.md | 15 + .../rke-templates-and-hardware/_index.md | 70 ++++ .../template-access-and-sharing/_index.md | 61 ++++ .../en/backups/backups/ha-backups/_index.md | 4 +- .../restorations/ha-restoration/_index.md | 4 +- content/rancher/v2.x/en/catalog/_index.md | 6 +- .../v2.x/en/catalog/custom/creating/_index.md | 25 +- .../cluster-admin/backing-up-etcd/_index.md | 15 + .../cluster-admin/editing-clusters/_index.md | 4 +- .../en/cluster-admin/kubeconfig/_index.md | 14 + .../v2.x/en/cluster-admin/nodes/_index.md | 21 +- .../en/cluster-admin/restoring-etcd/_index.md | 2 +- .../en/cluster-admin/tools/istio/_index.md | 98 +++--- .../tools/istio/disabling-istio/_index.md | 27 ++ .../cluster-admin/tools/istio/rbac/_index.md | 58 +++ .../istio/{config => resources}/_index.md | 82 ++++- .../cluster-admin/tools/istio/setup/_index.md | 28 ++ .../istio/setup/deploy-workloads/_index.md | 321 +++++++++++++++++ .../setup/enable-istio-in-cluster/_index.md | 22 ++ .../setup/enable-istio-in-namespace/_index.md | 24 ++ .../tools/istio/setup/gateway/_index.md | 103 ++++++ .../istio/setup/node-selectors/_index.md | 38 ++ .../setup/set-up-traffic-management/_index.md | 61 ++++ .../tools/istio/setup/view-traffic/_index.md | 26 ++ .../volumes-and-storage/_index.md | 11 +- .../custom-clusters/_index.md | 4 +- .../custom-clusters/agent-options/_index.md | 3 +- .../rancher-agents/_index.md | 38 ++ .../rke-clusters/custom-nodes/_index.md | 9 +- .../rke-clusters/node-pools/_index.md | 78 +++- .../rke-clusters/windows-clusters/_index.md | 278 ++++++++------- .../docs-for-2.1-and-2.2/_index.md | 27 +- .../host-gateway-requirements/_index.md | 37 ++ content/rancher/v2.x/en/faq/_index.md | 2 +- .../air-gap-high-availability/_index.md | 28 -- .../config-rancher-system-charts/_index.md | 50 --- .../install-rancher/_index.md | 189 ---------- .../prepare-private-registry/_index.md | 94 ----- .../provision-hosts/_index.md | 39 -- .../air-gap-single-node/_index.md | 20 -- .../config-rancher-system-charts/_index.md | 49 --- .../install-rancher/_index.md | 97 ----- .../prepare-private-registry/_index.md | 55 --- .../provision-host/_index.md | 11 - .../v2.x/en/installation/air-gap/_index.md | 40 +++ .../air-gap/install-rancher/_index.md | 333 ++++++++++++++++++ .../launch-kubernetes}/_index.md | 24 +- .../populate-private-registry/_index.md | 291 +++++++++++++++ .../air-gap/prepare-nodes/_index.md | 61 ++++ .../en/installation/ha/helm-rancher/_index.md | 1 - .../ha/helm-rancher/chart-options/_index.md | 6 +- .../v2.x/en/installation/options/_index.md | 9 +- .../options/local-system-charts/_index.md | 68 ++++ .../options/upgrading-cert-manager/_index.md | 4 +- .../en/installation/requirements/_index.md | 4 +- .../en/installation/single-node/_index.md | 40 ++- .../v2.x/en/project-admin/istio/_index.md | 54 +-- .../v2.x/en/upgrades/upgrades/_index.md | 32 +- .../ha-server-upgrade-helm-airgap/_index.md | 101 ------ .../upgrades/ha-server-upgrade-helm/_index.md | 101 ------ .../v2.x/en/upgrades/upgrades/ha/_index.md | 167 +++++++++ .../migrating-from-rke-add-on/_index.md | 4 +- .../single-node-air-gap-upgrade/_index.md | 38 -- .../upgrades/single-node-upgrade/_index.md | 142 -------- .../upgrades/upgrades/single-node/_index.md | 331 +++++++++++++++++ .../rke/latest/en/config-options/_index.md | 13 +- .../en/config-options/add-ons/_index.md | 15 + .../one-time-snapshots/_index.md | 7 + .../recurring-snapshots/_index.md | 5 + static/img/rancher/Google-Credentials-tab.png | Bin 0 -> 65960 bytes .../img/rancher/Google-Enable-APIs-Screen.png | Bin 0 -> 228475 bytes .../img/rancher/Google-Enable-Admin-APIs.png | Bin 0 -> 237808 bytes .../Google-OAuth-consent-screen-tab.png | Bin 0 -> 132493 bytes .../rancher/Google-Select-UniqueID-column.png | Bin 0 -> 64625 bytes static/img/rancher/Google-svc-acc-step1.png | Bin 0 -> 131120 bytes static/img/rancher/Google-svc-acc-step2.png | Bin 0 -> 114257 bytes .../Google-svc-acc-step3-key-creation.png | Bin 0 -> 340484 bytes static/img/rancher/istio-ingress.svg | 3 + 95 files changed, 3709 insertions(+), 1385 deletions(-) create mode 100644 content/rancher/v2.x/en/admin-settings/authentication/google/_index.md rename content/rancher/v2.x/en/{installation/air-gap-single-node/config-rancher-for-private-reg => admin-settings/config-private-registry}/_index.md (67%) create mode 100644 content/rancher/v2.x/en/admin-settings/feature-flags/_index.md create mode 100644 content/rancher/v2.x/en/admin-settings/feature-flags/enable-not-default-storage-drivers/_index.md create mode 100644 content/rancher/v2.x/en/admin-settings/feature-flags/istio-virtual-service-ui/_index.md create mode 100644 content/rancher/v2.x/en/admin-settings/k8s-metadata/_index.md create mode 100644 content/rancher/v2.x/en/admin-settings/rke-templates/_index.md create mode 100644 content/rancher/v2.x/en/admin-settings/rke-templates/applying-templates/_index.md create mode 100644 content/rancher/v2.x/en/admin-settings/rke-templates/creating-and-revising/_index.md create mode 100644 content/rancher/v2.x/en/admin-settings/rke-templates/creator-permissions/_index.md create mode 100644 content/rancher/v2.x/en/admin-settings/rke-templates/enforcement/_index.md create mode 100644 content/rancher/v2.x/en/admin-settings/rke-templates/example-scenarios/_index.md create mode 100644 content/rancher/v2.x/en/admin-settings/rke-templates/example-yaml/_index.md create mode 100644 content/rancher/v2.x/en/admin-settings/rke-templates/overrides/_index.md create mode 100644 content/rancher/v2.x/en/admin-settings/rke-templates/rke-templates-and-hardware/_index.md create mode 100644 content/rancher/v2.x/en/admin-settings/rke-templates/template-access-and-sharing/_index.md create mode 100644 content/rancher/v2.x/en/cluster-admin/tools/istio/disabling-istio/_index.md create mode 100644 content/rancher/v2.x/en/cluster-admin/tools/istio/rbac/_index.md rename content/rancher/v2.x/en/cluster-admin/tools/istio/{config => resources}/_index.md (56%) create mode 100644 content/rancher/v2.x/en/cluster-admin/tools/istio/setup/_index.md create mode 100644 content/rancher/v2.x/en/cluster-admin/tools/istio/setup/deploy-workloads/_index.md create mode 100644 content/rancher/v2.x/en/cluster-admin/tools/istio/setup/enable-istio-in-cluster/_index.md create mode 100644 content/rancher/v2.x/en/cluster-admin/tools/istio/setup/enable-istio-in-namespace/_index.md create mode 100644 content/rancher/v2.x/en/cluster-admin/tools/istio/setup/gateway/_index.md create mode 100644 content/rancher/v2.x/en/cluster-admin/tools/istio/setup/node-selectors/_index.md create mode 100644 content/rancher/v2.x/en/cluster-admin/tools/istio/setup/set-up-traffic-management/_index.md create mode 100644 content/rancher/v2.x/en/cluster-admin/tools/istio/setup/view-traffic/_index.md create mode 100644 content/rancher/v2.x/en/cluster-provisioning/rancher-agents/_index.md create mode 100644 content/rancher/v2.x/en/cluster-provisioning/rke-clusters/windows-clusters/host-gateway-requirements/_index.md delete mode 100644 content/rancher/v2.x/en/installation/air-gap-high-availability/_index.md delete mode 100644 content/rancher/v2.x/en/installation/air-gap-high-availability/config-rancher-system-charts/_index.md delete mode 100644 content/rancher/v2.x/en/installation/air-gap-high-availability/install-rancher/_index.md delete mode 100644 content/rancher/v2.x/en/installation/air-gap-high-availability/prepare-private-registry/_index.md delete mode 100644 content/rancher/v2.x/en/installation/air-gap-high-availability/provision-hosts/_index.md delete mode 100644 content/rancher/v2.x/en/installation/air-gap-single-node/_index.md delete mode 100644 content/rancher/v2.x/en/installation/air-gap-single-node/config-rancher-system-charts/_index.md delete mode 100644 content/rancher/v2.x/en/installation/air-gap-single-node/install-rancher/_index.md delete mode 100644 content/rancher/v2.x/en/installation/air-gap-single-node/prepare-private-registry/_index.md delete mode 100644 content/rancher/v2.x/en/installation/air-gap-single-node/provision-host/_index.md create mode 100644 content/rancher/v2.x/en/installation/air-gap/_index.md create mode 100644 content/rancher/v2.x/en/installation/air-gap/install-rancher/_index.md rename content/rancher/v2.x/en/installation/{air-gap-high-availability/install-kube => air-gap/launch-kubernetes}/_index.md (73%) create mode 100644 content/rancher/v2.x/en/installation/air-gap/populate-private-registry/_index.md create mode 100644 content/rancher/v2.x/en/installation/air-gap/prepare-nodes/_index.md create mode 100644 content/rancher/v2.x/en/installation/options/local-system-charts/_index.md delete mode 100644 content/rancher/v2.x/en/upgrades/upgrades/ha-server-upgrade-helm-airgap/_index.md delete mode 100644 content/rancher/v2.x/en/upgrades/upgrades/ha-server-upgrade-helm/_index.md create mode 100644 content/rancher/v2.x/en/upgrades/upgrades/ha/_index.md delete mode 100644 content/rancher/v2.x/en/upgrades/upgrades/single-node-air-gap-upgrade/_index.md delete mode 100644 content/rancher/v2.x/en/upgrades/upgrades/single-node-upgrade/_index.md create mode 100644 content/rancher/v2.x/en/upgrades/upgrades/single-node/_index.md create mode 100644 static/img/rancher/Google-Credentials-tab.png create mode 100644 static/img/rancher/Google-Enable-APIs-Screen.png create mode 100644 static/img/rancher/Google-Enable-Admin-APIs.png create mode 100644 static/img/rancher/Google-OAuth-consent-screen-tab.png create mode 100644 static/img/rancher/Google-Select-UniqueID-column.png create mode 100644 static/img/rancher/Google-svc-acc-step1.png create mode 100644 static/img/rancher/Google-svc-acc-step2.png create mode 100644 static/img/rancher/Google-svc-acc-step3-key-creation.png create mode 100644 static/img/rancher/istio-ingress.svg diff --git a/content/rancher/v2.x/en/admin-settings/_index.md b/content/rancher/v2.x/en/admin-settings/_index.md index b2589089e8f..bcee2952f0c 100644 --- a/content/rancher/v2.x/en/admin-settings/_index.md +++ b/content/rancher/v2.x/en/admin-settings/_index.md @@ -41,3 +41,21 @@ For more information how to create and use PSPs, see [Pod Security Policies]({{< Drivers in Rancher allow you to manage which providers can be used to provision [hosted Kubernetes clusters]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/hosted-kubernetes-clusters/) or [nodes in an infrastructure provider]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/rke-clusters/node-pools/) to allow Rancher to deploy and manage Kubernetes. For more information, see [Provisioning Drivers]({{< baseurl >}}/rancher/v2.x/en/admin-settings/drivers/). + +## Adding Kubernetes Versions into RANCHER + +_Available as of v2.3.0_ + +With this feature, you can upgrade to the latest version of Kubernetes as soon as it is released, without upgrading Rancher. This feature allows you to easily upgrade Kubernetes patch versions (i.e. `v1.15.X`), but not intended to upgrade Kubernetes minor versions (i.e. `v1.X.0`) as Kubernetes tends to deprecate or add APIs between minor versions. + +The information that Rancher uses to provision [RKE clusters]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/rke-clusters/) is now located in the [Rancher Kubernetes Metadata]({{< baseurl >}}/rancher/v2.x/en/admin-settings/rke-metadata/). For details on metadata configuration and how to change the Kubernetes version used for provisioning RKE clusters, see [Rancher Kubernetes Metadata]({{< baseurl >}}/rancher/v2.x/en/admin-settings/rke-metadata/). + +Rancher Kubernetes Metadata contains Kubernetes version information which Rancher uses to provision [RKE clusters]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/rke-clusters/). + +For more information on how metadata works and how to configure metadata config, see [Rancher Kubernetes Metadata]({{< baseurl >}}/rancher/v2.x/en/admin-settings/rke-metadata/). + +## Enabling Experimental Features + +_Available as of v2.3.0_ + +Rancher includes some features that are experimental and disabled by default. Feature flags were introduced to allow you to try these features. For more information, refer to the section about [feature flags.]({{}}/rancher/v2.x/en/admin-settings/feature-flags) \ No newline at end of file diff --git a/content/rancher/v2.x/en/admin-settings/authentication/_index.md b/content/rancher/v2.x/en/admin-settings/authentication/_index.md index d9c21914168..6a786d9a78f 100644 --- a/content/rancher/v2.x/en/admin-settings/authentication/_index.md +++ b/content/rancher/v2.x/en/admin-settings/authentication/_index.md @@ -18,27 +18,28 @@ The Rancher authentication proxy integrates with the following external authenti | Auth Service | Available as of | | ------------------------------------------------------------------------------------------------ | ---------------- | -| [Microsoft Active Directory]({{< baseurl >}}/rancher/v2.x/en/admin-settings/authentication/ad/) | v2.0.0 | -| [GitHub]({{< baseurl >}}/rancher/v2.x/en/admin-settings/authentication/github/) | v2.0.0 | -| [Microsoft Azure AD]({{< baseurl >}}/rancher/v2.x/en/admin-settings/authentication/azure-ad/) | v2.0.3 | -| [FreeIPA]({{< baseurl >}}/rancher/v2.x/en/admin-settings/authentication/freeipa/) | v2.0.5 | -| [OpenLDAP]({{< baseurl >}}/rancher/v2.x/en/admin-settings/authentication/openldap/) | v2.0.5 | -| [Microsoft AD FS]({{< baseurl >}}/rancher/v2.x/en/admin-settings/authentication/microsoft-adfs/) | v2.0.7 | -| [PingIdentity]({{< baseurl >}}/rancher/v2.x/en/admin-settings/authentication/ping-federate/) | v2.0.7 | -| [Keycloak]({{< baseurl >}}/rancher/v2.x/en/admin-settings/authentication/keycloak/) | v2.1.0 | -| [Okta]({{< baseurl >}}/rancher/v2.x/en/admin-settings/authentication/okta/) | v2.2.0 | +| [Microsoft Active Directory]({{}}/rancher/v2.x/en/admin-settings/authentication/ad/) | v2.0.0 | +| [GitHub]({{}}/rancher/v2.x/en/admin-settings/authentication/github/) | v2.0.0 | +| [Microsoft Azure AD]({{}}/rancher/v2.x/en/admin-settings/authentication/azure-ad/) | v2.0.3 | +| [FreeIPA]({{}}/rancher/v2.x/en/admin-settings/authentication/freeipa/) | v2.0.5 | +| [OpenLDAP]({{}}/rancher/v2.x/en/admin-settings/authentication/openldap/) | v2.0.5 | +| [Microsoft AD FS]({{}}/rancher/v2.x/en/admin-settings/authentication/microsoft-adfs/) | v2.0.7 | +| [PingIdentity]({{}}/rancher/v2.x/en/admin-settings/authentication/ping-federate/) | v2.0.7 | +| [Keycloak]({{}}/rancher/v2.x/en/admin-settings/authentication/keycloak/) | v2.1.0 | +| [Okta]({{}}/rancher/v2.x/en/admin-settings/authentication/okta/) | v2.2.0 | +| [Google OAuth]({{}}/rancher/v2.x/en/admin-settings/authentication/google/) | v2.3.0 |
-However, Rancher also provides [local authentication]({{< baseurl >}}/rancher/v2.x/en/admin-settings/authentication/local/). +However, Rancher also provides [local authentication]({{}}/rancher/v2.x/en/admin-settings/authentication/local/). In most cases, you should use an external authentication service over local authentication, as external authentication allows user management from a central location. However, you may want a few local authentication users for managing Rancher under rare circumstances, such as if your external authentication provider is unavailable or undergoing maintenance. ## Users and Groups -Rancher relies on users and groups to determine who is allowed to log in to Rancher and which resources they can access. When authenticating with an external provider, groups are provided from the external provider based on the user. These users and groups are given specific roles to resources like clusters, projects, multi-cluster apps, and global DNS providers and entries. When you give access to a group, all users who are a member of that group in the authentication provider will be able to access the resource with the permissions that you've specified. For more information on roles and permissions, see [Role Based Access Control]({{< baseurl >}}/rancher/v2.x/en/admin-settings/rbac/). +Rancher relies on users and groups to determine who is allowed to log in to Rancher and which resources they can access. When authenticating with an external provider, groups are provided from the external provider based on the user. These users and groups are given specific roles to resources like clusters, projects, multi-cluster apps, and global DNS providers and entries. When you give access to a group, all users who are a member of that group in the authentication provider will be able to access the resource with the permissions that you've specified. For more information on roles and permissions, see [Role Based Access Control]({{}}/rancher/v2.x/en/admin-settings/rbac/). > **Note:** Local authentication does not support creating or managing groups. -For more information, see [Users and Groups]({{< baseurl >}}/rancher/v2.x/en/admin-settings/authentication/user-groups/) +For more information, see [Users and Groups]({{}}/rancher/v2.x/en/admin-settings/authentication/user-groups/) ## Scope of Rancher Authorization @@ -75,22 +76,22 @@ Configuration of external authentication affects how principal users are managed 1. Sign into Rancher as the local principal and complete configuration of external authentication. - ![Sign In]({{< baseurl >}}/img/rancher/sign-in.png) + ![Sign In]({{}}/img/rancher/sign-in.png) 2. Rancher associates the external principal with the local principal. These two users share the local principal's user ID. - ![Principal ID Sharing]({{< baseurl >}}/img/rancher/principal-ID.png) + ![Principal ID Sharing]({{}}/img/rancher/principal-ID.png) 3. After you complete configuration, Rancher automatically signs out the local principal. - ![Sign Out Local Principal]({{< baseurl >}}/img/rancher/sign-out-local.png) + ![Sign Out Local Principal]({{}}/img/rancher/sign-out-local.png) 4. Then, Rancher automatically signs you back in as the external principal. - ![Sign In External Principal]({{< baseurl >}}/img/rancher/sign-in-external.png) + ![Sign In External Principal]({{}}/img/rancher/sign-in-external.png) 5. Because the external principal and the local principal share an ID, no unique object for the external principal displays on the Users page. - ![Sign In External Principal]({{< baseurl >}}/img/rancher/users-page.png) + ![Sign In External Principal]({{}}/img/rancher/users-page.png) 6. The external principal and the local principal share the same access rights. diff --git a/content/rancher/v2.x/en/admin-settings/authentication/google/_index.md b/content/rancher/v2.x/en/admin-settings/authentication/google/_index.md new file mode 100644 index 00000000000..e644f17a58e --- /dev/null +++ b/content/rancher/v2.x/en/admin-settings/authentication/google/_index.md @@ -0,0 +1,103 @@ +--- +title: Configuring Google OAuth +--- +_Available as of v2.3.0_ + +If your organization uses G Suite for user authentication, you can configure Rancher to allow your users to log in using their G Suite credentials. + +Only admins of the G Suite domain have access to the Admin SDK. Therefore, only G Suite admins can configure Google OAuth for Rancher. + +Within Rancher, only administrators or users with the **Manage Authentication** [global role]({{}}/rancher/v2.x/en/admin-settings/rbac/global-permissions/#global-permissions-reference) can configure authentication. + +# Prerequisites +- You must have a [G Suite admin account](https://admin.google.com) configured. +- G Suite requires a [top private domain FQDN](https://github.com/google/guava/wiki/InternetDomainNameExplained#public-suffixes-and-private-domains) as an authorized domain. One way to get an FQDN is by creating an A-record in Route53 for your Rancher server. You do not need to update your Rancher Server URL setting with that record, because there could be clusters using that URL. +- You must have the Admin SDK API enabled for your G Suite domain. You can enable it using the steps on [this page.](https://support.google.com/a/answer/60757?hl=en) + +After the Admin SDK API is enabled, your G Suite domain's API screen should look like this: +![Enable Admin APIs]({{}}/img/rancher/Google-Enable-APIs-Screen.png) + +# Setting up G Suite for OAuth with Rancher +Before you can set up Google OAuth in Rancher, you need to log in to your G Suite account and do the following: + +1. [Add Rancher as an authorized domain in G Suite](#1-adding-rancher-as-an-authorized-domain) +1. [Generate OAuth2 credentials for the Rancher server](#2-creating-oauth2-credentials-for-the-rancher-server) +1. [Create service account credentials for the Rancher server](#3-creating-service-account-credentials) +1. [Register the service account key as an OAuth Client](#4-register-the-service-account-key-as-an-oauth-client) + +### 1. Adding Rancher as an Authorized Domain +1. Click [here](https://console.developers.google.com/apis/credentials) to go to credentials page of your Google domain. +1. Select your project and click **OAuth consent screen.** +![OAuth Consent Screen]({{}}/img/rancher/Google-OAuth-consent-screen-tab.png) +1. Go to **Authorized Domains** and enter the top private domain of your Rancher server URL in the list. The top private domain is the rightmost superdomain. So for example, www.foo.co.uk a top private domain of foo.co.uk. For more information on top-level domains, refer to [this article.](https://github.com/google/guava/wiki/InternetDomainNameExplained#public-suffixes-and-private-domains) +1. Go to **Scopes for Google APIs** and make sure **email,** **profile** and **openid** are enabled. + +**Result:** Rancher has been added as an authorized domain for the Admin SDK API. + +### 2. Creating OAuth2 Credentials for the Rancher Server +1. Go to the Google API console, select your project, and go to the [credentials page.]((https://console.developers.google.com/apis/credentials) ) +![Credentials]({{}}/img/rancher/Google-Credentials-tab.png) +1. On the **Create Credentials** dropdown, select **OAuth client ID.** +1. Click **Web application.** +1. Provide a name. +1. Fill out the **Authorized JavaScript origins** and **Authorized redirect URIs.** Note: The Rancher UI page for setting up Google OAuth (available from the Global view under **Security > Authentication > Google**) provides you the exact links to enter for this step. + - Under **Authorized JavaScript origins,** enter your Rancher server URL. + - Under **Authorized redirect URIs,** enter your Rancher server URL appended with the path `verify-auth`. For example, if your URI is `https://rancherServer`, you will enter `https://rancherServer/verify-auth`. +1. Click on **Create.** +1. After the credential is created, you will see a screen with a list of your credentials. Choose the credential you just created, and in that row on rightmost side, click **Download JSON.** Save the file so that you can provide these credentials to Rancher. + +**Result:** Your OAuth credentials have been successfully created. + +### 3. Creating Service Account Credentials +Since the Google Admin SDK is available only to admins, regular users cannot use it to retrieve profiles of other users or their groups. Regular users cannot even retrieve their own groups. + +Since Rancher provides group-based membership access, we require the users to be able to get their own groups, and look up other users and groups when needed. + +As a workaround to get this capability, G Suite recommends creating a service account and delegating authority of your G Suite domain to that service account. + +This section describes how to: + +- Create a service account +- Create a key for the service account and download the credenials as JSON + +1. Click [here](https://console.developers.google.com/iam-admin/serviceaccounts) and select your project for which you generated OAuth credentials. +1. Click on **Create Service Account.** +1. Enter a name and click **Create.** +![Service account creation Step 1]({{}}/img/rancher/Google-svc-acc-step1.png) +1. Don't provide any roles on the **Service account permissions** page and click **Continue** +![Service account creation Step 2]({{}}/img/rancher/Google-svc-acc-step2.png) +1. Click on **Create Key** and select the JSON option. Download the JSON file and save it so that you can provide it as the service account credentials to Rancher. +![Service account creation Step 3]({{}}/img/rancher/Google-svc-acc-step3-key-creation.png) + +**Result:** Your service account is created. + +### 4. Register the Service Account Key as an OAuth Client + +You will need to grant some permissions to the service account you created in the last step. Rancher requires you to grant only read-only permissions for users and groups. + +Using the Unique ID of the service account key, register it as an Oauth Client using the following steps: + +1. Get the Unique ID of the key you just created. If it's not displayed in the list of keys right next to the one you created, you will have to enable it. To enable it, click **Unique ID** and click **OK.** This will add a **Unique ID** column to the list of service account keys. Save the one listed for the service account you created. NOTE: This is a numeric key, not to be confused with the alphanumeric field **Key ID.** + + ![Service account Unique ID]({{}}/img/rancher/Google-Select-UniqueID-column.png) +1. Go to the [**Manage OAuth Client Access** page.](https://admin.google.com/AdminHome?chromeless=1#OGX:ManageOauthClients) +1. Add the Unique ID obtained in the previous step in the **Client Name** field. +1. In the **One or More API Scopes** field, add the following scopes: + ``` + openid,profile,email,https://www.googleapis.com/auth/admin.directory.user.readonly,https://www.googleapis.com/auth/admin.directory.group.readonly + ``` +1. Click **Authorize.** + +**Result:** The service account is registered as an OAuth client in your G Suite account. + +# Configuring Google OAuth in Rancher +1. Sign into Rancher using a local user assigned the [administrator]({{}}/rancher/v2.x/en/admin-settings/rbac/global-permissions) role. This user is also called the local principal. +1. From the **Global** view, click **Security > Authentication** from the main menu. +1. Click **Google.** The instructions in the UI cover the steps to set up authentication with Google OAuth. + - **Step One** is about adding Rancher as an authorized domain, which we already covered in [this section.](#1-adding-rancher-as-an-authorized-domain) + - For **Step Two,** provide the OAuth credentials JSON that you downloaded after completing [this section.](#2-creating-oauth2-credentials-for-the-rancher-server) You can upload the file or paste the contents into the **OAuth Credentials** field. + - For **Step Three,** provide the service account credentials JSON that downloaded at the end of [this section.](#3-creating-service-account-credentials) The credentials will only work if you successfully [registered the service account key](#4-register-the-service-account-key-as-an-oauth-client) as an OAuth client in your G Suite account. +1. Click **Authenticate with Google**. +1. Click **Save**. + +**Result:** Google authentication is successfully configured. \ No newline at end of file diff --git a/content/rancher/v2.x/en/admin-settings/authentication/user-groups/_index.md b/content/rancher/v2.x/en/admin-settings/authentication/user-groups/_index.md index 6cc49ad058f..b4261c097cf 100644 --- a/content/rancher/v2.x/en/admin-settings/authentication/user-groups/_index.md +++ b/content/rancher/v2.x/en/admin-settings/authentication/user-groups/_index.md @@ -49,3 +49,16 @@ If you are not sure the last time Rancher performed an automatic refresh of user **Results:** Rancher refreshes the user information for all users. Requesting this refresh will update which users can access Rancher as well as all the groups that each user belongs to. >**Note:** Since SAML does not support user lookup, SAML-based authentication providers do not support the ability to manually refresh user information. User information will only be refreshed when the user logs into the Rancher UI. + + +## Session Length + +_Available as of v2.3.0_ + +The default length (TTL) of each user session is adjustable. The default session length is 16 hours. + +1. From the **Global** view, click on **Settings**. +1. In the **Settings** page, find **`auth-user-session-ttl-minutes`** and click **Edit.** +1. Enter the amount of time in minutes a session length should last and click **Save.** + +**Result:** Users are automatically logged out of Rancher after the set number of minutes. diff --git a/content/rancher/v2.x/en/installation/air-gap-single-node/config-rancher-for-private-reg/_index.md b/content/rancher/v2.x/en/admin-settings/config-private-registry/_index.md similarity index 67% rename from content/rancher/v2.x/en/installation/air-gap-single-node/config-rancher-for-private-reg/_index.md rename to content/rancher/v2.x/en/admin-settings/config-private-registry/_index.md index d73c0305812..8e5441f51d1 100644 --- a/content/rancher/v2.x/en/installation/air-gap-single-node/config-rancher-for-private-reg/_index.md +++ b/content/rancher/v2.x/en/admin-settings/config-private-registry/_index.md @@ -1,13 +1,14 @@ --- -title: "4. Configure Rancher for the Private Registry" +title: Configuring a Private Registry weight: 400 aliases: --- -After your private registry is populated with all the required system images, you need to configure Rancher to use the private registry. There are two places you need to use a private registry: +You might want to use a private Docker registry to share your custom base images within your organization. With a private registry, you can keep a private, consistent, and centralized source of truth for the Docker images that are used in your clusters. -- When Rancher is installed, to provide the Rancher system images -- After Rancher is installed, to use when deploying clusters +A private registry is also used for air gap installations of Rancher, in which the registry is located somewhere accessible by Rancher. Then Rancher can provision clusters using images from the registry without direct access to the Internet. + +This section describes how to configure a private Docker registry from the Rancher UI after Rancher is installed. For instructions on setting up a private registry with command line options during the installation of Rancher, refer to the [single node]({{}}/rancher/v2.x/en/installation/air-gap-single-node) or [high-availability]({{}}/rancher/v2.x/en/installation/air-gap-high-availability) Rancher air gap installation instructions. There are multiple ways to configure private registries in Rancher, depending on whether your private registry requires credentials: @@ -18,8 +19,6 @@ If your private registry requires credentials, it cannot be used as the default # Setting a Private Registry with No Credentials as the Default Registry ->**Note:** If you want to set the default private registry when starting the rancher/rancher container, you can use the environment variable `CATTLE_SYSTEM_DEFAULT_REGISTRY`. - 1. Log into Rancher and configure the default admin password. 1. Go into the **Settings** view. @@ -36,7 +35,7 @@ If your private registry requires credentials, it cannot be used as the default **Result:** Rancher will use your private registry to pull system images. -# Setting a Private Registry with Credentials for Deploying Clusters +# Setting a Private Registry with Credentials when Deploying a Cluster You can follow these steps to configure a private registry when you provision a cluster with Rancher: @@ -46,5 +45,3 @@ You can follow these steps to configure a private registry when you provision a 1. Click **Save.** **Result:** The new cluster will be able to pull images from the private registry. - -### [Next: Configure Rancher System Charts]({{< baseurl >}}/rancher/v2.x/en/installation/air-gap-single-node/config-rancher-system-charts/) diff --git a/content/rancher/v2.x/en/admin-settings/feature-flags/_index.md b/content/rancher/v2.x/en/admin-settings/feature-flags/_index.md new file mode 100644 index 00000000000..e3fac65abe9 --- /dev/null +++ b/content/rancher/v2.x/en/admin-settings/feature-flags/_index.md @@ -0,0 +1,101 @@ +--- +title: Enabling Experimental Features +weight: 8000 +--- +_Available as of v2.3.0_ + +Rancher includes some features that are experimental and disabled by default. You might want to enable these features, for example, if you decide that the benefits of using an [unsupported storage type]({{}}/rancher/v2.x/en/admin-settings/feature-flags/enable-not-default-storage-drivers) outweighs the risk of using an untested feature. Feature flags were introduced to allow you to try these features that are not enabled by default. + +The features can be enabled in two ways: + +- When installing Rancher with a CLI, you can use a feature flag to enable a feature by default +- After installing Rancher, you can turn on the features with the Rancher API + +Each feature has two values: + +- A default value, which can be configured with a flag or environment variable from the command line +- A set value, which can be configured with the Rancher API + +If no value has been set, Rancher uses the default value. + +Because the API sets the actual value and the command line sets the default value, that means that if you enable or disable a feature with the API, it will override any value set with the command line. + +For example, if you install Rancher, then set a feature flag to true with the Rancher API, then upgrade Rancher with a command that sets the feature flag to false, the default value will still be false, but the feature will still be enabled because it was set with the Rancher API. If you then deleted the set value (true) with the Rancher API, setting it to NULL, the default value (false) would take effect. + +The following is a list of the feature flags available in Rancher: + +Feature | Environment Variable Key | Default Value | Description | Available as of | +---|---|---|---|--- +[Allow unsupported storage drivers]({{}}/rancher/v2.x/en/admin-settings/feature-flags/enable-not-default-storage-drivers) | `unsupported-storage-drivers` | `false` | This feature enables types for storage providers and provisioners that are not enabled by default. | v2.3.0 +[UI for Istio virtual services and destination rules]({{}}/rancher/v2.x/en/admin-settings/feature-flags/istio-virtual-service-ui) | `istio-virtual-service-ui`| `false` | Enables a UI that lets you create, read, update and delete virtual services and destination rules, which are traffic management features of Istio | v2.3.0 + +# Enabling Features when Starting Rancher + +When you install Rancher, enable the feature you want with a feature flag. The command is different depending on whether you are installing Rancher on a single node or if you are doing an HA installation of Rancher. + +> **Note:** Values set from the Rancher API will override the value passed in through the command line. + +{{% tabs %}} +{{% tab "HA Install" %}} +When installing Rancher with a Helm chart, use the `--features` option: +``` +helm install rancher-latest/rancher \ + --name rancher \ + --namespace cattle-system \ + --set hostname=rancher.my.org \ + --set 'extraEnv[0].name=CATTLE_FEATURES' # Available as of v2.3.0 + --set 'extraEnv[0].value==true,=true' # Available as of v2.3.0 +``` + +### Rendering the Helm Chart for Air Gap Installations + +For an air gap installation of Rancher, you need to add a Helm chart repository and render a Helm template before installing Rancher with Helm. For details, refer to the [air gap installation documentation.]({{}}/rancher/v2.x/en/installation/air-gap/install-rancher) + +Here is an example of a command for passing in the feature flag options when rendering the Helm template: +``` +helm template ./rancher-.tgz --output-dir . \ + --name rancher \ + --namespace cattle-system \ + --set hostname= \ + --set rancherImage=/rancher/rancher \ + --set ingress.tls.source=secret \ + --set systemDefaultRegistry= \ # Available as of v2.2.0, set a default private registry to be used in Rancher + --set useBundledSystemChart=true # Available as of v2.3.0, use the packaged Rancher system charts + --set 'extraEnv[0].name=CATTLE_FEATURES' # Available as of v2.3.0 + --set 'extraEnv[0].value==true,=true' # Available as of v2.3.0 +``` +{{% /tab %}} +{{% tab "Single Node Install" %}} +When installing Rancher with Docker, use the `--features` option: +``` +docker run -d -p 80:80 -p 443:443 \ + --restart=unless-stopped \ + rancher/rancher:rancher-latest \ + --features==true,=true # Available as of v2.3.0 +``` +{{% /tab %}} +{{% /tabs %}} + +# Enabling Features with the Rancher API + +1. Go to `/v3/features`. +1. In the `data` section, you will see an array containing all of the features that can be turned on with feature flags. The name of the feature is in the `id` field. Click the name of the feature you want to enable. +1. In the upper left corner of the screen, under **Operations,** click **Edit.** +1. In the **Value** drop-down menu, click **True.** +1. Click **Show Request.** +1. Click **Send Request.** +1. Click **Close.** + +**Result:** The feature is enabled. + +# Disabling Features with the Rancher API + +1. Go to `/v3/features`. +1. In the `data` section, you will see an array containing all of the features that can be turned on with feature flags. The name of the feature is in the `id` field. Click the name of the feature you want to enable. +1. In the upper left corner of the screen, under **Operations,** click **Edit.** +1. In the **Value** drop-down menu, click **False.** +1. Click **Show Request.** +1. Click **Send Request.** +1. Click **Close.** + +**Result:** The feature is disabled. diff --git a/content/rancher/v2.x/en/admin-settings/feature-flags/enable-not-default-storage-drivers/_index.md b/content/rancher/v2.x/en/admin-settings/feature-flags/enable-not-default-storage-drivers/_index.md new file mode 100644 index 00000000000..5f26d7c3891 --- /dev/null +++ b/content/rancher/v2.x/en/admin-settings/feature-flags/enable-not-default-storage-drivers/_index.md @@ -0,0 +1,37 @@ +--- +title: Allow Unsupported Storage Drivers +weight: 1 +--- +_Available as of v2.3.0_ + +This feature allows you to use types for storage providers and provisioners that are not enabled by default. + +To enable or disable this feature, refer to the instructions on [the main page about enabling experimental features.]({{}}/rancher/v2.x/en/admin-settings/feature-flags) + +Environment Variable Key | Default Value | Description +---|---|--- + `unsupported-storage-drivers` | `false` | This feature enables types for storage providers and provisioners that are not enabled by default. + +### Types for Persistent Volume Plugins that are Enabled by Default +Below is a list of storage types for persistent volume plugins that are enabled by default. When enabling this feature flag, any persistent volume plugins that are not on this list are considered experimental and unsupported: + +- `aws-ebs` +- `azure-disk` +- `azure-file` +- `flex-volume-longhorn` +- `gce-pd` +- `host-path` +- `local` +- `nfs` +- `vsphere-volume` + +### Types for StorageClass that are Enabled by Default +Below is a list of storage types for a StorageClass that are enabled by default. When enabling this feature flag, any persistent volume plugins that are not on this list are considered experimental and unsupported: + +- `aws-ebs` +- `azure-disk` +- `azure-file` +- `gce-pd` +- `longhorn` +- `local` +- `vsphere-volume` \ No newline at end of file diff --git a/content/rancher/v2.x/en/admin-settings/feature-flags/istio-virtual-service-ui/_index.md b/content/rancher/v2.x/en/admin-settings/feature-flags/istio-virtual-service-ui/_index.md new file mode 100644 index 00000000000..7c709b9b138 --- /dev/null +++ b/content/rancher/v2.x/en/admin-settings/feature-flags/istio-virtual-service-ui/_index.md @@ -0,0 +1,29 @@ +--- +title: UI for Istio Virtual Services and Destination Rules +weight: 2 +--- +_Available as of v2.3.0_ + +> **Prerequisite:** Turning on this feature does not enable Istio. A cluster administrator needs to [enable Istio for the cluster]({{}}/rancher/v2.x/en/cluster-admin/tools/istio/setup) in order to use the feature. + +To enable or disable this feature, refer to the instructions on [the main page about enabling experimental features.]({{}}/rancher/v2.x/en/admin-settings/feature-flags) + +Environment Variable Key | Default Value | Description +---|---|--- +`istio-virtual-service-ui`| `false` | Enables a UI that lets you create, read, update and delete virtual services and destination rules, which are traffic management features of Istio + +# About this Feature + +A central advantage of Istio's traffic management features is that they allow dynamic request routing, which is useful for canary deployments, blue/green deployments, or A/B testing. + +When enabled, this feature turns on a page that lets you configure some traffic management features of Istio using the Rancher UI. Without this feature, you need to use `kubectl` to manage traffic with Istio. + +The feature enables two UI tabs: one tab for **Virtual Services** and another for **Destination Rules.** + +- **Virtual services** intercept and direct traffic to your Kubernetes services, allowing you to direct percentages of traffic from a request to different services. You can use them to define a set of routing rules to apply when a host is addressed. For details, refer to the [Istio documentation.](https://istio.io/docs/reference/config/networking/v1alpha3/virtual-service/) +- **Destination rules** serve as the single source of truth about which service versions are available to receive traffic from virtual services. You can use these resources to define policies that apply to traffic that is intended for a service after routing has occurred. For details, refer to the [Istio documentation.](https://istio.io/docs/reference/config/networking/v1alpha3/destination-rule) + +To see these tabs, + +1. Go to the project view in Rancher and click **Resources > Istio.** +1. You will see tabs for **Traffic Graph,** which has the Kiali network visualization integrated into the UI, and **Traffic Metrics,** which shows metrics for the success rate and request volume of traffic to your services, among other metrics. Next to these tabs, you should see the tabs for **Virtual Services** and **Destination Rules.** \ No newline at end of file diff --git a/content/rancher/v2.x/en/admin-settings/k8s-metadata/_index.md b/content/rancher/v2.x/en/admin-settings/k8s-metadata/_index.md new file mode 100644 index 00000000000..59449404d16 --- /dev/null +++ b/content/rancher/v2.x/en/admin-settings/k8s-metadata/_index.md @@ -0,0 +1,71 @@ +--- +title: Upgrading Kubernetes without Upgrading Rancher +weight: 1120 +--- + +_Available as of v2.3.0_ + +The RKE metadata feature allows you to provision clusters with new versions of Kubernetes as soon as they are released, without upgrading Rancher. This feature is useful for taking advantage of patch versions of Kubernetes, for example, if you want to upgrade to Kubernetes v1.14.7 when your Rancher server originally supported v1.14.6. + +**Note:** The Kubernetes API can change between minor versions. Therefore, we don't support introducing minor Kubernetes versions, such as introducing v1.15 when Rancher currently supports v1.14. You would need to upgrade Rancher to add support for minor Kubernetes versions. + +Rancher's Kubernetes metadata contains information specific to the Kubernetes version that Rancher uses to provision [RKE clusters]({{}}/rancher/v2.x/en/cluster-provisioning/rke-clusters/). Rancher syncs the data periodically and creates custom resource definitions (CRDs) for **system images,** **service options** and **addon templates.** Consequently, when a new Kubernetes version is compatible with the Rancher server version, the Kubernetes metadata makes the new version available to Rancher for provisioning clusters. The metadata gives you an overview of the information that the [Rancher Kubernetes Engine]({{}}/rke/latest/en/) (RKE) uses for deploying various Kubernetes versions. + +This table below describes the CRDs that are affected by the periodic data sync. + +> **Note:** Only administrators can edit metadata CRDs. It is recommended not to update existing objects unless explicitly advised. + +| Resource | Description | Rancher API URL | +|----------|-------------|-----------------| +| System Images | List of system images used to deploy Kubernetes through RKE. | `/v3/rkek8ssystemimages` | +| Service Options | Default options passed to Kubernetes components like `kube-api`, `scheduler`, `kubelet`, `kube-proxy`, and `kube-controller-manager` | `/v3/rkek8sserviceoptions` | +| Addon Templates | YAML definitions used to deploy addon components like Canal, Calico, Flannel, Weave, Kube-dns, CoreDNS, `metrics-server`, `nginx-ingress` | `/v3/rkeaddons` | + +Administrators might configure the RKE metadata settings to do the following: + +- Refresh the Kubernetes metadata, if a new patch version of Kubernetes comes out and they want Rancher to provision clusters with the latest version of Kubernetes without having to upgrade Rancher +- Change the metadata URL that Rancher uses to sync the metadata, which is useful for air gap setups if you need to sync Rancher locally instead of with GitHub +- Prevent Rancher from auto-syncing the metadata, which is one way to prevent new and unsupported Kubernetes versions from being available in Rancher + +# Refresh Kubernetes Metadata + +The option to refresh the Kubernetes metadata is available for administrators by default, or for any user who has the **Manage Cluster Drivers** [global role.]({{}}/rancher/v2.x/en/admin-settings/rbac/global-permissions/) + +To force Rancher to refresh the Kubernetes metadata, a manual refresh action is available under **Tools > Drivers > Refresh Kubernetes Metadata** on the right side corner. + +# Configuring the Metadata Synchronization + +> Only administrators can change these settings. + +The RKE metadata config controls how often Rancher syncs metadata and where it downloads data from. You can configure the metadata from the settings in the Rancher UI, or through the Rancher API at the endpoint `v3/settings/rke-metadata-config`. + +To edit the metadata config in Rancher, + +1. Go to the **Global** view and click the **Settings** tab. +1. Go to the **rke-metadata-config** section. Click the **Ellipsis (...)** and click **Edit.** +1. You can optionally fill in the following parameters: + + - `refresh-interval-minutes`: This is the amount of time that Rancher waits to sync the metadata. To disable the periodic refresh, set `refresh-interval-minutes` to 0. + - `url`: This is the HTTP path that Rancher fetches data from. + - `branch`: This refers to the Git branch name if the URL is a Git URL. + +If you don't have an air gap setup, you don't need to specify the URL or Git branch where Rancher gets the metadata, because the default setting is to pull from [Rancher's metadata Git repository.](https://github.com/rancher/kontainer-driver-metadata.git) + +However, if you have an [air gap setup,](#air-gap-setups) you will need to mirror the Kubernetes metadata repository in a location available to Rancher. Then you need to change the URL and Git branch in the `rke-metadata-config` settings to point to the new location of the repository. + +# Air Gap Setups + +Rancher relies on a periodic refresh of the `rke-metadata-config` to download new Kubernetes version metadata if it is supported with the current version of the Rancher server. For a table of compatible Kubernetes and Rancher versions, refer to the [service terms section.](https://rancher.com/support-maintenance-terms/all-supported-versions/rancher-v2.2.8/) + +If you have an air gap setup, you might not be able to get the automatic periodic refresh of the Kubernetes metadata from Rancher's Git repository. In that case, you should disable the periodic refresh to prevent your logs from showing errors. Optionally, you can configure your metadata settings so that Rancher can sync with a local copy of the RKE metadata. + +To sync Rancher with a local mirror of the RKE metadata, an administrator would configure the `rke-metadata-config` settings by updating the `url` and `branch` to point to the mirror. + +After new Kubernetes versions are loaded into the Rancher setup, additional steps would be required in order to use them for launching clusters. Rancher needs access to updated system images. While the metadata settings can only be changed by administrators, any user can download the Rancher system images and prepare a private Docker registry for them. + +1. To download the system images for the private registry, click the Rancher server version at the bottom left corner of the Rancher UI. +1. Download the OS specific image lists for Linux or Windows. +1. Download `rancher-images.txt`. +1. Prepare the private registry using the same steps during the [air gap install]({{}}/rancher/v2.x/en/installation/air-gap/populate-private-registry), but instead of using the `rancher-images.txt` from the releases page, use the one obtained from the previous steps. + +**Result:** The air gap installation of Rancher can now sync the Kubernetes metadata. If you update your private registry when new versions of Kubernetes are released, you can provision clusters with the new version without having to upgrade Rancher. \ No newline at end of file diff --git a/content/rancher/v2.x/en/admin-settings/rbac/global-permissions/_index.md b/content/rancher/v2.x/en/admin-settings/rbac/global-permissions/_index.md index 51da015a34e..0300bf6d83a 100644 --- a/content/rancher/v2.x/en/admin-settings/rbac/global-permissions/_index.md +++ b/content/rancher/v2.x/en/admin-settings/rbac/global-permissions/_index.md @@ -49,7 +49,8 @@ The following table lists each custom global permission available and whether it | Manage Roles | ✓ | | | Manage Users | ✓ | | | Create Clusters | ✓ | ✓ | -| Use Catalog Templates | ✓ | ✓ | +| Create RKE Templates | ✓ | ✓ | +| Use Catalog Templates | ✓ | ✓ | | Login Access | ✓ | ✓ | > **Notes:** @@ -75,4 +76,4 @@ You can change the default global permissions that are assigned to external user 1. If you want to remove a default permission, edit the permission and select **No** from **New User Default**. -**Result:** The default global permissions are configured based on your changes. Permissions assigned to new users display a check in the **New User Default** column. +**Result:** The default global permissions are configured based on your changes. Permissions assigned to new users display a check in the **New User Default** column. \ No newline at end of file diff --git a/content/rancher/v2.x/en/admin-settings/rke-templates/_index.md b/content/rancher/v2.x/en/admin-settings/rke-templates/_index.md new file mode 100644 index 00000000000..6ebcedc3ac5 --- /dev/null +++ b/content/rancher/v2.x/en/admin-settings/rke-templates/_index.md @@ -0,0 +1,119 @@ +--- +title: RKE Templates +weight: 7010 +--- + +_Available as of Rancher v2.3.0_ + +RKE templates are designed to allow DevOps and security teams to standardize and simplify the creation of Kubernetes clusters. + +RKE is the [Rancher Kubernetes Engine,]({{}}/rke/latest/en/) which is the tool that Rancher uses to provision Kubernetes clusters. + +With Kubernetes increasing in popularity, there is a trend toward managing a larger number of smaller clusters. When you want to create many clusters, it’s more important to manage them consistently. Multi-cluster management comes with challenges to enforcing security and add-on configurations that need to be standardized before turning clusters over to end users. + +RKE templates help standardize these configurations. Regardless of whether clusters are created with the Rancher UI, the Rancher API, or an automated process, Rancher will guarantee that every cluster it provisions from an RKE template is uniform and consistent in the way it is produced. + +Admins control which cluster options can be changed by end users. RKE templates can also be shared with specific users and groups, so that admins can create different RKE templates for different sets of users. + +If a cluster was created with an RKE template, you can't change it to a different RKE template. You can only update the cluster to a new revision of the same template. + +To summarize, RKE templates allow DevOps and security teams to: + +- Standardize cluster configuration and ensure that Rancher-provisioned clusters are created following best practices +- Prevent less technical users from making uninformed choices when provisioning clusters +- Share different templates with different sets of users and groups +- Delegate ownership of templates to users who are trusted to make changes to them +- Control which users can create templates +- Require users to create clusters from a template + +# Configurable Settings + +RKE templates can be created in the Rancher UI or defined in YAML format. They can define all the same parameters that can be specified when you use Rancher to provision custom nodes or nodes from an infrastructure provider: + +- Cloud provider options +- Pod security options +- Network providers +- Ingress controllers +- Network security configuration +- Network plugins +- Private registry URL and credentials +- Add-ons +- Kubernetes options, including configurations for Kubernetes components such as kube-api, kube-controller, kubelet, and services + +The [add-on section](#add-ons) of an RKE template is especially powerful because it allows a wide range of customization options. + +# Scope of RKE Templates + +RKE templates are supported for Rancher-provisioned clusters. The templates can be used to provision custom clusters or clusters that are launched by an infrastructure provider. + +RKE templates are for defining Kubernetes and Rancher settings. Node templates are responsible for configuring nodes. For tips on how to use RKE templates in conjunction with hardware, refer to [RKE Templates and Hardware]({{}}/rancher/v2.x/en/admin-settings/rke-templates/rke-templates-and-hardware). + +RKE templates can be applied to new clusters, but not existing clusters. + +# Example Scenarios +When an organization has both basic and advanced Rancher users, administrators might want to give the advanced users more options for cluster creation, while restricting the options for basic users. + +These [example scenarios]({{}}/rancher/v2.x/en/admin-settings/rke-templates/example-scenarios) describe how an organization could use templates to standardize cluster creation. + +Some of the example scenarios include the following: + +- **Enforcing templates:** Administrators might want to [enforce one or more template settings for everyone]({{}}/rancher/v2.x/en/admin-settings/rke-templates/example-scenarios/#enforcing-a-template-setting-for-everyone) if they want all new Rancher-provisioned clusters to have those settings. +- **Sharing different templates with different users:** Administrators might give [different templates to basic and advanced users,]({{}}/rancher/v2.x/en/admin-settings/rke-templates/example-scenarios/#templates-for-basic-and-advanced-users) so that basic users can have more restricted options and advanced users can have more discretion when creating clusters. +- **Updating template settings:** If an organization's security and DevOps teams decide to embed best practices into the required settings for new clusters, those best practices could change over time. If the best practices change, [a template can be updated to a new revision]({{}}/rancher/v2.x/en/admin-settings/rke-templates/example-scenarios/#updating-templates-and-clusters-created-with-them) and clusters created from the template can upgrade to the new version of the template. +- **Sharing ownership of a template:** When a template owner no longer wants to maintain a template, or wants to share ownership of the template, this scenario describes how [template ownership can be shared.]({{}}/rancher/v2.x/en/admin-settings/rke-templates/example-scenarios/#allowing-other-users-to-control-and-share-a-template) + +# Template Management + +When you create a RKE template, it is available in the Rancher UI from the **Global** view under **Tools > RKE Templates.** When you create a template, you become the template owner, which gives you permission to revise and share the template. You can share the RKE templates with specific users or groups, and you can also make it public. + +Administrators can turn on template enforcement to require users to always use RKE templates when creating a cluster. This allows administrators to guarantee that Rancher always provisions clusters with specific settings. + +RKE template updates are handled through a revision system. If you want to change or update a template, you create a new revision of the template. Then a cluster that was created with the older version of the template can be upgraded to the new template revision. + +In an RKE template, settings can be restricted to what the template owner chooses, or they can be open for the end user to select the value. The difference is indicated by the **Allow User Override** toggle over each setting in the Rancher UI when the template is created. + +For the settings that cannot be overridden, the end user will not be able to directly edit them. In order for a user to get different options of these settings, an RKE template owner would need to create a new revision of the RKE template, which would allow the user to upgrade and change that option. + +The documents in this section explain the details of RKE template management: + +- [Getting permission to create templates]({{}}/rancher/v2.x/en/admin-settings/rke-templates/creator-permissions/) +- [Creating and revising templates]({{}}/rancher/v2.x/en/admin-settings/rke-templates/creating-and-revising/) +- [Enforcing template settings]({{}}/rancher/v2.x/en/admin-settings/rke-templates/enforcement/#requiring-new-clusters-to-use-a-cluster-template) +- [Overriding template settings]({{}}/rancher/v2.x/en/admin-settings/rke-templates/overrides/) +- [Sharing templates with cluster creators]({{}}/rancher/v2.x/en/admin-settings/rke-templates/template-access-and-sharing/#sharing-templates-with-specific-users) +- [Sharing ownership of a template]({{}}/rancher/v2.x/en/admin-settings/rke-templates/template-access-and-sharing/#sharing-ownership-of-templates) + +An [example YAML configuration file for a template]({{}}/rancher/v2.x/en/admin-settings/rke-templates/example-yaml) is provided for reference. + +# Applying Templates + +You can [create a cluster from a template]({{}}/rancher/v2.x/en/admin-settings/rke-templates/applying-templates/#creating-a-cluster-from-a-cluster-template) that you created, or from a template that has been [shared with you.]({{}}/rancher/v2.x/en/admin-settings/rke-templates/template-access-and-sharing) + +If the RKE template owner creates a new revision of the template, you can [upgrade your cluster to that revision.]({{}}/rancher/v2.x/en/admin-settings/rke-templates/applying-templates/#updating-a-cluster-created-with-an-rke-template) + +RKE templates can only be applied to new clusters, not existing clusters. + +# Standardizing Hardware +RKE templates are designed to standardize Kubernetes and Rancher settings. If you want to standardize your infrastructure as well, you use RKE templates [in conjuction with other tools]({{}}/rancher/v2.x/en/admin-settings/rke-templates/rke-templates-and-hardware). + +# YAML Customization + +If you define an RKE template as a YAML file, you can modify this [example RKE template YAML]({{}}/rancher/v2.x/en/admin-settings/rke-templates/example-yaml). The YAML in the RKE template uses the same customization that Rancher uses when creating an RKE cluster, but since the YAML is located within the context of a Rancher provisioned cluster, you will need to nest the RKE template customization under the `rancher_kubernetes_engine_config` directive in the YAML. + +The RKE documentation also has [annotated]({{}}/rke/latest/en/example-yamls/) `cluster.yml` files that you can use for reference. + +For guidance on available options, refer to the RKE documentation on [cluster configuration.]({{}}/rke/latest/en/config-options/) + +### Add-ons + +The add-on section of the RKE template configuration file works the same way as the [add-on section of a cluster configuration file]({{}}/rke/latest/en/config-options/add-ons/). + +The user-defined add-ons directive allows you to either call out and pull down Kubernetes manifests or put them inline directly. If you include these manifests as part of your RKE template, Rancher will provision those in the cluster. + +Some things you could do with add-ons include: + +- Install applications on the Kubernetes cluster after it starts +- Install plugins on nodes that are deployed with a Kubernetes daemonset +- Automatically set up namespaces, service accounts, or role binding + +The RKE template configuration must be nested within the `rancher_kubernetes_engine_config` directive. To set add-ons, when creating the template, you will click **Edit as YAML.** Then use the `addons` directive to add a manifest, or the `addons_include` directive to set which YAML files are used for the add-ons. For more information on custom add-ons, refer to the [user-defined add-ons documentation.]({{}}/rke/latest/en/config-options/add-ons/user-defined-add-ons/) diff --git a/content/rancher/v2.x/en/admin-settings/rke-templates/applying-templates/_index.md b/content/rancher/v2.x/en/admin-settings/rke-templates/applying-templates/_index.md new file mode 100644 index 00000000000..68a5a8d29a5 --- /dev/null +++ b/content/rancher/v2.x/en/admin-settings/rke-templates/applying-templates/_index.md @@ -0,0 +1,33 @@ +--- +title: Applying Templates +weight: 50 +--- + +You can create a cluster from an RKE template that you created, or from a template that has been [shared with you.]({{}}/rancher/v2.x/en/admin-settings/rke-templates/template-access-and-sharing) + +RKE templates can only be applied to new clusters, not existing clusters. + +You can't change the cluster to use a different RKE template. You can only update the cluster to a new revision of the same template. + +### Creating a Cluster from an RKE Template + +To add a cluster [hosted by an infrastructure provider]({{}}/rancher/v2.x/en/cluster-provisioning/rke-clusters) using an RKE template, use these steps: + +1. From the **Global** view, go to the **Clusters** tab. +1. Click **Add Cluster** and choose the infrastructure provider. +1. Provide the cluster name and node template details as usual. +1. To use an RKE template, under the **Cluster Options**, check the box for **Use an existing RKE template and revision.** +1. Choose an existing template and revision from the dropdown menu. +1. Optional: You can edit any settings that the RKE template owner marked as **Allow User Override** when the template was created. If there are settings that you want to change, but don't have the option to, you will need to contact the template owner to get a new revision of the template. Then you will need to edit the cluster to upgrade it to the new revision. +1. Click **Save** to launch the cluster. + +### Updating a Cluster Created with an RKE Template + +When the template owner creates a template, each setting has a switch in the Rancher UI that indicates if users can override the setting. + +- If the setting allows a user override, you can update these settings in the cluster by [editing the cluster.]({{}}/rancher/v2.x/en/cluster-admin/editing-clusters/) +- If the switch is turned off, you cannot change these settings unless the cluster owner creates a template revision that lets you override them. If there are settings that you want to change, but don't have the option to, you will need to contact the template owner to get a new revision of the template. + +If a cluster was created from an RKE template, you can edit the cluster to update the cluster to a new revision of the template. + +> **Note:** You can't change the cluster to use a different RKE template. You can only update the cluster to a new revision of the same template. diff --git a/content/rancher/v2.x/en/admin-settings/rke-templates/creating-and-revising/_index.md b/content/rancher/v2.x/en/admin-settings/rke-templates/creating-and-revising/_index.md new file mode 100644 index 00000000000..983aa6bc4f6 --- /dev/null +++ b/content/rancher/v2.x/en/admin-settings/rke-templates/creating-and-revising/_index.md @@ -0,0 +1,115 @@ +--- +title: Creating and Revising Templates +weight: 32 +--- + +This section describes how to manage RKE templates and revisions. You an create, share, update, and delete templates from the **Global** view under **Tools > RKE Templates.** + +Template updates are handled through a revision system. When template owners want to change or update a template, they create a new revision of the template. Individual revisions cannot be edited. However, if you want to prevent a revision from being used to create a new cluster, you can disable it. + +Template revisions can be used in two ways: to create a new cluster, or to upgrade a cluster that was created with an earlier version of the template. The template creator can choose a default revision, but when end users create a cluster, they can choose any template and any template revision that is available to them. After the cluster is created from a specific revision, it cannot change to another template, but the cluster can be upgraded to another available revision of the same template. + +The template owner has full control over template revisions, and can create new revisions to update the template, delete or disable revisions that should not be used to create clusters, and choose which template revision is the default. + +### Prerequisites + +You can create RKE templates if you have the **Create RKE Templates** permission, which can be [given by an administrator.]({{}}/rancher/v2.x/en/admin-settings/rke-templates/creator-permissions) + +You can revise, share, and delete a template if you are an owner of the template. For details on how to become an owner of a template, refer to [the documentation on sharing template ownership.]({{}}/rancher/v2.x/en/admin-settings/rke-templates/template-access-and-sharing/#sharing-ownership-of-templates) + +### Creating a Template + +1. From the **Global** view, click **Tools > RKE Templates.** +1. Click **Add Template.** +1. Provide a name for the template. An auto-generated name is already provided for the template' first version, which is created along with this template. +1. Optional: Share the template with other users or groups by [adding them as members.]({{}}/rancher/v2.x/en/admin-settings/rke-templates/template-access-and-sharing/#sharing-templates-with-specific-users) You can also make the template public to share with everyone in the Rancher setup. +1. Then follow the form on screen to save the cluster configuration parameters as part of the template's revision. The revision can be marked as default for this template. + +**Result:** An RKE template with one revision is configured. You can use this RKE template revision later when you [provision a Rancher-launched cluster]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/rke-clusters). + +### Updating a Template + +When you update an RKE template, you are creating a revision of the existing template. Clusters that were created with an older version of the template can be updated to match the new revision. + +You can't edit individual revisions. Since you can't edit individual revisions of a template, in order to prevent a revision from being used, you can [disable it.](#disabling-a-template-revision) + +New template revisions can be created without affecting clusters already using a revision of the template. + +1. From the **Global** view, click **Tools > RKE Templates.** +1. Go to the template that you want to edit and click the **Vertical Ellipsis (...) > Edit.** +1. Edit the required information and click **Save.** +1. Optional: You can change the default revision of this template and also change who it is shared with. + +**Result:** The template is updated. + +### Deleting a Template + +When you no longer use an RKE template for any of your clusters, you can delete it. + +1. From the **Global** view, click **Tools > RKE Templates.** +1. Go to the RKE template that you want to delete and click the **Vertical Ellipsis (...) > Delete.** +1. Confirm the deletion when prompted. + +**Result:** The template is deleted. + +### Creating a Revision Based on the Default Revision + +You can clone the default template revision and quickly update its settings rather than creating a new revision from scratch. Cloning templates saves you the hassle of re-entering the access keys and other parameters needed for cluster creation. + +1. From the **Global** view, click **Tools > RKE Templates.** +1. Go to the RKE template that you want to clone and click the **Vertical Ellipsis (...) > New Revision From Default.** +1. Complete the rest of the form to create a new revision. + +**Result:** The RKE template revision is cloned and configured. + +### Creating a Revision Based on a Cloned Revision + +When creating new RKE template revisions from your user settings, you can clone an existing revision and quickly update its settings rather than creating a new one from scratch. Cloning template revisions saves you the hassle of re-entering the cluster parameters. + +1. From the **Global** view, click **Tools > RKE Templates.** +1. Go to the template revision you want to clone. Then select **Ellipsis > Clone Revision.** +1. Complete the rest of the form. + +**Result:** The RKE template revision is cloned and configured. You can use the RKE template revision later when you provision a cluster. Any existing cluster using this RKE template can be upgraded to this new revision. + +### Disabling a Template Revision + +When you no longer want an RKE template revision to be used for creating new clusters, you can disable it. A disabled revision can be re-enabled. + +You can disable the revision if it is not being used by any cluster. + +1. From the **Global** view, click **Tools > RKE Templates.** +1. Go to the template revision you want to disable. Then select **Ellipsis > Disable.** + +**Result:** The RKE template revision cannot be used to create a new cluster. + +### Re-enabling a Disabled Template Revision + +If you decide that a disabled RKE template revision should be used to create new clusters, you can re-enable it. + +1. From the **Global** view, click **Tools > RKE Templates.** +1. Go to the template revision you want to re-enable. Then select **Ellipsis > Enable.** + +**Result:** The RKE template revision can be used to create a new cluster. + +### Setting a Template Revision as Default + +When end users create a cluster using an RKE template, they can choose which revision to create the cluster with. You can configure which revision is used by default. + +To set an RKE template revision as default, + +1. From the **Global** view, click **Tools > RKE Templates.** +1. Go to the RKE template revision that should be default and click the **Ellipsis (...) > Set as Default.** + +**Result:** The RKE template revision will be used as the default option when clusters are created with the template. + +### Deleting a Template Revision + +You can delete all revisions of a template except for the default revision. + +To permanently delete a revision, + +1. From the **Global** view, click **Tools > RKE Templates.** +1. Go to the RKE template revision that should be deleted and click the **Ellipsis (...) > Delete.** + +**Result:** The RKE template revision is deleted. \ No newline at end of file diff --git a/content/rancher/v2.x/en/admin-settings/rke-templates/creator-permissions/_index.md b/content/rancher/v2.x/en/admin-settings/rke-templates/creator-permissions/_index.md new file mode 100644 index 00000000000..30b58bebd98 --- /dev/null +++ b/content/rancher/v2.x/en/admin-settings/rke-templates/creator-permissions/_index.md @@ -0,0 +1,50 @@ +--- +title: Template Creator Permissions +weight: 10 +--- + +Administrators have the permission to create RKE templates, and only administrators can give that permission to other users. + +For more information on administrator permissions, refer to the [documentation on global permissions]({{}}/rancher/v2.x/en/admin-settings/rbac/global-permissions/). + +# Giving Users Permission to Create Templates + +Templates can only be created by users who have the global permission **Create RKE Templates.** + +Administrators have the global permission to create templates, and only administrators can give that permission to other users. + +For information on allowing users to modify existing templates, refer to [Sharing Templates.]({{}}/rancher/v2.x/en/admin-settings/rke-templates/template-access-and-sharing) + +Administrators can give users permission to create RKE templates in two ways: + +- By editing the permissions of an [individual user](#allowing-a-user-to-create-templates) +- By changing the [default permissions of new users](#allowing-new-users-to-create-templates-by-default) + +### Allowing a User to Create Templates + +An administrator can individually grant the role **Create RKE Templates** to any existing user by following these steps: + +1. From the global view, click the **Users** tab. Choose the user you want to edit and click the **Vertical Ellipsis (...) > Edit.** +1. In the **Global Permissions** section, choose **Custom** and select the **Create RKE Templates** role along with any other roles the user should have. Click **Save.** + +**Result:** The user has permission to create RKE templates. + +### Allowing New Users to Create Templates by Default + +Alternatively, the administrator can give all new users the default permission to create RKE templates by following the following steps. This will not affect the permissions of existing users. + +1. From the **Global** view, click **Security > Roles.** +1. Under the **Global** roles tab, go to the role **Create RKE Templates** and click the **Vertical Ellipsis (...) > Edit**. +1. Select the option **Yes: Default role for new users** and click **Save.** + +**Result:** Any new user created in this Rancher installation will be able to create RKE templates. Existing users will not get this permission. + +### Revoking Permission to Create Templates + +Administrators can remove a user's permission to create templates with the following steps: + +1. From the global view, click the **Users** tab. Choose the user you want to edit and click the **Vertical Ellipsis (...) > Edit.** +1. In the **Global Permissions** section, un-check the box for **Create RKE Templates**. In this section, you can change the user back to a standard user, or give the user a different set of custom permissions. +1. Click **Save.** + +**Result:** The user cannot create RKE templates. \ No newline at end of file diff --git a/content/rancher/v2.x/en/admin-settings/rke-templates/enforcement/_index.md b/content/rancher/v2.x/en/admin-settings/rke-templates/enforcement/_index.md new file mode 100644 index 00000000000..eccaf4c283f --- /dev/null +++ b/content/rancher/v2.x/en/admin-settings/rke-templates/enforcement/_index.md @@ -0,0 +1,38 @@ +--- +title: Template Enforcement +weight: 32 +--- + +This section describes how template administrators can enforce templates in Rancher, restricting the ability of users to create clusters without a template. + +By default, any standard user in Rancher can create clusters. But when RKE template enforcement is turned on, + +- Only an administrator has the ability to create clusters without a template. +- All standard users must use an RKE template to create a new cluster. +- Standard users cannot create a cluster without using a template. + +Users can only create new templates if the administrator [gives them permission.]({{}}/rancher/v2.x/en/admin-settings/rke-templates/creator-permissions/#allowing-a-user-to-create-templates) + +After a cluster is created with an RKE template, the cluster creator cannot edit settings that are defined in the template. The only way to change those settings after the cluster is created is to [upgrade the cluster to a new revision]({{}}/rancher/v2.x/en/admin-settings/rke-templates/applying-templates/#updating-a-cluster-created-with-an-rke-template) of the same template. If cluster creators want to change template-defined settings, they would need to contact the template owner to get a new revision of the template. For details on how template revisions work, refer to the [documentation on revising templates.]({{}}/rancher/v2.x/en/admin-settings/rke-templates/creating-and-revising/#updating-a-template) + +# Requiring New Clusters to Use an RKE Template + +You might want to require new clusters to use a template to ensure that any cluster launched by a [standard user]({{}}/rancher/v2.x/en/admin-settings/rbac/global-permissions/) will use the Kubernetes and/or Rancher settings that are vetted by administrators. + +To require new clusters to use an RKE template, administrators can turn on RKE template enforcement with the following steps: + +1. From the **Global** view, click the **Settings** tab. +1. Go to the `rke-template-enforcement` setting. Click the vertical **Ellipsis (...)** and click **Edit.** +1. Set the value to **True** and click **Save.** + +**Result:** All clusters provisioned by Rancher must use a template, unless the creator is an administrator. + +# Disabling RKE Template Enforcement + +To allow new clusters to be created without an RKE template, administrators can turn off RKE template enforcement with the following steps: + +1. From the **Global** view, click the **Settings** tab. +1. Go to the `rke-template-enforcement` setting. Click the vertical **Ellipsis (...)** and click **Edit.** +1. Set the value to **False** and click **Save.** + +**Result:** When clusters are provisioned by Rancher, they don't need to use a template. \ No newline at end of file diff --git a/content/rancher/v2.x/en/admin-settings/rke-templates/example-scenarios/_index.md b/content/rancher/v2.x/en/admin-settings/rke-templates/example-scenarios/_index.md new file mode 100644 index 00000000000..cbc398d7424 --- /dev/null +++ b/content/rancher/v2.x/en/admin-settings/rke-templates/example-scenarios/_index.md @@ -0,0 +1,71 @@ +--- +title: Example Scenarios +weight: 5 +--- + +These example scenarios describe how an organization could use templates to standardize cluster creation. + +- **Enforcing templates:** Administrators might want to [enforce one or more template settings for everyone](#enforcing-a-template-setting-for-everyone) if they want all new Rancher-provisioned clusters to have those settings. +- **Sharing different templates with different users:** Administrators might give [different templates to basic and advanced users,](#templates-for-basic-and-advanced-users) so that basic users have more restricted options and advanced users have more discretion when creating clusters. +- **Updating template settings:** If an organization's security and DevOps teams decide to embed best practices into the required settings for new clusters, those best practices could change over time. If the best practices change, [a template can be updated to a new revision](#updating-templates-and-clusters-created-with-them) and clusters created from the template can upgrade to the new version of the template. +- **Sharing ownership of a template:** When a template owner no longer wants to maintain a template, or wants to delegate ownership of the template, this scenario describes how [template ownership can be shared.](#allowing-other-users-to-control-and-share-a-template) + + +# Enforcing a Template Setting for Everyone + +Let's say there is an organization in which the administrators decide that all new clusters should be created with Kubernetes version 1.14. + +1. First, an administrator creates a template which specifies the Kubernetes version as 1.14 and marks all other settings as **Allow User Override**. +1. The administrator makes the template public. +1. The administrator turns on template enforcement. + +**Results:** + +- All Rancher users in the organization have access to the template. +- All new clusters created by [standard users]({{}}/rancher/v2.x/en/admin-settings/rbac/global-permissions/) with this template will use Kubernetes 1.14 and they are unable to use a different Kubernetes version. By default, standard users don't have permission to create templates, so this template will be the only template they can use unless more templates are shared with them. +- All standard users must use a cluster template to create a new cluster. They cannot create a cluster without using a template. + +In this way, the administrators enforce the Kubernetes version across the organization, while still allowing end users to configure everything else. + +# Templates for Basic and Advanced Users + +Let's say an organization has both basic and advanced users. Adminstrators want the basic users to be required to use a template, while the advanced users and administrators create their clusters however they want. + +1. First, an administrator turns on [RKE template enforcement.]({{}}/rancher/v2.x/en/admin-settings/rke-templates/enforcement/#requiring-new-clusters-to-use-a-cluster-template) This means that every [standard user]({{}}/rancher/v2.x/en/admin-settings/rbac/global-permissions/) in Rancher will need to use an RKE template when they create a cluster. +1. The administrator then creates two templates: + + - One template for basic users, with almost every option specified except for access keys + - One template for advanced users, which has most or all options has **Allow User Override** turned on + +1. The administrator shares the advanced template with only the advanced users. +1. The administrator makes the template for basic users public, so the more restrictive template is an option for everyone who creates a Rancher-provisioned cluster. + +**Result:** All Rancher users, except for administrators, are required to use a template when creating a cluster. Everyone has access to the restrictive template, but only advanced users have permission to use the more permissive template. The basic users are more restricted, while advanced users have more freedom when configuring their Kubernetes clusters. + +# Updating Templates and Clusters Created with Them + +Let's say an organization has a template that requires clusters to use Kubernetes v1.14. However, as time goes on, the adminstrators change their minds. They decide they want users to be able to upgrade their clusters to use newer versions of Kubernetes. + +In this organization, many clusters were created with a template that requires Kubernetes v1.14. Because the template does not allow that setting to be overridden, the users who created the cluster cannot directly edit that setting. + +The template owner has several options for allowing the cluster creators to upgrade Kubernetes on their clusters: + +- **Specify Kubernetes v1.15 on the template:** The template owner can create a new template revision that specifies Kubernetes v1.15. Then the owner of each cluster that uses that template can upgrade their cluster to a new revision of the template. This template upgrade allows the cluster creator to upgrade Kubernetes to v1.15 on their cluster. +- **Allow any Kubernetes version on the template:** When creating a template revision, the template owner can also mark the the Kubernetes version as **Allow User Override** using the switch near that setting on the Rancher UI. This will allow clusters that upgrade to this template revision to use any version of Kubernetes. +- **Allow the latest minor Kubernetes version on the template:** The template owner can also create a template revision in which the Kubernetes version is defined as **Latest v1.14 (Allows patch version upgrades).** This means clusters that use that revision will be able to get patch version upgrades, but major version upgrades will not be allowed. + +# Allowing Other Users to Control and Share a Template + +Let's say Alice is a Rancher administrator. She owns an RKE template that reflects her organization's agreed-upon best practices for creating a cluster. + +Bob is an advanced user who can make informed decisions about cluster configuration. Alice trusts Bob to create new revisions of her template as the best practices get updated over time. Therefore, she decides to make Bob an owner of the template. + +To share ownership of the template with Bob, Alice [adds Bob as an owner of her template.]({{}}/rancher/v2.x/en/admin-settings/rke-templates/template-access-and-sharing/#sharing-ownership-of-templates) + +The result is that as a template owner, Bob is in charge of version control for that template. Bob can now do all of the following: + +- [Revise the template]({{}}/rancher/v2.x/en/admin-settings/rke-templates/creating-and-revising/#updating-a-template) when the best practices change +- [Disable outdated revisions]({{}}/rancher/v2.x/en/admin-settings/rke-templates/creating-and-revising/#disabling-a-template-revision) of the template so that no new clusters can be created with it +- [Delete the whole template]({{}}/rancher/v2.x/en/admin-settings/rke-templates/creating-and-revising/#deleting-a-template) if the organization wants to go in a different direction +- [Set a certain revision as default]({{}}/rancher/v2.x/en/admin-settings/rke-templates/creating-and-revising/#setting-a-template-revision-as-default) when users create a cluster with it. End users of the template will still be able to choose which revision they want to create the cluster with. +- [Share the template]({{}}/rancher/v2.x/en/admin-settings/rke-templates/template-access-and-sharing) with specific users, make the template available to all Rancher users, or share ownership of the template with another user. \ No newline at end of file diff --git a/content/rancher/v2.x/en/admin-settings/rke-templates/example-yaml/_index.md b/content/rancher/v2.x/en/admin-settings/rke-templates/example-yaml/_index.md new file mode 100644 index 00000000000..4fbe8a08a3c --- /dev/null +++ b/content/rancher/v2.x/en/admin-settings/rke-templates/example-yaml/_index.md @@ -0,0 +1,99 @@ +--- +title: Example YAML +weight: 60 +--- + +Below is an example RKE template configuration file for reference. + +The YAML in the RKE template uses the same customization that is used when you create an RKE cluster. However, since the YAML is within the context of a Rancher provisioned RKE cluster, the customization from the RKE docs needs to be nested under the `rancher_kubernetes_engine` directive. + +```yaml +# +# Cluster Config +# +docker_root_dir: /var/lib/docker +enable_cluster_alerting: false +enable_cluster_monitoring: false +enable_network_policy: false +local_cluster_auth_endpoint: + enabled: true +# +# Rancher Config +# +rancher_kubernetes_engine_config: # Your RKE template config goes here. + addon_job_timeout: 30 + authentication: + strategy: x509 + ignore_docker_version: true +# +# # Currently only nginx ingress provider is supported. +# # To disable ingress controller, set `provider: none` +# # To enable ingress on specific nodes, use the node_selector, eg: +# provider: nginx +# node_selector: +# app: ingress +# + ingress: + provider: nginx + kubernetes_version: v1.15.3-rancher3-1 + monitoring: + provider: metrics-server +# +# If you are using calico on AWS +# +# network: +# plugin: calico +# calico_network_provider: +# cloud_provider: aws +# +# # To specify flannel interface +# +# network: +# plugin: flannel +# flannel_network_provider: +# iface: eth1 +# +# # To specify flannel interface for canal plugin +# +# network: +# plugin: canal +# canal_network_provider: +# iface: eth1 +# + network: + options: + flannel_backend_type: vxlan + plugin: canal +# +# services: +# kube-api: +# service_cluster_ip_range: 10.43.0.0/16 +# kube-controller: +# cluster_cidr: 10.42.0.0/16 +# service_cluster_ip_range: 10.43.0.0/16 +# kubelet: +# cluster_domain: cluster.local +# cluster_dns_server: 10.43.0.10 +# + services: + etcd: + backup_config: + enabled: true + interval_hours: 12 + retention: 6 + safe_timestamp: false + creation: 12h + extra_args: + election-timeout: 5000 + heartbeat-interval: 500 + gid: 0 + retention: 72h + snapshot: false + uid: 0 + kube_api: + always_pull_images: false + pod_security_policy: false + service_node_port_range: 30000-32767 + ssh_agent_auth: false +windows_prefered_cluster: false +``` \ No newline at end of file diff --git a/content/rancher/v2.x/en/admin-settings/rke-templates/overrides/_index.md b/content/rancher/v2.x/en/admin-settings/rke-templates/overrides/_index.md new file mode 100644 index 00000000000..bb5f00d4b9e --- /dev/null +++ b/content/rancher/v2.x/en/admin-settings/rke-templates/overrides/_index.md @@ -0,0 +1,15 @@ +--- +title: Overriding Template Settings +weight: 33 +--- + +When a user creates an RKE template, each setting in the template has a switch in the Rancher UI that indicates if users can override the setting. This switch marks those settings as **Allow User Override.** + +After a cluster is created with a template, end users can't update any of the settings defined in the template unless the template owner marked them as **Allow User Override.** However, if the template is [updated to a new revision]({{}}/rancher/v2.x/en/admin-settings/rke-templates/creating-and-revising) that changes the settings or allows end users to change them, the cluster can be upgraded to a new revision of the template and the changes in the new revision will be applied to the cluster. + +When any parameter is set as **Allow User Override** on the RKE template, it means that end users have to fill out those fields during cluster creation and they can edit those settings afterward at any time. + +The **Allow User Override** model of the RKE template is useful for situations such as: + +- Administrators know that some settings will need the flexibility to be frequently updated over time +- End users will need to enter their own access keys or secret keys, for example, cloud credentials or credentials for backup snapshots \ No newline at end of file diff --git a/content/rancher/v2.x/en/admin-settings/rke-templates/rke-templates-and-hardware/_index.md b/content/rancher/v2.x/en/admin-settings/rke-templates/rke-templates-and-hardware/_index.md new file mode 100644 index 00000000000..67ca181a964 --- /dev/null +++ b/content/rancher/v2.x/en/admin-settings/rke-templates/rke-templates-and-hardware/_index.md @@ -0,0 +1,70 @@ +--- +title: RKE Templates and Infrastructure +weight: 90 +--- + +In Rancher, RKE templates are used to provision Kubernetes and define Rancher settings, while node templates are used to provision nodes. + +Therefore, even if RKE template enforcement is turned on, the end user still has flexibility when picking the underlying hardware when creating a Rancher cluster. The end users of an RKE template can still choose an infrastructure provider and the nodes they want to use. + +If you want to standardize the hardware in your clusters, use RKE templates conjunction with node templates or with a server provisioning tool such as Terraform. + +### Node Templates + +[Node templates]({{}}/rancher/v2.x/en/user-settings/node-templates) are responsible for node configuration and node provisioning in Rancher. From your user profile, you can set up node templates to define which templates are used in each of your node pools. With node pools enabled, you can make sure you have the required number of nodes in each node pool, and ensure that all nodes in the pool are the same. + +### Terraform + +Terraform is a server provisioning tool. It uses infrastructure-as-code that lets you create almost every aspect of your infrastructure with Terraform configuration files. It can automate the process of server provisioning in a way that is self-documenting and easy to track in version control. + +This section focuses on how to use Terraform with the [Rancher 2 Terraform provider](https://www.terraform.io/docs/providers/rancher2/), which is a recommended option to standardize the hardware for your Kubernetes clusters. If you use the Rancher Terraform provider to provision hardware, and then use an RKE template to provision a Kubernetes cluster on that hardware, you can quickly create a comprehensive, production-ready cluster. + +Terraform allows you to: + +- Define almost any kind of infrastructure-as-code, including servers, databases, load balancers, monitoring, firewall settings, and SSL certificates +- Leverage catalog apps and multi-cluster apps +- Codify infrastructure across many platforms, including Rancher and major cloud providers +- Commit infrastructure-as-code to version control +- Easily repeat configuration and setup of infrastructure +- Incorporate infrastructure changes into standard development practices +- Prevent configuration drift, in which some servers become configured differently than others + +# How Does Terraform Work? + +Terraform is written in files with the extension `.tf`. It is written in HashiCorp Configuration Language, which is a declarative language that lets you define the infrastructure you want in your cluster, the cloud provider you are using, and your credentials for the provider. Then Terraform makes API calls to the provider in order to efficiently create that infrastructure. + +To create a Rancher-provisioned cluster with Terraform, go to your Terraform configuration file and define the provider as Rancher 2. You can set up your Rancher 2 provider with a Rancher API key. Note: The API key has the same permissions and access level as the user it is associated with. + +Then Terraform calls the Rancher API to provision your infrastructure, and Rancher calls the infrastructure provider. As an example, if you wanted to use Rancher to provision infrastructure on AWS, you would provide both your Rancher API key and your AWS credentials in the Terraform configuration file or in environment variables so that they could be used to provision the infrastructure. + +When you need to make changes to your infrastructure, instead of manually updating the servers, you can make changes in the Terraform configuration files. Then those files can be committed to version control, validated, and reviewed as necessary. Then when you run `terraform apply`, the changes would be deployed. + +# Tips for Working with Terraform + +- There are examples of how to provide most aspects of a cluster in the [documentation for the Rancher 2 provider.](https://www.terraform.io/docs/providers/rancher2/) + +- In the Terraform settings, you can install Docker Machine by using the Docker Machine node driver. + +- You can also modify auth in the Terraform provider. + +- You can reverse engineer how to do define a setting in Terraform by changing the setting in Rancher, then going back and checking your Terraform state file to see how it maps to the current state of your infrastructure. + +- If you want to manage Kubernetes cluster settings, Rancher settings, and hardware settings all in one place, use [Terraform modules](https://github.com/rancher/terraform-modules). You can pass a cluster configuration YAML file or an RKE template configuration file to a Terraform module so that the Terraform module will create it. In that case, you could use your infrastructure-as-code to manage the version control and revision history of both your Kubernetes cluster and its underlying hardware. + +# Tip for Creating CIS Benchmark Compliant Clusters + +This section describes one way that you can make security and compliance-related config files standard in your clusters. + +When you create a [CIS benchmark compliant cluster,]({{}}/rancher/v2.x/en/security/) you have an encryption config file and an audit log config file. + +Your infrastructure provisioning system can write those files to disk. Then in your RKE template, you would specify where those files will be, then add your encryption config file and audit log config file as extra mounts to the `kube-api-server`. + +Then you would make sure that the `kube-api-server` flag in your RKE template uses your CIS-compliant config files. + +In this way, you can create flags that comply with the CIS benchmark. + +# Resources + +- [Terraform documentation](https://www.terraform.io/docs/) +- [Rancher2 Terraform provider documentation](https://www.terraform.io/docs/providers/rancher2/) +- [The RanchCast - Episode 1: Rancher 2 Terraform Provider](https://youtu.be/YNCq-prI8-8): In this demo, Director of Community Jason van Brackel walks through using the Rancher 2 Terraform Provider to provision nodes and create a custom cluster. \ No newline at end of file diff --git a/content/rancher/v2.x/en/admin-settings/rke-templates/template-access-and-sharing/_index.md b/content/rancher/v2.x/en/admin-settings/rke-templates/template-access-and-sharing/_index.md new file mode 100644 index 00000000000..a86d8219a85 --- /dev/null +++ b/content/rancher/v2.x/en/admin-settings/rke-templates/template-access-and-sharing/_index.md @@ -0,0 +1,61 @@ +--- +title: Access and Sharing +weight: 31 +--- + +If you are an RKE template owner, you can share it with users or groups of users, who can then use the template to create clusters. + +Since RKE templates are specifically shared with users and groups, owners can share different RKE templates with different sets of users. + +When you share a template, each user can have one of two access levels: + +- **Owner:** This user can update, delete, and share the templates that they own. The owner can also share the template with other users. +- **User:** These users can create clusters using the template. They can also upgrade those clusters to new revisions of the same template. When you share a template as **Make Public (read-only),** all users in your Rancher setup have the User access level for the template. + +If you create a template, you automatically become an owner of that template. + +If you want to delegate responsibility for updating the template, you can share ownership of the template. For details on how owners can modify templates, refer to the [documentation about revising templates.]({{}}/rancher/v2.x/en/admin-settings/rke-templates/creating-and-revising) + +There are several ways to share templates: + +- Add users to a new RKE template during template creation +- Add users to an existing RKE template +- Make the RKE template public, sharing it with all users in the Rancher setup +- Share template ownership with users who are trusted to modify the template + +### Sharing Templates with Specific Users or Groups + +To allow users or groups to create clusters using your template, you can give them the basic **User** access level for the template. + +1. From the **Global** view, click **Tools > RKE Templates.** +1. Go to the template that you want to share and click the **Vertical Ellipsis (...) > Edit.** +1. In the **Share Template** section, click on **Add Member**. +1. Search in the **Name** field for the user or group you want to share the template with. +1. Choose the **User** access type. +1. Click **Save.** + +**Result:** The user or group can create clusters using the template. + +### Sharing Templates with All Users + +1. From the **Global** view, click **Tools > RKE Templates.** +1. Go to the template that you want to share and click the **Vertical Ellipsis (...) > Edit.** +1. Under **Share Template,** click **Make Public (read-only).** Then click **Save.** + +**Result:** All users in the Rancher setup can create clusters using the template. + +### Sharing Ownership of Templates + +If you are the creator of a template, you might want to delegate responsibility for maintaining and updating a template to another user or group. + +In that case, you can give users the Owner access type, which allows another user to update your template, delete it, or share access to it with other users. + +To give Owner access to a user or group, + +1. From the **Global** view, click **Tools > RKE Templates.** +1. Go to the RKE template that you want to share and click the **Vertical Ellipsis (...) > Edit.** +1. Under **Share Template**, click on **Add Member** and search in the **Name** field for the user or group you want to share the template with. +1. In the **Access Type** field, click **Owner.** +1. Click **Save.** + +**Result:** The user or group has the Owner access type, and can modify, share, or delete the template. \ No newline at end of file diff --git a/content/rancher/v2.x/en/backups/backups/ha-backups/_index.md b/content/rancher/v2.x/en/backups/backups/ha-backups/_index.md index aa388b7b843..8a3afe7207f 100644 --- a/content/rancher/v2.x/en/backups/backups/ha-backups/_index.md +++ b/content/rancher/v2.x/en/backups/backups/ha-backups/_index.md @@ -61,6 +61,7 @@ To take recurring snapshots, enable the `etcd-snapshot` service, which is a serv access_key: "myaccesskey" secret_key: "myaccesssecret" bucket_name: "my-backup-bucket" + folder: "folder-name" # Available as of v2.3.0 endpoint: "s3.eu-west-1.amazonaws.com" region: "eu-west-1" ``` @@ -112,7 +113,8 @@ _Available as of RKE v0.2.0_ ```shell rke etcd snapshot-save --config rancher-cluster.yml --name snapshot-name \ --s3 --access-key S3_ACCESS_KEY --secret-key S3_SECRET_KEY \ - --bucket-name s3-bucket-name --s3-endpoint s3.amazonaws.com + --bucket-name s3-bucket-name --s3-endpoint s3.amazonaws.com \ + --folder folder-name # Available as of v2.3.0 ``` **Result:** RKE takes a snapshot of `etcd` running on each `etcd` node. The file is saved to `/opt/rke/etcd-snapshots`. It is also uploaded to the S3 compatible backend. diff --git a/content/rancher/v2.x/en/backups/restorations/ha-restoration/_index.md b/content/rancher/v2.x/en/backups/restorations/ha-restoration/_index.md index b3f757d8600..09d2753d674 100644 --- a/content/rancher/v2.x/en/backups/restorations/ha-restoration/_index.md +++ b/content/rancher/v2.x/en/backups/restorations/ha-restoration/_index.md @@ -115,7 +115,8 @@ When restoring etcd from a snapshot located in an S3 compatible backend, the com ``` $ rke etcd snapshot-restore --config cluster.yml --name snapshot-name \ --s3 --access-key S3_ACCESS_KEY --secret-key S3_SECRET_KEY \ ---bucket-name s3-bucket-name --s3-endpoint s3.amazonaws.com +--bucket-name s3-bucket-name --s3-endpoint s3.amazonaws.com \ +--folder folder-name # Available as of v2.3.0 ``` #### Options for `rke etcd snapshot-restore` @@ -131,6 +132,7 @@ S3 specific options are only available for RKE v0.2.0+. | `--access-key` value | Specify s3 accessKey | *| | `--secret-key` value | Specify s3 secretKey | *| | `--bucket-name` value | Specify s3 bucket name | *| +| `--folder` value | Specify s3 folder in the bucket name _Available as of v2.3.0_ | *| | `--region` value | Specify the s3 bucket location (optional) | *| | `--ssh-agent-auth` | [Use SSH Agent Auth defined by SSH_AUTH_SOCK]({{< baseurl >}}/rke/latest/en/config-options/#ssh-agent) | | | `--ignore-docker-version` | [Disable Docker version check]({{< baseurl >}}/rke/latest/en/config-options/#supported-docker-versions) | diff --git a/content/rancher/v2.x/en/catalog/_index.md b/content/rancher/v2.x/en/catalog/_index.md index c4c1cea18fb..c597a720a90 100644 --- a/content/rancher/v2.x/en/catalog/_index.md +++ b/content/rancher/v2.x/en/catalog/_index.md @@ -151,4 +151,8 @@ _Available as v2.2.0_ When creating applications that span multiple Kubernetes clusters, a Global DNS entry can be created to route traffic to the endpoints in all of the different clusters. An external DNS server will need be programmed to assign a fully qualified domain name (a.k.a FQDN) to your application. Rancher will use the FQDN you provide and the IP addresses where your application is running to program the DNS. Rancher will gather endpoints from all the Kubernetes clusters running your application and program the DNS. -For more information on how to use this feature, see [Global DNS]({{< baseurl >}}/rancher/v2.x/en/catalog/globaldns/). +For more information on how to use this feature, see [Global DNS]({{< baseurl >}}/rancher/v2.x/en/admin-settings/globaldns/). + +## 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. diff --git a/content/rancher/v2.x/en/catalog/custom/creating/_index.md b/content/rancher/v2.x/en/catalog/custom/creating/_index.md index 582cdbce5c0..ed6699953cb 100644 --- a/content/rancher/v2.x/en/catalog/custom/creating/_index.md +++ b/content/rancher/v2.x/en/catalog/custom/creating/_index.md @@ -1,11 +1,11 @@ --- -title: Creating Custom Catalogs +title: Creating Custom Catalogs Apps weight: 4000 aliases: - /rancher/v2.x/en/tasks/global-configuration/catalog/customizing-charts/ --- -Rancher's catalog service requires any custom catalogs to be structured in a specific format for the catalog service to be able to leverage it in Rancher. +Rancher's catalog service requires any custom catalogs to be structured in a specific format for the catalog service to be able to leverage it in Rancher. ## Chart Types @@ -73,9 +73,26 @@ Before you create your own custom catalog, you should have a basic understanding ![questions.yml]({{< baseurl >}}/img/rancher/questions.png) -### Question Variable Reference +### Questions.yml -This reference contains variables that you can use in `questions.yml`. +Inside the `questions.yml`, most of the content will be around the questions to ask the end user, but there are some additional fields that can be set in this file. + +#### Min/Max Rancher versions + +_Available as of v2.3.0_ + +For each chart, you can add the minimum and/or maximum Rancher version, which determines whether or not this chart is available to be deployed from Rancher. + +> **Note:** Even though Rancher release versions are prefixed with a `v`, there is *no* prefix for the release version when using this option. + +``` +rancher_min_version: 2.3.0 +rancher_max_version: 2.3.99 +``` + +#### Question Variable Reference + +This reference contains variables that you can use in `questions.yml` nested under `questions:`. | Variable | Type | Required | Description | | ------------- | ------------- | --- |------------- | diff --git a/content/rancher/v2.x/en/cluster-admin/backing-up-etcd/_index.md b/content/rancher/v2.x/en/cluster-admin/backing-up-etcd/_index.md index a29dda28a3b..02f7324204d 100644 --- a/content/rancher/v2.x/en/cluster-admin/backing-up-etcd/_index.md +++ b/content/rancher/v2.x/en/cluster-admin/backing-up-etcd/_index.md @@ -51,6 +51,14 @@ Rancher supports two different backup targets: By default, the `local` backup target is selected. The benefits of this option is that there is no external configuration. Snapshots are automatically saved locally to the etcd nodes in the [Rancher launched Kubernetes clusters]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/rke-clusters/) in `/opt/rke/etcd-snapshots`. All recurring snapshots are taken at configured intervals. The downside of using the `local` backup target is that if there is a total disaster and _all_ etcd nodes are lost, there is no ability to restore the cluster. +#### Safe Timestamps + +_Available as of v2.3.0_ + +As of v2.2.6, snapshot files are timestamped to simplify processing the files using external tools and scripts, but in some S3 compatible backends, these timestamps were unusable. As of Rancher v2.3.0, the option `safe_timestamp` is added to support compatiable file names. When this flag is set to `true`, all special characters in the snapshot filename timestamp are replaced. + +>>**Note:** This option is not available directly in the UI, and is only available through the `Edit as Yaml` interface. + ### S3 Backup Target The `S3` backup target allows users to configure a S3 compatible backend to store the snapshots. The primary benefit of this option is that if the cluster loses all the etcd nodes, the cluster can still be restored as the snapshots are stored externally. Rancher recommends external targets like `S3` backup, however its configuration requirements do require additional effort that should be considered. @@ -62,6 +70,13 @@ The `S3` backup target allows users to configure a S3 compatible backend to stor |S3 Region Endpoint|S3 regions endpoint for the backup bucket|* | |S3 Access Key|S3 access key with permission to access the backup bucket|*| |S3 Secret Key|S3 secret key with permission to access the backup bucket|*| +| Custom CA Certificate | A custom certificate used to access private S3 backends _Available as of v2.2.5_ || + +#### Using a custom CA certificate for S3 + +_Available as of v2.2.5_ + +The backup snapshot can be stored on a custom `S3` backup like [minio](https://min.io/). If the S3 back end uses a self-signed or custom certificate, provide a custom certificate using the `Custom CA Certificate` option to connect to the S3 backend. # IAM Support for Storing Snapshots in S3 The `S3` backup target supports using IAM authentication to AWS API in addition to using API credentials. An IAM role gives temporary permissions that an application can use when making API calls to S3 storage. To use IAM authentication, the following requirements must be met: diff --git a/content/rancher/v2.x/en/cluster-admin/editing-clusters/_index.md b/content/rancher/v2.x/en/cluster-admin/editing-clusters/_index.md index c047fb9dbdc..206a3779a36 100644 --- a/content/rancher/v2.x/en/cluster-admin/editing-clusters/_index.md +++ b/content/rancher/v2.x/en/cluster-admin/editing-clusters/_index.md @@ -8,7 +8,7 @@ aliases: After you provision a Kubernetes cluster using Rancher, you can still edit options and settings for the cluster. To edit your cluster, open the **Global** view, make sure the **Clusters** tab is selected, and then select **Ellipsis (...) > Edit** for the cluster that you want to edit. To Edit an Existing Cluster -![Edit Cluster]({{< baseurl >}}/img/rancher/edit-cluster.png) +![Edit Cluster]({{}}/img/rancher/edit-cluster.png) The options and settings available for an existing cluster change based on the method that you used to provision it. For example, only clusters [provisioned by RKE]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/rke-clusters/) have **Cluster Options** available for editing. @@ -63,6 +63,8 @@ When editing clusters, clusters that are [launched using RKE]({{< baseurl >}}/ra Following an upgrade to the latest version of Rancher, you can update your existing clusters to use the latest supported version of Kubernetes. Before a new version of Rancher is released, it's tested with the latest versions of Kubernetes to ensure compatibility. +As of Rancher v2.3.0, the Kubernetes metadata feature was added, which allows you to use newer Kubernetes versions as soon as they are released, without upgrading Rancher. For details, refer to the [section on Kubernetes metadata.]({{}}/rancher/v2.x/en/admin-settings/k8s-metadata) + >**Recommended:** Before upgrading Kubernetes, [backup your cluster]({{< baseurl >}}/rancher/v2.x/en/backups). 1. From the **Global** view, find the cluster for which you want to upgrade Kubernetes. Select **Vertical Ellipsis (...) > Edit**. diff --git a/content/rancher/v2.x/en/cluster-admin/kubeconfig/_index.md b/content/rancher/v2.x/en/cluster-admin/kubeconfig/_index.md index 32843651a65..36531877490 100644 --- a/content/rancher/v2.x/en/cluster-admin/kubeconfig/_index.md +++ b/content/rancher/v2.x/en/cluster-admin/kubeconfig/_index.md @@ -62,3 +62,17 @@ kubectl --context - get nodes # Directly referencing the location of the kubeconfig file kubectl --kubeconfig /custom/path/kube.config --context - get pods ``` + +### kube-api-auth + +The `kube-api-auth` resource is deployed to provide the functionality for Authorized Cluster Endpoint. + +During cluster provisioning, the file `/etc/kubernetes/kube-api-authn-webhook.yaml` is deployed and `kube-apiserver` is configured with `--authentication-token-webhook-config-file=/etc/kubernetes/kube-api-authn-webhook.yaml`. This configures the `kube-apiserver` to query `http://127.0.0.1:6440/v1/authenticate` to determine authentication for bearer tokens. + +The scheduling rules for `kube-api-auth` are listed below: + +_Applies to v2.3.0 and higher_ + +| Component | nodeAffinity nodeSelectorTerms | nodeSelector | Tolerations | +| -------------------- | ------------------------------------------ | ------------ | ------------------------------------------------------------------------------ | +| kube-api-auth | `beta.kubernetes.io/os:NotIn:windows`
`node-role.kubernetes.io/controlplane:In:"true"` | none | `operator:Exists` | diff --git a/content/rancher/v2.x/en/cluster-admin/nodes/_index.md b/content/rancher/v2.x/en/cluster-admin/nodes/_index.md index 56019ecbecb..156b23aa917 100644 --- a/content/rancher/v2.x/en/cluster-admin/nodes/_index.md +++ b/content/rancher/v2.x/en/cluster-admin/nodes/_index.md @@ -18,7 +18,7 @@ The following table lists which node options are available for each [type of clu | ------------------------------------------------ | ------------------------------------------------ | ---------------- | ------------------- | ------------------- | ------------------------------------------------------------------ | | [Cordon](#cordoning-a-node) | ✓ | ✓ | ✓ | | Marks the node as unschedulable. | | [Drain](#draining-a-node) | ✓ | ✓ | ✓ | | Marks the node as unschedulable _and_ evicts all pods. | -| [Edit](#editing-a-node) | ✓ | ✓ | ✓ | | Enter a custom name, description, or label for a node. | +| [Edit](#editing-a-node) | ✓ | ✓ | ✓ | | Enter a custom name, description, label, or taints for a node. | | [View API](#viewing-a-node-api) | ✓ | ✓ | ✓ | | View API data. | | [Delete](#deleting-a-node) | ✓ | ✓ | | | Deletes defective nodes from the cluster. | | [Download Keys](#ssh-into-a-node-hosted-by-an-infrastructure-provider) | ✓ | | | | Download SSH key for in order to SSH into the node. | @@ -51,14 +51,14 @@ The node draining options are different based on your version of Rancher. There are two drain modes: aggressive and safe. -- **Aggressive Mode** - +- **Aggressive Mode** + In this mode, pods won't get rescheduled to a new node, even if they do not have a controller. Kubernetes expects you to have your own logic that handles the deletion of these pods. - + Kubernetes also expects the implementation to decide what to do with pods using emptyDir. If a pod uses emptyDir to store local data, you might not be able to safely delete it, since the data in the emptyDir will be deleted once the pod is removed from the node. Choosing aggressive mode will delete these pods. -- **Safe Mode** - +- **Safe Mode** + If a node has standalone pods or ephemeral data it will be cordoned but not drained. ### Aggressive and Safe Draining Options for Rancher Prior to v2.2.x @@ -82,7 +82,7 @@ The following list describes each drain option: The timeout given to each pod for cleaning things up, so they will have chance to exit gracefully. For example, when pods might need to finish any outstanding requests, roll back transactions or save state to some external storage. If negative, the default value specified in the pod will be used. -### Timeout +### Timeout The amount of time drain should continue to wait before giving up. @@ -101,7 +101,12 @@ Once drain successfully completes, the node will be in a state of `drained`. You ## Editing a Node -Editing a node lets you change its name, add a description of the node, or add [labels](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/). +Editing a node lets you: + +* Change its name +* Change its description +* Add [labels](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/) +* Add/Remove [taints](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/) ## Viewing a Node API diff --git a/content/rancher/v2.x/en/cluster-admin/restoring-etcd/_index.md b/content/rancher/v2.x/en/cluster-admin/restoring-etcd/_index.md index e79f9f20478..0c70a823b0d 100644 --- a/content/rancher/v2.x/en/cluster-admin/restoring-etcd/_index.md +++ b/content/rancher/v2.x/en/cluster-admin/restoring-etcd/_index.md @@ -33,7 +33,7 @@ If your Kubernetes cluster is broken, you can restore the cluster from a snapsho **Result:** The cluster will go into `updating` state and the process of restoring the `etcd` nodes from the snapshot will start. The cluster is restored when it returns to an `active` state. -> **Note:** If you are restoring a cluster with unavailable etcd nodes, it's recommended that all etcd nodes are removed from Rancher before attempting to restore. For clusters that were provisioned using [nodes hosted in an infrastructure provider]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/rke-clusters/node-pools/), new etcd nodes will automatically be created. For [custom clusters]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/rke-clusters/custom-nodes/), please ensure that you add new etcd nodes to the cluster. +> **Note:** If you are restoring a cluster with unavailable etcd nodes, it's recommended that all etcd nodes are removed from Rancher before attempting to restore. For clusters that were provisioned using [nodes hosted in an infrastructure provider]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/rke-clusters/node-pools/), new etcd nodes will automatically be created. For [custom clusters]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/rke-clusters/custom-nodes/), please ensure that you add new etcd nodes to the cluster. ## Recovering etcd without a Snapshot diff --git a/content/rancher/v2.x/en/cluster-admin/tools/istio/_index.md b/content/rancher/v2.x/en/cluster-admin/tools/istio/_index.md index 89bb94848a9..91f48c2f5dd 100644 --- a/content/rancher/v2.x/en/cluster-admin/tools/istio/_index.md +++ b/content/rancher/v2.x/en/cluster-admin/tools/istio/_index.md @@ -1,75 +1,87 @@ --- title: Istio weight: 5 +aliases: + - /rancher/v2.x/en/project-admin/istio/configuring-resource-allocations/_index.md + - /rancher/v2.x/en/cluster-admin/tools/istio/_index.md + - /rancher/v2.x/en/project-admin/istio/index.md --- +_Available as of v2.3.0_ -_Available as of v2.3.0-alpha5_ + [Istio](https://istio.io/) is an open-source tool that makes it easier for DevOps teams to observe, control, troubleshoot, and secure the traffic within a complex network of microservices. -Using Rancher, you can connect, secure, control, and observe services through integration with [Istio](https://istio.io/), a leading open-source service mesh solution. Istio provides behavioral insights and operational control over the service mesh as a whole, offering a complete solution to satisfy the diverse requirements of microservice applications. + As a network of microservices changes and grows, the interactions between them can become more difficult to manage and understand. In such a situation, it is useful to have a service mesh as a separate infrastructure layer. Istio's service mesh lets you manipulate traffic between microservces without changing the microservices directly. -## Prerequisites +Our integration of 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. -The required resource allocation for each service is listed in the [configuration options]({{< baseurl >}}/rancher/v2.x/en/cluster-admin/tools/istio/config/). Please review it before attempting to enable Istio. +This service mesh provides features that include but are not limited to the following: -In larger deployments, it is strongly advised that the infrastructure be placed on dedicated nodes in the cluster by adding node selector for each Istio components. +- Traffic management features +- Enhanced monitoring and tracing +- Service discovery and routing +- Secure connections and service-to-service authentication with mutual TLS +- Load balancing +- Automatic retries, backoff, and circuit breaking -#### Default Resource Consumption +After Istio is enabled in a cluster, you can leverage Istio's control plane functionality with `kubectl`. -Workload | Container | CPU - Request | Mem - Request | CPU - Limit | Mem - Limit | Configurable ----------|-----------|---------------|---------------|-------------|-------------|------------- -istio-pilot |discovery| 500m | 2048Mi | 1000m | 4096Mi | Y - istio-telemetry |mixer| 1000m | 1024Mi | 4800m | 4096Mi | Y - istio-policy | mixer | 1000m | 1024Mi | 4800m | 4096Mi | Y - istio-tracing | jaeger | 100m | 100Mi | 500m | 1024Mi | Y - prometheus | prometheus | 750m | 750Mi | 1000m | 1024Mi | Y - grafana | grafana | 100m | 100Mi | 200m | 512Mi | Y - Others | - | 500m | 500Mi | - | - | N - Total | - | 3950m | 5546Mi | - | - | - +Rancher's Istio integration comes with comprehensive visualization aids: -## Enabling Istio +- **Trace the root cause of errors with Jaeger.** [Jaeger](https://www.jaegertracing.io/) is an open-source tool that provides a UI for a distributed tracing system, which is useful for root cause analysis and for determining what causes poor performance. Distributed tracing allows you to view an entire chain of calls, which might originate with a user request and traverse dozens of microservices. +- **Get the full picture of your microservice architecture with Kiali.** [Kiali](https://www.kiali.io/) provides a diagram that shows the services within a service mesh and how they are connected, including the traffic rates and latencies between them. You can check the health of the service mesh, or drill down to see the incoming and outgoing requests to a single component. +- **Gain insights from time series analytics with Grafana dashboards.** [Grafana](https://grafana.com/) is an analytics platform that allows you to query, visualize, alert on and understand the data gathered by Prometheus. +- **Write custom queries for time series data with the Promethus UI.** [Prometheus](https://prometheus.io/) is a systems monitoring and alerting toolkit. Prometheus scrapes data from your cluster, which is then used by Grafana. A Prometheus UI is also integrated into Rancher, and lets you write custom queries for time series data and see the results in the UI. -As an [administrator]({{< baseurl >}}/rancher/v2.x/en/admin-settings/rbac/global-permissions/) or [cluster owner]({{< baseurl >}}/rancher/v2.x/en/admin-settings/rbac/cluster-project-roles/#cluster-roles), you can configure Rancher to deploy Istio to your Kubernetes cluster. +# Prerequisites -1. From the **Global** view, navigate to the cluster that you want to configure Istio for. +Before enabling Istio, we recommend that you confirm that your Rancher worker nodes have enough [CPU and memory]({{}}/rancher/v2.x/en/cluster-admin/tools/istio/resources) to run all of the components of Istio. -1. Select **Tools > Istio** in the navigation bar. +# Setup Guide -1. Select **Enable** to show the [Istio configuration options]({{< baseurl >}}/rancher/v2.x/en/cluster-admin/tools/istio/config/). Enter in your desired configuration options. Ensure you have enough resources on your worker nodes to enable Istio. +Refer to the [setup guide]({{}}/rancher/v2.x/en/cluster-admin/tools/istio/setup) for instructions on how to set up Istio and use it in a project. -1. Click **Save**. +# Disabling Istio -**Result:** The Istio application, `cluster-istio`, is added as an [application]({{< baseurl >}}/rancher/v2.x/en/catalog/apps/) to the cluster's `system` project. After the application is `active`, you can start using Istio. +To remove Istio components from a cluster, namepace, or workload, refer to the section on [disabling Istio.]({{}}/rancher/v2.x/en/cluster-admin/tools/istio/disabling-istio) +# Accessing Visualizations -## Using Istio for Metrics Visualization +> By default, only cluster owners have access to Jaeger and Kiali. For instructions on how to allow project members to access them, refer to [Access to Visualizations.]({{}}/rancher/v2.x/en/cluster-admin/tools/istio/rbac/#access-to-visualizations) -Once Istio is `active`, you can see visualizations of your Istio service mesh with Kiali, Jaeger, Grafana, and Prometheus, which are all open-source projects that Rancher has integrated with. +After Istio is set up in a cluster, Grafana, Prometheus, Jaeger, and Kiali are available in the Rancher UI. -- **Kiali** helps you define, validate, and observe your Istio service mesh. Kiali shows you what services are in your mesh and how they are connected. Kiali includes Jaeger Tracing to provide distributed tracing out of the box. -- **Jaeger** is a distributed tracing system released as open source by Uber Technologies. It is used for monitoring and troubleshooting microservices-based distributed systems. -- **Grafana** is an analytics platform that allows you to query, visualize, alert on and understand your metrics. Grafana lets you visualize data from Prometheus. -- **Prometheus** is a systems monitoring and alerting toolkit. +Your access to the visualizations depend on your role. Grafana and Prometheus are only available for cluster owners. The Kiali and Jaeger UIs are available only to cluster owners by default, but cluster owners can allow project members to access them by editing the Istio settings. When you go to your project and click **Resources > Istio,** you can go to each UI for Kiali, Jaeger, Grafana, and Prometheus by clicking their icons in the top right corner of the page. -With Istio enabled, you can: +To see the visualizations, go to the cluster where Istio is set up and click **Tools > Istio.** You should see links to each UI at the top of the page. -- Access [Kiali UI](https://www.kiali.io/) by clicking the Kiali UI icon in the Istio page. -- Access [Jaeger UI](https://www.jaegertracing.io/) by clicking the Jaeger UI icon in the Istio page. -- Access [Grafana UI](https://grafana.com/) by clicking the Grafana UI icon in the Istio page. -- Access [Prometheus UI](https://prometheus.io/) by clicking the Prometheus UI icon in the Istio page. -- Go to a project to [view traffic graph, traffic metrics and manage traffic]({{< baseurl >}}/rancher/v2.x/en/project-admin/istio/). +You can also get to the visualization tools from the project view. -## Leveraging Istio in Projects +# Viewing the Kiali Traffic Graph -After you enable Istio, you can see traffic metrics and a traffic graph on the project level. You can see a traffic graph for all namespaces that have Istio sidecar injection enabled. For more information, refer to [How to Use Istio in Your Project]({{< baseurl >}}/rancher/v2.x/en/project-admin/istio/). +1. From the project view in Rancher, click **Resources > Istio.** +1. If you are a cluster owner, you can go to the **Traffic Graph** tab. This tab has the Kiali network visualization integrated into the UI. -## Disabling Istio +# Viewing Traffic Metrics -To disable Istio: +Istio’s monitoring features provide visibility into the performance of all your services. -1. From the **Global** view, navigate to the cluster that you want to disable Istio for. +1. From the project view in Rancher, click **Resources > Istio.** +1. Go to the **Traffic Metrics** tab. After traffic is generated in your cluster, you should be able to see metrics for **Success Rate, Request Volume, 4xx Response Count, Project 5xx Response Count** and **Request Duration.** Cluster owners can see all of the metrics, while project members can see a subset of the metrics. -1. Select **Tools > Istio** in the navigation bar. +# Architecture -1. Click **Disable Istio**, then click the red button again to confirm the disable action. +Istio installs a service mesh that uses [Envoy](https://www.envoyproxy.io/learn/service-mesh) sidecar proxies to intercept traffic to each workload. These sidecars intercept and manage service-to-service communication, allowing fine-grained observation and control over traffic within the cluster. -**Result:** The `cluster-istio` application in the cluster's `system` project gets removed. +Only workloads that have the Istio sidecar injected can be tracked and controlled by Istio. + +Enabling Istio in Rancher enables monitoring in the cluster, and enables Istio in all new namespaces that are created in a cluster. You need to manually enable Istio in preexisting namespaces. + +When a namespace has Istio enabled, new workloads deployed in the namespace will automatically have the Istio sidecar. You need to manually enable Istio in preexisting workloads. + +For more information on the Istio sidecar, refer to the [Istio docs](https://istio.io/docs/setup/kubernetes/additional-setup/sidecar-injection/). + +### Two Ingresses + +By default, each Rancher-provisioned cluster has one NGINX ingress controller allowing traffic into the cluster. To allow Istio to receive external traffic, you need to enable the Istio ingress gateway for the cluster. The result is that your cluster will have two ingresses. + +![In an Istio-enabled cluster, you can have two ingresses: the default Nginx ingress, and the default Istio controller.]({{}}/img/rancher/istio-ingress.svg) \ No newline at end of file diff --git a/content/rancher/v2.x/en/cluster-admin/tools/istio/disabling-istio/_index.md b/content/rancher/v2.x/en/cluster-admin/tools/istio/disabling-istio/_index.md new file mode 100644 index 00000000000..3cba3d5a86c --- /dev/null +++ b/content/rancher/v2.x/en/cluster-admin/tools/istio/disabling-istio/_index.md @@ -0,0 +1,27 @@ +--- +title: Disabling Istio +weight: 4 +--- + +This section describes how to disable Istio in a cluster, namespace, or workload. + +# Disable Istio in a Cluster + +To disable Istio, + +1. From the **Global** view, navigate to the cluster that you want to disable Istio for. +1. Click **Tools > Istio.** +1. Click **Disable,** then click the red button again to confirm the disable action. + +**Result:** The `cluster-istio` application in the cluster's `system` project gets removed. The Istio sidecar cannot be deployed on any workloads in the cluster. + +# Disable Istio in a Namespace + +1. In the Rancher UI, go to the project that has the namespace where you want to disable Istio. +1. On the **Workloads** tab, you will see a list of namespaces and the workloads deployed in them. Go to the namespace where you want to disable and click the **Ellipsis (...) > Disable Istio Auto Injection.** + +**Result:** When workloads are deployed in this namespace, they will not have the Istio sidecar. + +# Remove the Istio Sidecar from a Workload + +Disable Istio in the namespace, then redeploy the workloads with in it. They will be deployed without the Istio sidecar. \ No newline at end of file diff --git a/content/rancher/v2.x/en/cluster-admin/tools/istio/rbac/_index.md b/content/rancher/v2.x/en/cluster-admin/tools/istio/rbac/_index.md new file mode 100644 index 00000000000..69d8aabeb78 --- /dev/null +++ b/content/rancher/v2.x/en/cluster-admin/tools/istio/rbac/_index.md @@ -0,0 +1,58 @@ +--- +title: Role-based Access Control +weight: 3 +--- + +This section describes the permissions required to access Istio features and how to configure access to the Kiali and Jaeger visualizations. + +# Cluster-level Access + +By default, only cluster adminstrators can: + +- Enable Istio for the cluster +- Configure resource allocations for Istio +- View each UI for Prometheus, Grafana, Kiali, and Jaeger + +# Project-level Access + +After Istio is enabled in a cluster, project owners and members have permission to: + +- Enable and disable Istio sidecar auto-injection for namespaces +- Add the Istio sidecar to workloads +- View the traffic metrics and traffic graph for the cluster +- View the Kiali and Jaeger visualizations if cluster administrators give access to project members +- Configure Istio's resources (such as the gateway, destination rules, or virtual services) with `kubectl` (This does not apply to read-only project members) + +# Access to Visualizations + +By default, the Kiali and Jaeger visualizations are restricted to the cluster owner because the information in them could be sensitive. + +**Jaeger** provides a UI for a distributed tracing system, which is useful for root cause analysis and for determining what causes poor performance. + +**Kiali** provides a diagram that shows the services within a service mesh and how they are connected. + +Rancher supports giving groups permission to access Kiali and Jaeger, but not individuals. + +To configure who has permission to access the Kiali and Jaeger UI, + +1. Go to the cluster view and click **Tools > Istio.** +1. Then go to the **Member Access** section. If you want to restrict access to certain groups, choose **Allow cluster owner and specified members to access Kiali and Jaeger UI.** Search for the groups that you want to have access to Kiali and Jaeger. If you want all members to have access to the tools, click **Allow all members to access Kiali and Jaeger UI.** +1. Click **Save.** + +**Result:** The access levels for Kiali and Jaeger have been updated. + +# Summary of Default Permissions for Istio Users + +| Permission | Cluster Administrators | Project Owners | Project Members | Read-only Project Members | +|------------------------------------------|----------------|----------------|-----------------|---------------------------| +| Enable and disable Istio for the cluster | ✓ | | | | +| Configure Istio resource limits | ✓ | | | | +| Control who has access to Kiali and the Jaeger UI | ✓ | | | | +| Enable and disable Istio for a namespace | ✓ | ✓ | ✓ | | +| Enable and disable Istio on workloads | ✓ | ✓ | ✓ | | +| Configure Istio with `kubectl` | ✓ | ✓ | ✓ | | +| View Prometheus UI and Grafana UI | ✓ | | | | +| View Kiali UI and Jaeger UI ([Configurable](#access-to-visualizations)) | ✓ | | | | +| View Istio project dashboard, including traffic metrics* | ✓ | ✓ | ✓ | ✓ | + +* By default, only the cluster owner will see the traffic graph. Project members will see only a subset of traffic metrics. Project members cannot see the traffic graph because it comes from Kiali, and access to Kiali is restricted to cluster owners by default. \ No newline at end of file diff --git a/content/rancher/v2.x/en/cluster-admin/tools/istio/config/_index.md b/content/rancher/v2.x/en/cluster-admin/tools/istio/resources/_index.md similarity index 56% rename from content/rancher/v2.x/en/cluster-admin/tools/istio/config/_index.md rename to content/rancher/v2.x/en/cluster-admin/tools/istio/resources/_index.md index a4080f6cc23..bb988012272 100644 --- a/content/rancher/v2.x/en/cluster-admin/tools/istio/config/_index.md +++ b/content/rancher/v2.x/en/cluster-admin/tools/istio/resources/_index.md @@ -1,15 +1,61 @@ --- -title: Istio Configuration +title: CPU and Memory Allocations weight: 1 +aliases: + - /rancher/v2.x/en/project-admin/istio/configuring-resource-allocations/_index.md + - /rancher/v2.x/en/project-admin/istio/config/_index.md --- +_Available as of v2.3.0_ -_Available as of v2.3.0-alpha5_ +This section describes the minimum recommended computing resources for the Istio components in a cluster. -There are several configuration options for Istio. You can find more information about Istio configuration in the [official Istio documentation](https://istio.io/docs/concepts/what-is-istio). +The CPU and memory allocations for each component are [configurable.](#configuring-resource-allocations) -## PILOT +Before enabling Istio, we recommend that you confirm that your Rancher worker nodes have enough CPU and memory to run all of the components of Istio. -Pilot provides service discovery for the Envoy sidecars, traffic management capabilities for intelligent routing (e.g., A/B tests, canary rollouts, etc.), and resiliency (timeouts, retries, circuit breakers, etc.). +> **Tip:** In larger deployments, it is strongly advised that the infrastructure be placed on dedicated nodes in the cluster by adding a node selector for each Istio component. + +The table below shows a summary of the minimum recommended resource requests and limits for the CPU and memory of each central Istio component. + +In Kubernetes, the resource request indicates that the workload will not deployed on a node unless the node has at least the specified amount of memory and CPU available. If the workload surpasses the limit for CPU or memory, it can be terminated or evicted from the node. For more information on managing resource limits for containers, refer to the [Kubernetes documentation.](https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/) + +Workload | Container | CPU - Request | Mem - Request | CPU - Limit | Mem - Limit | Configurable +---------|-----------|---------------|---------------|-------------|-------------|------------- +istio-pilot |discovery| 500m | 2048Mi | 1000m | 4096Mi | Y + istio-telemetry |mixer| 1000m | 1024Mi | 4800m | 4096Mi | Y + istio-policy | mixer | 1000m | 1024Mi | 4800m | 4096Mi | Y + istio-tracing | jaeger | 100m | 100Mi | 500m | 1024Mi | Y + prometheus | prometheus | 750m | 750Mi | 1000m | 1024Mi | Y + grafana | grafana | 100m | 100Mi | 200m | 512Mi | Y + Others | - | 500m | 500Mi | - | - | N + **Total** | **-** | **3950m** | **5546Mi** | **>12300m** | **>14848Mi** | **-** + + +# Configuring Resource Allocations + +You can individually configure the resource allocation for each type of Istio component. This section includes the default resource allocations for each component. + +To make it easier to schedule the workloads to a node, a cluster administrator can reduce the CPU and memory resource requests for the component. However, the default CPU and memory allocations are the minimum that we recommend. + +You can find more information about Istio configuration in the [official Istio documentation](https://istio.io/docs/concepts/what-is-istio). + +To configure the resources allocated to an Istio component, + +1. In Rancher, go to the cluster where you have Istio installed. +1. Click **Tools > Istio.** This opens the Istio configuration page. +1. Change the CPU or memory allocations, the nodes where each component will be scheduled to, or the node tolerations. +1. Click **Save.** + +**Result:** The resource allocations for the Istio components are updated. + +## Pilot + +[Pilot](https://istio.io/docs/concepts/what-is-istio/#pilot) provides the following: + +- Authentication configuration +- Service discovery for the Envoy sidecars +- Traffic management capabilities for intelligent routing (A/B tests and canary rollouts) +- Configuration for resiliency (timeouts, retries, circuit breakers, etc) For more information on Pilot, refer to the [documentation](https://istio.io/docs/concepts/traffic-management/#pilot-and-envoy). @@ -22,9 +68,11 @@ Pilot Memory Reservation | Memory resource requests for the istio-pilot pod. | Y Trace sampling Percentage | [Trace sampling percentage](https://istio.io/docs/tasks/telemetry/distributed-tracing/overview/#trace-sampling) | Yes | 1 Pilot Selector | Ability to select the nodes in which istio-pilot pod is deployed to. To use this option, the nodes must have labels. | No | n/a -## MIXER +## Mixer -Mixer is a platform-independent component. Mixer enforces access control and usage policies across the service mesh, and collects telemetry data from the Envoy proxy and other services. For more information on Mixer, policies and telemetry, refer to the [documentation](https://istio.io/docs/concepts/policies-and-telemetry/). +[Mixer](https://istio.io/docs/concepts/what-is-istio/#mixer) enforces access control and usage policies across the service mesh. It also integrates with plugins for monitoring tools such as Prometheus. The Envoy sidecar proxy passes telemetry data and monitoring data to Mixer, and Mixer passes the monitoring data to Prometheus. + +For more information on Mixer, policies and telemetry, refer to the [documentation](https://istio.io/docs/concepts/policies-and-telemetry/). Option | Description| Required | Default -------|------------|-------|------- @@ -39,9 +87,9 @@ Mixer Policy Memory Limit | Memory resource limit for the istio-policy pod. | Ye Mixer Policy Memory Reservation | Memory resource requests for the istio-policy pod. | Yes, when policy enabled | 1024 Mixer Selector | Ability to select the nodes in which istio-policy and istio-telemetry pods are deployed to. To use this option, the nodes must have labels. | No | n/a -## TRACING +## Tracing -Istio-enabled applications can collect trace spans. For more information on distributed tracing with Istio, refer to the [documentation](https://istio.io/docs/tasks/telemetry/distributed-tracing/overview/). +[Distributed tracing](https://istio.io/docs/tasks/telemetry/distributed-tracing/overview/) enables users to track a request through a service mesh. This makes it easier to troubleshoot problems with latency, parallelism and serialization. Option | Description| Required | Default -------|------------|-------|------- @@ -52,9 +100,11 @@ Tracing Memory Limit | Memory resource limit for the istio-tracing pod. | Yes Tracing Memory Reservation | Memory resource requests for the istio-tracing pod. | Yes | 100 Tracing Selector | Ability to select the nodes in which tracing pod is deployed to. To use this option, the nodes must have labels. | No | n/a -## INGRESS GATEWAY +## Ingress Gateway -The Istio Gateway allows Istio features such as monitoring and route rules to be applied to traffic entering the cluster. For more information, refer to the [documentation](https://istio.io/docs/tasks/traffic-management/ingress/). +The Istio gateway allows Istio features such as monitoring and route rules to be applied to traffic entering the cluster. This gateway is a prerequisite for outside traffic to make requests to Istio. + +For more information, refer to the [documentation](https://istio.io/docs/tasks/traffic-management/ingress/). Option | Description| Required | Default -------|------------|-------|------- @@ -70,7 +120,7 @@ Ingress Gateway Memory Limit | Memory resource limit for the istio-ingressgatewa Ingress Gateway Memory Reservation | Memory resource requests for the istio-ingressgateway pod. | Yes | 128 Ingress Gateway Selector | Ability to select the nodes in which istio-ingressgateway pod is deployed to. To use this option, the nodes must have labels. | No | n/a -## PROMETHEUS +## Prometheus You can query for Istio metrics using Prometheus. Prometheus is an open-source systems monitoring and alerting toolkit. @@ -83,9 +133,9 @@ Prometheus Memory Reservation | Memory resource requests for the Prometheus pod. Retention for Prometheus | How long your Prometheus instance retains data | Yes | 6 Prometheus Selector | Ability to select the nodes in which Prometheus pod is deployed to. To use this option, the nodes must have labels.| No | n/a -## GRAFANA +## Grafana -You can visualize metrics with Grafana. Grafana is a tool that lets you visualize Istio traffic data. +You can visualize metrics with Grafana. Grafana lets you visualize Istio traffic data scraped by Prometheus. Option | Description| Required | Default -------|------------|-------|------- @@ -99,6 +149,4 @@ Enable Persistent Storage for Grafana | Enable Persistent Storage for Grafana | Source | Use a Storage Class to provision a new persistent volume or Use an existing persistent volume claim | Yes, when Grafana enabled and enabled PV | Use SC Storage Class | Storage Class for provisioning PV for Grafana | Yes, when Grafana enabled, enabled PV and use storage class | Use the default class Persistent Volume Size | The size for the PV you would like to provision for Grafana | Yes, when Grafana enabled, enabled PV and use storage class | 5Gi -Existing Claim | Use existing PVC for Grafna | Yes, when Grafana enabled, enabled PV and use existing PVC | n/a - - +Existing Claim | Use existing PVC for Grafana | Yes, when Grafana enabled, enabled PV and use existing PVC | n/a \ No newline at end of file diff --git a/content/rancher/v2.x/en/cluster-admin/tools/istio/setup/_index.md b/content/rancher/v2.x/en/cluster-admin/tools/istio/setup/_index.md new file mode 100644 index 00000000000..8beaf13b318 --- /dev/null +++ b/content/rancher/v2.x/en/cluster-admin/tools/istio/setup/_index.md @@ -0,0 +1,28 @@ +--- +title: Setup Guide +weight: 2 +--- + +This section describes how to enable Istio and start using it in your projects. + +This section assumes that you have Rancher installed, and you have a Rancher-provisioned Kubernetes cluster where you would like to set up Istio. + +If you use Istio for traffic management, you will need to allow external traffic to the cluster. In that case, you will need to follow all of the steps below. + +> **Quick Setup** If you don't need external traffic to reach Istio, and you just want to set up Istio for monitoring and tracing traffic within the cluster, skip the steps for [setting up the Istio gateway]({{}}/rancher/v2.x/en/cluster-admin/tools/istio/setup/gateway) and [setting up Istio's components for traffic management.]({{}}/rancher/v2.x/en/cluster-admin/tools/istio/setup/set-up-traffic-management) + +1. [Enable Istio in the cluster.]({{}}/rancher/v2.x/en/cluster-admin/tools/istio/setup/enable-istio-in-cluster) +1. [Enable Istio in all the namespaces where you want to use it.]({{}}/rancher/v2.x/en/cluster-admin/tools/istio/setup/enable-istio-in-namespace) +1. [Select the nodes where the main Istio components will be deployed.]({{}}/rancher/v2.x/en/cluster-admin/tools/istio/setup/node-selectors) +1. [Add deployments and services that have the Istio sidecar injected.](#deploy-workloads-in-the-cluster) +1. [Set up the Istio gateway. ]({{}}/rancher/v2.x/en/cluster-admin/tools/istio/setup/gateway) +1. [Set up Istio's components for traffic management.]({{}}/rancher/v2.x/en/cluster-admin/tools/istio/setup/set-up-traffic-management) +1. [Generate traffic and see Istio in action.](#generate-traffic-and-see-istio-in-action) + +# Prerequisites + +This guide assumes you have already [installed Rancher,]({{}}/rancher/v2.x/en/installation) and you have already [provisioned a separate Kubernetes cluster]({{}}/rancher/v2.x/en/cluster-provisioning) on which you will install Istio. + +The nodes in your cluster must meet the [CPU and memory requirements.]({{}}/rancher/v2.x/en/cluster-admin/istio/#cpu-and-memory-requirements) + +The workloads and services that you want to be controlled by Istio must meet [Istio's requirements.](https://istio.io/docs/setup/additional-setup/requirements/) \ No newline at end of file diff --git a/content/rancher/v2.x/en/cluster-admin/tools/istio/setup/deploy-workloads/_index.md b/content/rancher/v2.x/en/cluster-admin/tools/istio/setup/deploy-workloads/_index.md new file mode 100644 index 00000000000..b0679a6ca1d --- /dev/null +++ b/content/rancher/v2.x/en/cluster-admin/tools/istio/setup/deploy-workloads/_index.md @@ -0,0 +1,321 @@ +--- +title: 4. Add Deployments and Services with the Istio Sidecar +weight: 4 +--- + +> **Prerequisite:** To enable Istio for a workload, the cluster and namespace must have Istio enabled. + +Enabling Istio in a namespace only enables automatic sidecar injection for new workloads. To enable the Envoy sidecar for existing workloads, you need to enable it manually for each workload. + +To inject the Istio sidecar on an existing workload in the namespace, go to the workload, click the **Ellipsis (...),** and click **Redeploy.** When the workload is redeployed, it will have the Envoy sidecar automatically injected. + +Wait a few minutes for the workload to upgrade to have the istio sidecar. Click it and go to the Containers section. You should be able to see istio-init and istio-proxy alongside your original workload. This means the Istio sidecar is enabled for the workload. Istio is doing all the wiring for the sidecar envoy. Now Istio can do all the features automatically if you enable them in the yaml. + +### 3. Add Deployments and Services + +Next we add the Kubernetes resources for the sample deployments and services for the BookInfo app in Istio's documentation. + +1. Go to the cluster view and click **Import YAML.** +1. Copy the below resources into the form. +1. Click **Import.** + +This will set up the following sample resources from Istio's example BookInfo app: + +Details service and deployment: + +- A `details` Service +- A ServiceAccount for `bookinfo-details` +- A `details-v1` Deployment + +Ratings service and deployment: + +- A `ratings` Service +- A ServiceAccount for `bookinfo-ratings` +- A `ratings-v1` Deployment + +Reviews service and deployments (three versions): + +- A `reviews` Service +- A ServiceAccount for `bookinfo-reviews` +- A `reviews-v1` Deployment +- A `reviews-v2` Deployment +- A `reviews-v3` Deployment + +Productpage service and deployment: + +This is the main page of the app, which will be visible from a web browser. The other services will be called from this page. + +- A `productpage` service +- A ServiceAccount for `bookinfo-productpage` +- A `productpage-v1` Deployment + +### Resource YAML + +```yaml +# Copyright 2017 Istio Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +################################################################################################## +# Details service +################################################################################################## +apiVersion: v1 +kind: Service +metadata: + name: details + labels: + app: details + service: details +spec: + ports: + - port: 9080 + name: http + selector: + app: details +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + name: bookinfo-details +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: details-v1 + labels: + app: details + version: v1 +spec: + replicas: 1 + selector: + matchLabels: + app: details + version: v1 + template: + metadata: + labels: + app: details + version: v1 + spec: + serviceAccountName: bookinfo-details + containers: + - name: details + image: docker.io/istio/examples-bookinfo-details-v1:1.15.0 + imagePullPolicy: IfNotPresent + ports: + - containerPort: 9080 +--- +################################################################################################## +# Ratings service +################################################################################################## +apiVersion: v1 +kind: Service +metadata: + name: ratings + labels: + app: ratings + service: ratings +spec: + ports: + - port: 9080 + name: http + selector: + app: ratings +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + name: bookinfo-ratings +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: ratings-v1 + labels: + app: ratings + version: v1 +spec: + replicas: 1 + selector: + matchLabels: + app: ratings + version: v1 + template: + metadata: + labels: + app: ratings + version: v1 + spec: + serviceAccountName: bookinfo-ratings + containers: + - name: ratings + image: docker.io/istio/examples-bookinfo-ratings-v1:1.15.0 + imagePullPolicy: IfNotPresent + ports: + - containerPort: 9080 +--- +################################################################################################## +# Reviews service +################################################################################################## +apiVersion: v1 +kind: Service +metadata: + name: reviews + labels: + app: reviews + service: reviews +spec: + ports: + - port: 9080 + name: http + selector: + app: reviews +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + name: bookinfo-reviews +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: reviews-v1 + labels: + app: reviews + version: v1 +spec: + replicas: 1 + selector: + matchLabels: + app: reviews + version: v1 + template: + metadata: + labels: + app: reviews + version: v1 + spec: + serviceAccountName: bookinfo-reviews + containers: + - name: reviews + image: docker.io/istio/examples-bookinfo-reviews-v1:1.15.0 + imagePullPolicy: IfNotPresent + ports: + - containerPort: 9080 +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: reviews-v2 + labels: + app: reviews + version: v2 +spec: + replicas: 1 + selector: + matchLabels: + app: reviews + version: v2 + template: + metadata: + labels: + app: reviews + version: v2 + spec: + serviceAccountName: bookinfo-reviews + containers: + - name: reviews + image: docker.io/istio/examples-bookinfo-reviews-v2:1.15.0 + imagePullPolicy: IfNotPresent + ports: + - containerPort: 9080 +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: reviews-v3 + labels: + app: reviews + version: v3 +spec: + replicas: 1 + selector: + matchLabels: + app: reviews + version: v3 + template: + metadata: + labels: + app: reviews + version: v3 + spec: + serviceAccountName: bookinfo-reviews + containers: + - name: reviews + image: docker.io/istio/examples-bookinfo-reviews-v3:1.15.0 + imagePullPolicy: IfNotPresent + ports: + - containerPort: 9080 +--- +################################################################################################## +# Productpage services +################################################################################################## +apiVersion: v1 +kind: Service +metadata: + name: productpage + labels: + app: productpage + service: productpage +spec: + ports: + - port: 9080 + name: http + selector: + app: productpage +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + name: bookinfo-productpage +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: productpage-v1 + labels: + app: productpage + version: v1 +spec: + replicas: 1 + selector: + matchLabels: + app: productpage + version: v1 + template: + metadata: + labels: + app: productpage + version: v1 + spec: + serviceAccountName: bookinfo-productpage + containers: + - name: productpage + image: docker.io/istio/examples-bookinfo-productpage-v1:1.15.0 + imagePullPolicy: IfNotPresent + ports: + - containerPort: 9080 +--- +``` + +### [Next: Set up the Istio Gateway]({{}}/rancher/v2.x/en/cluster-admin/tools/istio/setup/gateway) \ No newline at end of file diff --git a/content/rancher/v2.x/en/cluster-admin/tools/istio/setup/enable-istio-in-cluster/_index.md b/content/rancher/v2.x/en/cluster-admin/tools/istio/setup/enable-istio-in-cluster/_index.md new file mode 100644 index 00000000000..96b5d2590e0 --- /dev/null +++ b/content/rancher/v2.x/en/cluster-admin/tools/istio/setup/enable-istio-in-cluster/_index.md @@ -0,0 +1,22 @@ +--- +title: 1. Enable Istio in the Cluster +weight: 1 +--- + +This cluster uses the default Nginx controller to allow traffic into the cluster. + +A Rancher [administrator]({{}}/rancher/v2.x/en/admin-settings/rbac/global-permissions/) or [cluster owner]({{}}/rancher/v2.x/en/admin-settings/rbac/cluster-project-roles/#cluster-roles) can configure Rancher to deploy Istio in a Kubernetes cluster. + +1. From the **Global** view, navigate to the cluster where you want to enable Istio. +1. Click **Tools > Istio.** +1. Optional: Configure member access and [resource limits]({{}}/rancher/v2.x/en/cluster-admin/tools/istio/config/) for the Istio components. Ensure you have enough resources on your worker nodes to enable Istio. +1. Click **Enable**. +1. Click **Save**. + +**Result:** Istio is enabled at the cluster level. + +The Istio application, `cluster-istio`, is added as an [application]({{}}/rancher/v2.x/en/catalog/apps/) to the cluster's `system` project. + +When Istio is enabled in the cluster, the label for Istio sidecar auto injection,`istio-injection=enabled`, will be automatically added to each new namespace in this cluster. This automatically enables Istio sidecar injection in all new workloads that are deployed in those namespaces. You will need to manually enable Istio in preexisting namespaces and workloads. + +### [Next: Enable Istio in a Namespace]({{}}/rancher/v2.x/en/cluster-admin/tools/istio/setup/enable-istio-in-namespace) \ No newline at end of file diff --git a/content/rancher/v2.x/en/cluster-admin/tools/istio/setup/enable-istio-in-namespace/_index.md b/content/rancher/v2.x/en/cluster-admin/tools/istio/setup/enable-istio-in-namespace/_index.md new file mode 100644 index 00000000000..d99e00661f5 --- /dev/null +++ b/content/rancher/v2.x/en/cluster-admin/tools/istio/setup/enable-istio-in-namespace/_index.md @@ -0,0 +1,24 @@ +--- +title: 2. Enable Istio in a Namespace +weight: 2 +--- + +You will need to manually enable Istio in each namespace that you want to be tracked or controlled by Istio. When Istio is enabled in a namespace, the Envoy sidecar proxy will be automatically injected into all new workloads that are deployed in the namespace. + +This namespace setting will only affect new workloads in the namespace. Any preexisting workloads will need to be re-deployed to leverage the sidecar auto injection. + +> **Prerequisite:** To enable Istio in a namespace, the cluster must have Istio enabled. + +1. In the Rancher UI, go to the cluster view. Click the **Projects/Namespaces** tab. +1. Go to the namespace where you want to enable the Istio sidecar auto injection and click the **Ellipsis (...).** +1. Click **Edit.** +1. In the **Istio sidecar auto injection** section, click **Enable.** +1. Click **Save.** + +**Result:** The namespace now has the label `istio-injection=enabled`. All new workloads deployed in this namespace will have the Istio sidecar injected by default. + +### Verifying that Automatic Istio Sidecar Injection is Enabled + +To verify that Istio is enabled, deploy a hello-world workload in the namespace. Go to the workload and click the pod name. In the **Containers** section, you should see the `istio-proxy` container. + +### [Next: Set up Taints and Tolerations]({{}}/rancher/v2.x/en/cluster-admin/tools/istio/setup/node-selectors) \ No newline at end of file diff --git a/content/rancher/v2.x/en/cluster-admin/tools/istio/setup/gateway/_index.md b/content/rancher/v2.x/en/cluster-admin/tools/istio/setup/gateway/_index.md new file mode 100644 index 00000000000..884882b9cf8 --- /dev/null +++ b/content/rancher/v2.x/en/cluster-admin/tools/istio/setup/gateway/_index.md @@ -0,0 +1,103 @@ +--- +title: 5. Set up the Istio Gateway +weight: 5 +--- + +The gateway to each cluster can have its own port or load balancer, which is unrelated to a service mesh. By default, each Rancher-provisioned cluster has one NGINX ingress controller allowing traffic into the cluster. + +You can use the NGINX ingress controller with or without Istio installed. If this is the only gateway to your cluster, Istio will be able to route traffic from service to service, but Istio will not be able to receive traffic from outside the cluster. + +To allow Istio to receive external traffic, you need to enable Istio's gateway, which works as a north-south proxy for external traffic. When you enable the Istio gateway, the result is that your cluster will have two ingresses. + +You will also need to set up a Kubernetes gateway for your services. This Kubernetes resource points to Istio's implementation of the ingress gateway to the cluster. + +You can route traffic into the service mesh with a load balancer or just Istio's NodePort gateway. This section describes how to set up the NodePort gateway. + +For more information on the Istio gateway, refer to the [Istio documentation.](https://istio.io/docs/reference/config/networking/v1alpha3/gateway/) + +![In an Istio-enabled cluster, you can have two ingresses: the default Nginx ingress, and the default Istio controller.]({{}}/img/rancher/istio-ingress.svg) + +# Enable the Istio Gateway + +The ingress gateway is a Kubernetes service that will be deployed in your cluster. There is only one Istio gateway per cluster. + +1. Go to the cluster where you want to allow outside traffic into Istio. +1. Click **Tools > Istio.** +1. Expand the **Ingress Gateway** section. +1. Under **Enable Ingress Gateway,** click **True.** The default type of service for the Istio gateway is NodePort. You can also configure it as a [load balancer.]({{}}/rancher/v2.x/en/k8s-in-rancher/load-balancers-and-ingress/load-balancers/) +1. Optionally, configure the ports, service types, node selectors and tolerations, and resource requests and limits for this service. The default resource requests for CPU and memory are the minimum recommended resources. +1. Click **Save.** + +**Result:** The gateway is deployed, which allows Istio to receive traffic from outside the cluster. + +# Add a Kubernetes Gateway that Points to the Istio Gateway + +To allow traffic to reach Ingress, you will also need to provide a Kubernetes gateway resource in your YAML that points to Istio's implementation of the ingress gateway to the cluster. + +1. Go to the namespace where you want to deploy the Kubernetes gateway and click **Import YAML.** +1. Upload the gateway YAML as a file or paste it into the form. An example gateway YAML is provided below. +1. Click **Import.** + +```yaml +apiVersion: networking.istio.io/v1alpha3 +kind: Gateway +metadata: + name: bookinfo-gateway +spec: + selector: + istio: ingressgateway # use istio default controller + servers: + - port: + number: 80 + name: http + protocol: HTTP + hosts: + - "*" +``` + +**Result:** You have configured your gateway resource so that Istio can receive traffic from outside the cluster. + +Confirm that the resource exists by running: +``` +kubectl get gateway +``` + +The result should be something like this: +``` +NAME AGE +bookinfo-gateway 64m +``` + +### Access the ProductPage Service from a Web Browser + +To test and see if the BookInfo app deployed correctly, the app can be viewed a web browser using the Istio controller IP and port, combined with the request name specified in your Kubernetes gateway resource: + +`http://:/productpage` + +To get the ingress gateway URL and port, + +1. Go to the `System` project in your cluster. +1. Within the `System` project, go to the namespace `istio-system`. +1. Within `istio-system`, there is a workload named `istio-ingressgateway`. Under the name of this workload, you should see links, such as `80/tcp`. +1. Click one of those links. This should show you the URL of the ingress gateway in your web browser. Append `/productpage` to the URL. + +**Result:** You should see the BookInfo app in the web browser. + +For help inspecting the Istio controller URL and ports, try the commands the [Istio documentation.](https://istio.io/docs/tasks/traffic-management/ingress/ingress-control/#determining-the-ingress-ip-and-ports) + +# Troubleshooting + +The [official Istio documentation](https://istio.io/docs/tasks/traffic-management/ingress/ingress-control/#troubleshooting) suggests `kubectl` commands to inspect the correct ingress host and ingress port for external requests. + +### Confirming that the Kubernetes Gateway Matches Istio's Ingress Controller + +You can try the steps in this section to make sure the Kubernetes gateway is configured properly. + +In the gateway resource, the selector refers to Istio's default ingress controller by its label, in which the key of the label is `istio` and the value is `ingressgateway`. To make sure the label is appropriate for the gateway, do the following: + +1. Go to the `System` project in your cluster. +1. Within the `System` project, go to the namespace `istio-system`. +1. Within `istio-system`, there is a workload named `istio-ingressgateway`. +1. Click the name of this workload and go to the **Labels and Annotations** section. You should see that it has the key `istio` and the value `ingressgateway`. This confirms that the selector in the Gateway resource matches Istio's default ingress controller. + +### [Next: Set up Istio's Components for Traffic Management]({{}}/rancher/v2.x/en/cluster-admin/tools/istio/setup/set-up-traffic-management) \ No newline at end of file diff --git a/content/rancher/v2.x/en/cluster-admin/tools/istio/setup/node-selectors/_index.md b/content/rancher/v2.x/en/cluster-admin/tools/istio/setup/node-selectors/_index.md new file mode 100644 index 00000000000..aa7e807b095 --- /dev/null +++ b/content/rancher/v2.x/en/cluster-admin/tools/istio/setup/node-selectors/_index.md @@ -0,0 +1,38 @@ +--- +title: 3. Select the Nodes Where Istio Components Will be Deployed +weight: 3 +--- + +> **Prerequisite:** Your cluster needs a worker node that can designated for Istio. The worker node should meet the [resource requirements.]({{}}/rancher/v2.x/en/cluster-admin/tools/istio/resources) + +This section describes how use node selectors to configure Istio components to be deployed on a designated node. + +In larger deployments, it is strongly advised that Istio's infrastructure be placed on dedicated nodes in the cluster by adding a node selector for each Istio component. + +# Adding a Label to the Istio Node + +First, add a label to the node where Istio components should be deployed. This label can have any key-value pair. For this example, we will use the key `istio` and the value `enabled`. + +1. From the cluster view, go to the **Nodes** tab. +1. Go to a worker node that will host the Istio components and click **Ellipsis (...) > Edit.** +1. Expand the **Labels & Annotations** section. +1. Click **Add Label.** +1. In the fields that appear, enter `istio` for the key and `enabled` for the value. +1. Click **Save.** + +**Result:** A worker node has the label that will allow you to designate it for Istio components. + +# Configuring Istio Components to Use the Labeled Node + +Configure each Istio component to be deployed to the node with the Istio label. Each Istio component can be configured individually, but in this tutorial, we will configure all of the components to be scheduled on the same node for the sake of simplicity. + +For larger deployments, it is recommended to schedule each component of Istio onto separate nodes. + +1. From the cluster view, click **Tools > Istio.** +1. Expand the **Pilot** section and click **Add Selector** in the form that appears. Enter the node selector label that you added to the Istio node. In our case, we are using the key `istio` and the value `enabled.` +1. Repeat the previous step for the **Mixer** and **Tracing** sections. +1. Click **Save.** + +**Result:** The Istio components will be deployed on the Istio node. + +### [Next: Add Deployments and Services]({{}}/rancher/v2.x/en/cluster-admin/tools/istio/setup/deploy-workloads) \ No newline at end of file diff --git a/content/rancher/v2.x/en/cluster-admin/tools/istio/setup/set-up-traffic-management/_index.md b/content/rancher/v2.x/en/cluster-admin/tools/istio/setup/set-up-traffic-management/_index.md new file mode 100644 index 00000000000..04780471c63 --- /dev/null +++ b/content/rancher/v2.x/en/cluster-admin/tools/istio/setup/set-up-traffic-management/_index.md @@ -0,0 +1,61 @@ +--- +title: 6. Set up Istio's Components for Traffic Management +weight: 6 +--- + +A central advantage of traffic management in Istio is that it allows dynamic request routing, which is useful for canary deployments or blue/green deployments. The two key resources in Istio traffic management are virtual services and destination rules. + +- [Virtual services](https://istio.io/docs/reference/config/networking/v1alpha3/virtual-service/)intercept and direct traffic to your Kubernetes services, allowing you to divide percentages of traffic from a request to different services. You can use them to define a set of routing rules to apply when a host is addressed. +- [Destination rules](https://istio.io/docs/reference/config/networking/v1alpha3/destination-rule/) serve as the single source of truth about which service versions are available to receive traffic from virtual services. You can use these resources to define policies that apply to traffic that is intended for a service after routing has occurred. + +This section describes how to add an example virtual service that corresponds to the `reviews` microservice in the sample BookInfo app. The purpose of this service is to divide traffic between two versions of the `reviews` service. + +In this example, we take the traffic to the `reviews` service and intercept it so that 50 percent of it goes to `v1` of the service and 50 percent goes to `v2`. + +After this virtual service is deployed, we will generate traffic and see from the Kiali visualization that traffic is being routed evenly between the two versions of the service. + +To deploy the virtual service and destination rules for the `reviews` service, + +1. Go to the cluster view and click **Import YAML.** +1. Copy resources below into the form. +1. Click **Import.** + +**Result:** When you generate traffic to this service (for example, by refreshing the ingress gateway URL), the Kiali traffic graph will reflect that traffic to the `reviews` service is divided evenly between `v1` and `v3`. +``` +apiVersion: networking.istio.io/v1alpha3 +kind: VirtualService +metadata: + name: reviews +spec: + hosts: + - reviews + http: + - route: + - destination: + host: reviews + subset: v1 + weight: 50 + - destination: + host: reviews + subset: v3 + weight: 50 +--- +apiVersion: networking.istio.io/v1alpha3 +kind: DestinationRule +metadata: + name: reviews +spec: + host: reviews + subsets: + - name: v1 + labels: + version: v1 + - name: v2 + labels: + version: v2 + - name: v3 + labels: + version: v3 +``` + +### [Next: Generate and View Traffic]({{}}/rancher/v2.x/en/cluster-admin/tools/istio/setup/view-traffic) \ No newline at end of file diff --git a/content/rancher/v2.x/en/cluster-admin/tools/istio/setup/view-traffic/_index.md b/content/rancher/v2.x/en/cluster-admin/tools/istio/setup/view-traffic/_index.md new file mode 100644 index 00000000000..bb6c979e28d --- /dev/null +++ b/content/rancher/v2.x/en/cluster-admin/tools/istio/setup/view-traffic/_index.md @@ -0,0 +1,26 @@ +--- +title: 7. Generate and View Traffic +weight: 7 +--- + +This section describes how to view the traffic that is being managed by Istio. + +# The Kiali Traffic Graph + +Rancher integrates a Kiali graph into the Rancher UI. The Kiali graph provides a powerful way to visualize the topology of your Istio service mesh. It shows you which services communicate with each other. + +To see the traffic graph, + +1. From the project view in Rancher, click **Resources > Istio.** +1. Go to the **Traffic Graph** tab. This tab has the Kiali network visualization integrated into the UI. + +If you refresh the URL to the BookInfo app several times, you should be able to see green arrows on the Kiali graph showing traffic to `v1` and `v3` of the `reviews` service. The control panel on the right side of the graph lets you configure details including how many minutes of the most recent traffic should be shown on the graph. + +For additional tools and visualizations, you can go to each UI for Kiali, Jaeger, Grafana, and Prometheus by clicking their icons in the top right corner of the page. + +# Viewing Traffic Metrics + +Istio’s monitoring features provide visibility into the performance of all your services. + +1. From the project view in Rancher, click **Resources > Istio.** +1. Go to the **Traffic Metrics** tab. After traffic is generated in your cluster, you should be able to see metrics for **Success Rate, Request Volume, 4xx Response Count, Project 5xx Response Count** and **Request Duration.** \ No newline at end of file diff --git a/content/rancher/v2.x/en/cluster-admin/volumes-and-storage/_index.md b/content/rancher/v2.x/en/cluster-admin/volumes-and-storage/_index.md index 90c22786be7..0032cecead6 100644 --- a/content/rancher/v2.x/en/cluster-admin/volumes-and-storage/_index.md +++ b/content/rancher/v2.x/en/cluster-admin/volumes-and-storage/_index.md @@ -49,20 +49,15 @@ Each storage class contains the fields `provisioner`, `parameters`, and `reclaim The `provisioner` determines which volume plugin is used to provision the persistent volumes. -{{% accordion id="provisioners" label="Supported Storage Class Provisioners" %}} +{{% accordion id="provisioners" label="Enabled Storage Class Provisioners" %}} - Amazon EBS Disk - AzureFile - AzureDisk -- Ceph RBD -- Gluster Volume - Google Persistent Disk - Longhorn -- Openstack Cinder Volume -- Portworx Volume -- Quobyte Volume -- ScaleIO Volume -- StorageOS - Vmware vSphere Volume +- Local + {{% /accordion %}}
diff --git a/content/rancher/v2.x/en/cluster-provisioning/custom-clusters/_index.md b/content/rancher/v2.x/en/cluster-provisioning/custom-clusters/_index.md index 84c184fc6fc..8c9cb4a8504 100644 --- a/content/rancher/v2.x/en/cluster-provisioning/custom-clusters/_index.md +++ b/content/rancher/v2.x/en/cluster-provisioning/custom-clusters/_index.md @@ -3,6 +3,8 @@ title: Custom Cluster weight: 2210 --- +When you create a custom cluster, Rancher uses RKE (the Rancher Kubernetes Engine) to provision the Kubernetes cluster on your existing infrastructure. + If you don't want to host your Kubernetes cluster in a [hosted kubernetes provider]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/hosted-kubernetes-clusters) or provision nodes through Rancher, you can use the _custom cluster_ option to create a Kubernetes cluster in on-premise bare-metal servers, on-premise virtual machines, or in _any_ node hosted by an infrastructure provider. -In this scenario, you'll bring the nodes yourself, and then configure them to meet Rancher's [requirements]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/rke-clusters/custom-nodes/#requirements). Then, use the [Custom Nodes]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/rke-clusters/custom-nodes/) install option to setup your cluster. +In this scenario, you'll bring the nodes yourself, and then configure them to meet Rancher's [requirements]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/rke-clusters/custom-nodes/#requirements). Then, use the [Custom Nodes]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/rke-clusters/custom-nodes/) install option to set up your cluster. diff --git a/content/rancher/v2.x/en/cluster-provisioning/custom-clusters/agent-options/_index.md b/content/rancher/v2.x/en/cluster-provisioning/custom-clusters/agent-options/_index.md index 925c5df7aff..72156f1e8e9 100644 --- a/content/rancher/v2.x/en/cluster-provisioning/custom-clusters/agent-options/_index.md +++ b/content/rancher/v2.x/en/cluster-provisioning/custom-clusters/agent-options/_index.md @@ -16,7 +16,8 @@ Rancher deploys an agent on each node to communicate with the node. This pages d | `--token` | `CATTLE_TOKEN` | Token that is needed to register the node in Rancher | | `--ca-checksum` | `CATTLE_CA_CHECKSUM` | The SHA256 checksum of the configured Rancher `cacerts` setting to validate | | `--node-name` | `CATTLE_NODE_NAME` | Override the hostname that is used to register the node (defaults to `hostname -s`) | -| `--label` | `CATTLE_NODE_LABEL` | Add node labels to the node (`--label key=value`) | +| `--label` | `CATTLE_NODE_LABEL` | Add node labels to the node. For multiple labels, pass additional `--label` options. (`--label key=value`) | +| `--taints` | `CATTLE_NODE_TAINTS` | Add node taints to the node. For multiple taints, pass additional `--taints` options. (`--taints key=value:effect`) | ## Role options diff --git a/content/rancher/v2.x/en/cluster-provisioning/rancher-agents/_index.md b/content/rancher/v2.x/en/cluster-provisioning/rancher-agents/_index.md new file mode 100644 index 00000000000..c54329de49f --- /dev/null +++ b/content/rancher/v2.x/en/cluster-provisioning/rancher-agents/_index.md @@ -0,0 +1,38 @@ +--- +title: Rancher agents +weight: 2400 +--- + +There are two different agent resources deployed on Rancher managed clusters: + +- [cattle-cluster-agent](#cattle-cluster-agent) +- [cattle-node-agent](#cattle-node-agent) + +### cattle-cluster-agent + +The `cattle-cluster-agent` is used to connect to the Kubernetes API of [Rancher Launched Kubernetes]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/rke-clusters/) clusters. The `cattle-cluster-agent` is deployed using a Deployment resource. + +### cattle-node-agent + +The `cattle-node-agent` is used to interact with nodes in a [Rancher Launched Kubernetes]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/rke-clusters/) cluster when performing cluster operations. Examples of cluster operations are upgrading Kubernetes version and creating/restoring etcd snapshots. The `cattle-node-agent` is deployed using a DaemonSet resource to make sure it runs on every node. The `cattle-node-agent` is used as fallback option to connect to the Kubernets API of [Rancher Launched Kubernetes]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/rke-clusters/) clusters when `cattle-cluster-agent` is unavailable. + +> **Note:** In Rancher v2.2.4 and lower, the `cattle-node-agent` pods did not tolerate all taints, causing Kubernetes upgrades to fail on these nodes. The fix for this has been included in Rancher v2.2.5 and higher. + +### Scheduling rules + +_Applies to v2.3.0 and higher_ + +| Component | nodeAffinity nodeSelectorTerms | nodeSelector | Tolerations | +| ---------------------- | ------------------------------------------ | ------------ | ------------------------------------------------------------------------------ | +| `cattle-cluster-agent` | `beta.kubernetes.io/os:NotIn:windows` | none | `operator:Exists` | +| `cattle-node-agent` | `beta.kubernetes.io/os:NotIn:windows` | none | `operator:Exists` | + +The `cattle-cluster-agent` Deployment has preferred scheduling rules using `requiredDuringSchedulingIgnoredDuringExecution`, favoring to be scheduled on nodes with the `controlplane` node. See [Kubernetes: Assigning Pods to Nodes](https://kubernetes.io/docs +concepts/configuration/assign-pod-node/) to find more information about scheduling rules. + +The `requiredDuringSchedulingIgnoredDuringExecution` configuration is shown in the table below: + +| Weight | Expression | +| ------ | ------------------------------------------------ | +| 100 | `node-role.kubernetes.io/controlplane:In:"true"` | +| 1 | `node-role.kubernetes.io/etcd:In:"true"` | diff --git a/content/rancher/v2.x/en/cluster-provisioning/rke-clusters/custom-nodes/_index.md b/content/rancher/v2.x/en/cluster-provisioning/rke-clusters/custom-nodes/_index.md index df127eaf86e..3c374653307 100644 --- a/content/rancher/v2.x/en/cluster-provisioning/rke-clusters/custom-nodes/_index.md +++ b/content/rancher/v2.x/en/cluster-provisioning/rke-clusters/custom-nodes/_index.md @@ -6,6 +6,8 @@ aliases: - /rancher/v2.x/en/tasks/clusters/creating-a-cluster/create-cluster-custom/ --- +When you create a custom cluster, Rancher uses RKE (the Rancher Kubernetes Engine) to provision the Kubernetes cluster on your existing infrastructure. This section describes how to set up a custom cluster. + ## Custom Nodes To use this option you'll need access to servers you intend to use in your Kubernetes cluster. Provision each server according to Rancher [requirements](#requirements), which includes some hardware specifications and Docker. After you install Docker on each server, run the command provided in the Rancher UI to turn each server into a Kubernetes node. @@ -55,7 +57,7 @@ Each node in your cluster must meet our [Requirements]({{< baseurl >}}/rancher/v 5. {{< step_create-cluster_cluster-options >}} - >**Using Windows nodes as Kubernetes workers?** + >**Using Windows nodes as Kubernetes workers?** > >- See [Enable the Windows Support Option]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/rke-clusters/windows-clusters/#enable-the-windows-support-option). >- The only Network Provider available for clusters with Windows support is Flannel. See [Networking Option]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/rke-clusters/windows-clusters/#networking-option). @@ -68,10 +70,7 @@ Each node in your cluster must meet our [Requirements]({{< baseurl >}}/rancher/v >- Using Windows nodes as Kubernetes workers? See [Node Configuration]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/rke-clusters/windows-clusters/#node-configuration). >- Bare-Metal Server Reminder: If you plan on dedicating bare-metal servers to each role, you must provision a bare-metal server for each role (i.e. provision multiple bare-metal servers). -8. **Optional**: Click **Show advanced options** to specify IP address(es) to use when registering the node, override the hostname of the node or to add labels to the node. - - [Rancher Agent Options]({{< baseurl >}}/rancher/v2.x/en/admin-settings/agent-options/)
- [Kubernetes Documentation: Labels](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/) +8. **Optional**: Click **[Show advanced options]({{< baseurl >}}/rancher/v2.x/en/admin-settings/agent-options/)** to specify IP address(es) to use when registering the node, override the hostname of the node, or to add [labels](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/) or [taints](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/) to the node. 9. Copy the command displayed on screen to your clipboard. diff --git a/content/rancher/v2.x/en/cluster-provisioning/rke-clusters/node-pools/_index.md b/content/rancher/v2.x/en/cluster-provisioning/rke-clusters/node-pools/_index.md index 8e96cf63b2e..7c44a74833f 100644 --- a/content/rancher/v2.x/en/cluster-provisioning/rke-clusters/node-pools/_index.md +++ b/content/rancher/v2.x/en/cluster-provisioning/rke-clusters/node-pools/_index.md @@ -5,19 +5,81 @@ aliases: - /rancher/v2.x/en/concepts/global-configuration/node-templates/ --- -## Node Pools +# Node Templates -Using Rancher, you can create pools of nodes based on a [node template](#node-templates). The benefit of using a node pool is that if a node loses connectivity with the cluster, Rancher will automatically create another node to join the cluster to ensure that the count of the node pool is as expected. +A node template is the saved configuration for the parameters to use when provisioning nodes in a specific cloud provider. These nodes can be launched from the UI. Rancher uses [Docker Machine](https://docs.docker.com/machine/) to provision these nodes. The available cloud providers to create node templates are based on the active node drivers in Rancher. -Each node pool is assigned with a [node component]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/#node-components) to specify how these nodes should be configured for the Kubernetes cluster. +After you create a node template in Rancher, it's saved so that you can use this template again to create node pools. Node templates are bound to your login. After you add a template, you can remove them from your user profile. -## Node Templates +### Node Labels -A node template is the saved configuration for the parameters to use when provisioning nodes in a specific cloud provider. Rancher provides a nice UI to be able to launch these nodes and uses [Docker Machine](https://docs.docker.com/machine/) to provision these nodes. The available cloud providers to create node templates are based on the active node drivers in Rancher. +You can add [labels](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/) on each node template, so that any nodes created from the node template will automatically have these labels on them. -After you create a node template in Rancher, it's saved so that you can use this template again to create other node pools. Node templates are bound to your login. After you add a template, you can remove them from your user profile. +### Node Taints -## Cloud Credentials +_Available as of Rancher v2.3.0_ + +You can add [taints](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/) on each node template, so that any nodes created from the node template will automatically have these taints on them. + +Since taints can be added at a node template and node pool, if there is no conflict with the same key and effect of the taints, all taints will be added to the nodes. If there are taints with the same key and different effect, the taints from the node pool will override the taints from the node template. + +# Node Pools + +Using Rancher, you can create pools of nodes based on a [node template](#node-templates). The benefit of using a node pool is that if a node is destroyed or deleted, you can increase the number of live nodes to compensate for the node that was lost. The node pool helps you ensure that the count of the node pool is as expected. + +Each node pool is assigned with a [node component]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/#kubernetes-cluster-node-components) to specify how these nodes should be configured for the Kubernetes cluster. + +### Node Pool Taints + +_Available as of Rancher v2.3.0_ + +If you haven't defined [taints](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/) on your node template, you can add taints for each node pool. The benefit of adding taints at a node pool is beneficial over adding it at a node template is that you can swap out the node templates without worrying if the taint is on the node template. + +For each taint, they will automatically be added to any created node in the node pool. Therefore, if you add taints to a node pool that have existing nodes, the taints won't apply to existing nodes in the node pool, but any new node added into the node pool will get the taint. + +When there are taints on the node pool and node template, if there is no conflict with the same key and effect of the taints, all taints will be added to the nodes. If there are taints with the same key and different effect, the taints from the node pool will override the taints from the node template. + +### Node Auto-replace + +_Available as of Rancher v2.3.0_ + +If a node is in a node pool, Rancher can automatically replace unreachable nodes. Rancher will use the existing node template for the given node pool to recreate the node if it becomes inactive for a specified number of minutes. + +{{% accordion id="how-does-node-auto-replace-work" label="How does Node Auto-replace Work?" %}} + Node auto-replace works on top of the Kubernetes node controller. The node controller periodically checks the status of all the nodes (configurable via the `--node-monitor-period` flag of the `kube-controller`). When a node is unreachable, the node controller will taint that node. When this occurs, Rancher will begin its deletion countdown. You can configure the amount of time Rancher waits to delete the node. If the taint is not removed before the deletion countdown ends, Rancher will proceed to delete the node object. Rancher will then provision a node in accordance with the set quantity of the node pool. +{{% /accordion %}} + +### Enabling Node Auto-replace + +When you create the node pool, you can specify the amount of time in minutes that Rancher will wait to replace an unresponsive node. + +1. In the form for creating a cluster, go to the **Node Pools** section. +1. Go to the node pool where you want to enable node auto-replace. In the **Recreate Unreachable After** field, enter the number of minutes that Rancher should wait for a node to respond before replacing the node. +1. Fill out the rest of the form for creating a cluster. + +**Result:** Node auto-replace is enabled for the node pool. + +You can also enable node auto-replace after the cluster is created with the following steps: + +1. From the Global view, click the Clusters tab. +1. Go to the cluster where you want to enable node auto-replace, click the vertical ellipsis **(…)**, and click **Edit.** +1. In the **Node Pools** section, go to the node pool where you want to enable node auto-replace. In the **Recreate Unreachable After** field, enter the number of minutes that Rancher should wait for a node to respond before replacing the node. +1. Click **Save.** + +**Result:** Node auto-replace is enabled for the node pool. + +### Disabling Node Auto-replace + +You can disable node auto-replace from the Rancher UI with the following steps: + +1. From the Global view, click the Clusters tab. +1. Go to the cluster where you want to enable node auto-replace, click the vertical ellipsis **(…)**, and click **Edit.** +1. In the **Node Pools** section, go to the node pool where you want to enable node auto-replace. In the **Recreate Unreachable After** field, enter 0. +1. Click **Save.** + +**Result:** Node auto-replace is disabled for the node pool. + +# Cloud Credentials _Available as of v2.2.0_ @@ -33,6 +95,6 @@ Node templates can use cloud credentials to store credentials for launching node After cloud credentials are created, the user can start [managing the cloud credentials that they created]({{< baseurl >}}/rancher/v2.x/en/user-settings/cloud-credentials/). -## Node Drivers +# Node Drivers If you don't find the node driver that you want to use, you can see if it is available in Rancher's built-in [node drivers and activate it]({{< baseurl >}}/rancher/v2.x/en/admin-settings/drivers/node-drivers/#activating-deactivating-node-drivers), or you can [add your own custom node driver]({{< baseurl >}}/rancher/v2.x/en/admin-settings/drivers/node-drivers/#adding-custom-node-drivers). diff --git a/content/rancher/v2.x/en/cluster-provisioning/rke-clusters/windows-clusters/_index.md b/content/rancher/v2.x/en/cluster-provisioning/rke-clusters/windows-clusters/_index.md index 7b9d1af8fc5..f1d67ca9a52 100644 --- a/content/rancher/v2.x/en/cluster-provisioning/rke-clusters/windows-clusters/_index.md +++ b/content/rancher/v2.x/en/cluster-provisioning/rke-clusters/windows-clusters/_index.md @@ -3,139 +3,170 @@ title: Configuring Custom Clusters for Windows weight: 2240 --- ->**Notes:** -> ->- Configuring Windows clusters is new and improved for Rancher v2.3.0! ->- Still using v2.1.x or v2.2.x? See the documentation for how to provision Windows clusters on [previous versions]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/rke-clusters/windows-clusters/docs-for-2.1-and-2.2/). As of v2.1.10 and v2.2.4, the ability to provision Windows clusters has been removed in the 2.1.x and 2.2.x lines. +_Available as of v2.3.0_ -_Available as of v2.3.0-alpha1_ ->**Important:** -> ->Support for Windows nodes is currently an experimental feature and is not yet officially supported in Rancher. Therefore, we do not recommend using Windows nodes in a production environment. +When provisioning a [custom cluster]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/custom-clusters/) using Rancher, Rancher uses RKE (the Rancher Kubernetes Engine) to provision the Kubernetes custom cluster on your existing infrastructure. -When provisioning a [custom cluster]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/custom-clusters/) using Rancher, you can use a mix of Linux and Windows hosts as your cluster nodes. +You can use a mix of Linux and Windows hosts as your cluster nodes. Windows nodes can only be used for deploying workloads, while Linux nodes are required for cluster management. -This guide walks you through the creation of a custom cluster that includes three nodes. +You can only add Windows nodes to a cluster if Windows support is enabled. Windows support can be enabled for new custom clusters that use Kubernetes 1.15+ and the Flannel network provider. Windows support cannot be enabled for existing clusters. -* A Linux node, which serves as the Kubernetes control plane node. -* Another Linux node, which serves as a Kubernetes worker used to support Rancher Cluster agent, Metrics server, DNS and Ingress for the cluster. -* A Windows node, which is assigned the Kubernetes worker role and runs your Windows containers. +For a summary of Kubernetes features supported in Windows, see the Kubernetes documentation on [supported functionality and limitations for using Kubernetes with Windows](https://kubernetes.io/docs/setup/production-environment/windows/intro-windows-in-kubernetes/#supported-functionality-and-limitations) or the [guide for scheduling Windows containers in Kubernetes](https://kubernetes.io/docs/setup/production-environment/windows/user-guide-windows-containers/). -## Prerequisites - -Before provisioning a new cluster, be sure that you have already installed Rancher on a device that accepts inbound network traffic. This is required in order for the cluster nodes to communicate with Rancher. If you have not already installed Rancher, please refer to the [installation documentation]({{< baseurl >}}/rancher/v2.x/en/installation/) before proceeding with this guide. - -For a summary of Kubernetes features supported in Windows, see [Using Windows Server Containers in Kubernetes](https://kubernetes.io/docs/getting-started-guides/windows/#supported-features). - -### Node Requirements - -In order to add Windows worker nodes, the node must be running Windows Server 2019 (i.e. core version 1809 or above). Any earlier versions (e.g. core version 1803 and earlier) do not properly support Kubernetes. - -Windows overlay networking requires that [KB4489899](https://support.microsoft.com/en-us/help/4489899) hotfix is installed. Most cloud-hosted VMs already have this hotfix. - -### Container Requirements - -Windows requires that containers must be built on the same Windows Server version that they are being deployed on. Therefore, containers must be built on Windows Server 2019 core version 1809. If you have existing containers built for Windows Server 2019 core version 1803 or earlier, they must be re-built on Windows Server 2019 core version 1809. - -## Steps for Creating a Cluster with Windows Support - -To set up a custom cluster with support for Windows nodes and containers, you will need to complete the series of tasks listed below. +This guide covers the following topics: - -- [1. Provision Hosts](#1-provision-hosts) -- [2. Create the Custom Cluster](#2-create-the-custom-cluster) -- [3. Add Linux Master Node](#3-add-linux-master-node) -- [4. Add Linux Worker Node](#4-add-linux-worker-node) -- [5. Add Windows Workers](#5-add-windows-workers) -- [6. Cloud-host VM Routes Configuration for Host Gateway Mode (Optional)](#6-cloud-hosted-vm-routes-configuration-for-host-gateway-mode) -- [7. Configuration for Azure Files (Optional)](#7-configuration-for-azure-files) +- [Prerequisites](#prerequisites) +- [Requirements](#requirements-for-windows-clusters) + - [OS and Docker](#os-and-docker) + - [Hardware](#hardware) + - [Networking](#networking) + - [Architecture](#architecture) + - [Containers](#containers) +- [Tutorial: How to Create a Cluster with Windows Support](#tutorial-how-to-create-a-cluster-with-windows-support) +- [Configuration for Storage Classes in Azure](#configuration-for-storage-classes-in-azure) -## 1. Provision Hosts +# Prerequisites -To begin provisioning a custom cluster with Windows support, prepare your hosts. Provision three nodes according to our [installation requirements]({{< baseurl >}}/rancher/v2.x/en/installation/requirements/) - two Linux, one Windows. Your hosts can be: +Before provisioning a new cluster, be sure that you have already installed Rancher on a device that accepts inbound network traffic. This is required in order for the cluster nodes to communicate with Rancher. If you have not already installed Rancher, please refer to the [installation documentation]({{< baseurl >}}/rancher/v2.x/en/installation/) before proceeding with this guide. + +> **Note on Cloud Providers:** If you set a Kubernetes cloud provider in your cluster, some additional steps are required. You might want to set a cloud provider if you want to want to leverage a cloud provider's capabilities, for example, to automatically provision storage, load balancers, or other infrastructure for your cluster. Refer to [this page]({{}}/rancher/v2.x/en/cluster-provisioning/rke-clusters/options/cloud-providers/) for details on how to configure a cloud provider cluster of nodes that meet the prerequisites. + +# Requirements for Windows Clusters + +For a custom cluster, the general node requirements for networking, operating systems, and Docker are the same as the node requirements for a [Rancher installation]({{< baseurl >}}/rancher/v2.x/en/installation/requirements/). + +### OS and Docker + +In order to add Windows worker nodes to a cluster, the node must be running Windows Server 2019 (i.e. core version 1903 or above) and [Docker 19.03.]({{}}/rancher/v2.x/en/installation/requirements/) + +>**Notes:** +> +>- If you are using AWS, Rancher recommends *Microsoft Windows Server 2019 Base with Containers* as the Amazon Machine Image (AMI). +>- If you are using GCE, Rancher recommends *Windows Server 2019 Datacenter for Containers* as the OS image. + +### Hardware + +The hosts in the cluster need to have at least: + +- 2 core CPUs +- 4.5 GiB memory (~4.83 GB) +- 30 GiB of disk space (~32.21 GB) + +Rancher will not provision the node if the node does not meet these requirements. + +### Networking + +Rancher only supports Windows using Flannel as the network provider. + +There are two network options: [**Host Gateway (L2bridge)**](https://github.com/coreos/flannel/blob/master/Documentation/backends.md#host-gw) and [**VXLAN (Overlay)**](https://github.com/coreos/flannel/blob/master/Documentation/backends.md#vxlan). The default option is **VXLAN (Overlay)** mode. + +For **Host Gateway (L2bridge)** networking, it's best to use the same Layer 2 network for all nodes. Otherwise, you need to configure the route rules for them. For details, refer to the [documentation on configuring cloud-hosted VM routes.]({{}}/rancher/v2.x/en/cluster-provisioning/rke-clusters/windows-clusters/host-gateway-requirements/#cloud-hosted-vm-routes-configuration) You will also need to [disable private IP address checks]({{}}/rancher/v2.x/en/cluster-provisioning/rke-clusters/windows-clusters/host-gateway-requirements/#disabling-private-ip-address-checks) if you are using Amazon EC2, Google GCE, or Azure VM. + +For **VXLAN (Overlay)** networking, the [KB4489899](https://support.microsoft.com/en-us/help/4489899) hotfix must be installed. Most cloud-hosted VMs already have this hotfix. + +### Architecture + +The Kubernetes cluster management nodes (`etcd` and `controlplane`) must be run on Linux nodes. + +The `worker` nodes, which is where your workloads will be deployed on, will typically be Windows nodes, but there must be at least one `worker` node that is run on Linux in order to run the Rancher cluster agent, DNS, metrics server, and Ingress related containers. + +We recommend the minimum three-node architecture listed in the table below, but you can always add additional Linux and Windows workers to scale up your cluster for redundancy: + + + +Node | Operating System | Kubernetes Cluster Role(s) | Purpose +--------|------------------|----------------------------|-------- +Node 1 | Linux (Ubuntu Server 18.04 recommended) | [Control Plane]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/#control-plane-nodes), [etcd]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/#etcd-nodes), [Worker]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/#worker-nodes) | Manage the Kubernetes cluster +Node 2 | Linux (Ubuntu Server 18.04 recommended) | [Worker]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/#worker-nodes) | Support the Rancher Cluster agent, Metrics server, DNS, and Ingress for the cluster +Node 3 | Windows (Windows Server 2019 required) | [Worker]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/#worker-nodes) | Run your Windows containers + +### Containers + +Windows requires that containers must be built on the same Windows Server version that they are being deployed on. Therefore, containers must be built on Windows Server 2019 core version 1903. If you have existing containers built for an earlier Windows Server 2019 core version, they must be re-built on Windows Server 2019 core version 1903. + +# Tutorial: How to Create a Cluster with Windows Support + +This tutorial describes how to create a Rancher-provisioned cluster with the three nodes in the [recommended architecture.](#guide-architecture) + +When you provision a custom cluster with Rancher, you will add nodes to the cluster by installing the [Rancher agent]({{}}/rancher/v2.x/en/cluster-provisioning/custom-clusters/agent-options/) on each one. When you create or edit your cluster from the Rancher UI, you will see a **Customize Node Run Command** that you can run on each server to add it to your custom cluster. + +To set up a custom cluster with support for Windows nodes and containers, you will need to complete the tasks below. + + +1. [Provision Hosts](#1-provision-hosts) +1. [Create the Custom Cluster](#2-create-the-custom-cluster) +1. [Add Nodes to the Cluster](#3-add-nodes-to-the-cluster) +1. [Optional: Configuration for Azure Files](#5-optional-configuration-for-azure-files) + + +# 1. Provision Hosts + +To begin provisioning a custom cluster with Windows support, prepare your hosts. + +Your hosts can be: - Cloud-hosted VMs - VMs from virtualization clusters - Bare-metal servers -The table below lists the [Kubernetes roles]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/#kubernetes-cluster-node-components) you'll assign to each host. The roles will be enabled later on in the configuration process. The first node, a Linux host, is primarily responsible for managing the Kubernetes control plane. In this guide, we will be installing all three roles on this node. The second node is also a Linux worker, which is responsible for running a DNS server, Ingress controller, Metrics server and Rancher Cluster agent. The third node, a Windows worker, will run your Windows containers. +You will provision three nodes: -Node | Operating System | Future Cluster Role(s) ---------|------------------|------ -Node 1 | Linux (Ubuntu Server 18.04 recommended) | [Control Plane]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/#control-plane-nodes), [etcd]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/#etcd), [Worker]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/#worker-nodes) -Node 2 | Linux (Ubuntu Server 18.04 recommended) | [Worker]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/#worker-nodes) -Node 3 | Windows (Windows Server 2019 required) | [Worker]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/#worker-nodes) +- One Linux node, which manages the Kubernetes control plane and stores your `etcd` +- A second Linux node, which will be another worker node +- The Windows node, which will run your Windows containers as a worker node ->**Notes:** -> ->- If you are using AWS, you should choose *Microsoft Windows Server 2019 Base with Containers* as the Amazon Machine Image (AMI). ->- If you are using GCE, you should choose *Windows Server 2019 Datacenter for Containers* as the OS image. +Node | Operating System +-----|----------------- +Node 1 | Linux (Ubuntu Server 18.04 recommended) +Node 2 | Linux (Ubuntu Server 18.04 recommended) +Node 3 | Windows (Windows Server 2019 required) -### Requirements +If your nodes are hosted by a **Cloud Provider** and you want automation support such as loadbalancers or persistent storage devices, your nodes have additional configuration requirements. For details, see [Selecting Cloud Providers.]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/rke-clusters/options/cloud-providers) -- You can view the general requirements for Linux and Windows nodes in the [installation section]({{< baseurl >}}/rancher/v2.x/en/installation/requirements/). -- For **Host Gateway (L2bridge)** networking, it's best to use the same Layer 2 network for all nodes. Otherwise, you need to configure the route rules for them. -- For **VXLAN (Overlay)** networking, you must confirm that Windows Server 2019 has the [KB4489899](https://support.microsoft.com/en-us/help/4489899) hotfix installed. Most cloud-hosted VMs already have this hotfix. -- Your cluster must include at least one Linux worker node to run Rancher Cluster agent, DNS, Metrics server and Ingress related containers. -- Although we recommend the three node architecture listed in the table above, you can always add additional Linux and Windows workers to scale up your cluster for redundancy. +# 2. Create the Custom Cluster -## 2. Create the Custom Cluster +The instructions for creating a custom cluster that supports Windows nodes are very similar to the general [instructions for creating a custom cluster]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/rke-clusters/custom-nodes/#2-create-the-custom-cluster) with some Windows-specific requirements. -The instructions for creating a custom cluster that supports Windows nodes are very similar to the general [instructions for creating a custom cluster]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/rke-clusters/custom-nodes/#2-create-the-custom-cluster) with some Windows specific requirements. The entire process is documented below. +Windows support only be enabled if the cluster uses Kubernetes v1.15+ and the Flannel network provider. -1. From the main Rancher dashboard click on the **Clusters** tab and select **Add Cluster**. +1. From the **Global** view, click on the **Clusters** tab and click **Add Cluster**. -1. The first section asks where the cluster is hosted. You should select **Custom**. +1. Click **From existing nodes (Custom)**. -1. Enter a name for your cluster in the **Cluster Name** text box. +1. Enter a name for your cluster in the **Cluster Name** text box. -1. {{< step_create-cluster_member-roles >}} +1. In the **Kubernetes Version** dropdown menu, select v1.15 or above. -1. {{< step_create-cluster_cluster-options >}} +1. In the **Network Provider** field, select **Flannel.** - In order to use Windows workers, you must choose the following options: - - You must select `v1.14` or above for **Kubernetes Version**. - - You must select **Flannel** as the **Network Provider**. There are two options: [**Host Gateway (L2bridge)**](https://github.com/coreos/flannel/blob/master/Documentation/backends.md#host-gw) and [**VXLAN (Overlay)**](https://github.com/coreos/flannel/blob/master/Documentation/backends.md#vxlan). The default option is **VXLAN (Overlay)** mode. - - You must select **Enable** for **Windows Support**. +1. In the **Windows Support** section, click **Enable.** -1. If your nodes are hosted by a **Cloud Provider** and you want automation support such as loadbalancers or persistent storage devices, see [Selecting Cloud Providers]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/rke-clusters/options/cloud-providers) for configuration info. +1. Optional: After you enable Windows support, you will be able to choose the Flannel backend. There are two network options: [**Host Gateway (L2bridge)**](https://github.com/coreos/flannel/blob/master/Documentation/backends.md#host-gw) and [**VXLAN (Overlay)**](https://github.com/coreos/flannel/blob/master/Documentation/backends.md#vxlan). The default option is **VXLAN (Overlay)** mode. 1. Click **Next**. +> **Important:** For **Host Gateway (L2bridge)** networking, it's best to use the same Layer 2 network for all nodes. Otherwise, you need to configure the route rules for them. For details, refer to the [documentation on configuring cloud-hosted VM routes.]({{}}/rancher/v2.x/en/cluster-provisioning/rke-clusters/windows-clusters/host-gateway-requirements/#cloud-hosted-vm-routes-configuration) You will also need to [disable private IP address checks]({{}}/rancher/v2.x/en/cluster-provisioning/rke-clusters/windows-clusters/host-gateway-requirements/#disabling-private-ip-address-checks) if you are using Amazon EC2, Google GCE, or Azure VM. +# 3. Add Nodes to the Cluster ->**Important:** If you are using *Host Gateway (L2bridge)* mode and hosting your nodes on any of the cloud services listed below, you must disable the private IP address checks for both your Linux or Windows hosts on startup. To disable this check for each node, follow the directions provided by each service below. +This section describes how to register your Linux and Worker nodes to your custom cluster. -Service | Directions to disable private IP address checks ---------|------------------------------------------------ -Amazon EC2 | [Disabling Source/Destination Checks](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_NAT_Instance.html#EIP_Disable_SrcDestCheck) -Google GCE | [Enabling IP Forwarding for Instances](https://cloud.google.com/vpc/docs/using-routes#canipforward) -Azure VM | [Enable or Disable IP Forwarding](https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-network-interface#enable-or-disable-ip-forwarding) +### Add Linux Master Node -## 3. Add Linux Master Node +The first node in your cluster should be a Linux host has both the **Control Plane** and **etcd** roles. At a minimum, both of these roles must be enabled for this node, and this node must be added to your cluster before you can add Windows hosts. -The first node in your cluster should be a Linux host that fills both *Control Plane* and *etcd* role. Both of these two roles must be fulfilled before you can add Windows hosts to your cluster. At a minimum, the node must have 2 roles enabled, but we recommend enabling all three. The following table lists our recommended settings (we'll provide the recommended settings for nodes 2 and 3 later). +In this section, we fill out a form on the Rancher UI to get a custom command to install the Rancher agent on the Linux master node. Then we will copy the command and run it on our Linux master node to register the node in the cluster. -Option | Setting --------|-------- -Node Operating System | Linux -Node Roles | etcd
Control Plane
Worker (optional) +1. In the **Node Operating System** section, click **Linux**. -1. For Node Operating System select **Linux**. +1. In the **Node Role** section, choose at least **etcd** and **Control Plane**. We recommend selecting all three. -1. From **Node Role**, choose at least **etcd** and **Control Plane**. +1. Optional: If you click **Show advanced options,** you can customize the settings for the [Rancher agent]({{< baseurl >}}/rancher/v2.x/en/admin-settings/agent-options/) and [node labels.](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/) -1. **Optional**: Click **Show advanced options** to specify IP address(es) to use when registering the node, override the hostname of the node or to add labels to the node. - - [Rancher Agent Options]({{< baseurl >}}/rancher/v2.x/en/admin-settings/agent-options/)
- [Kubernetes Documentation: Labels](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/) - -1. Copy the command displayed on the screen to your clipboard. - - >**Note:** Repeat steps 7-10 if you want to dedicate specific hosts to specific node roles. Repeat the steps as many times as needed. +1. Copy the command displayed on the screen to your clipboard. 1. SSH into your Linux host and run the command that you copied to your clipboard. @@ -143,19 +174,20 @@ Node Roles | etcd
Control Plane
Worker (optional) {{< result_create-cluster >}} -## 4. Add Linux Worker Node +It may take a few minutes for the node to be registered in your cluster. -After the initial provisioning of your custom cluster, your cluster only has a single Linux host. Add another Linux host, which will be used to support *Rancher cluster agent*, *Metrics server*, *DNS* and *Ingress* for your cluster. +### Add Linux Worker Node -1. Using the content menu, open the custom cluster your created in [2. Create the Custom Cluster](#2-create-the-custom-cluster). +After the initial provisioning of your custom cluster, your cluster only has a single Linux host. Next, we add another Linux `worker` host, which will be used to support *Rancher cluster agent*, *Metrics server*, *DNS* and *Ingress* for your cluster. -1. From the main menu, select **Nodes**. -1. Click **Edit Cluster**. +1. From the **Global** view, click **Clusters.** + +1. Go to the custom cluster that you created and click **Ellipsis (...) > Edit.** 1. Scroll down to **Node Operating System**. Choose **Linux**. -1. Select the **Worker** role. +1. In the **Customize Node Run Command** section, go to the **Node Options** and select the **Worker** role. 1. Copy the command displayed on screen to your clipboard. @@ -163,19 +195,25 @@ After the initial provisioning of your custom cluster, your cluster only has a s 1. From **Rancher**, click **Save**. -**Result:** The **Worker** role is installed on your Linux host, and the node registers with Rancher. +**Result:** The **Worker** role is installed on your Linux host, and the node registers with Rancher. It may take a few minutes for the node to be registered in your cluster. -## 5. Add Windows Workers +> **Note:** Taints on Linux Worker Nodes +> +>For each Linux worker node added into the cluster, the following taints will be added to Linux worker node. By adding this taint to the Linux worker node, any workloads added to the windows cluster will be automatically scheduled to the Windows worker node. If you want to schedule workloads specifically onto the Linux worker node, you will need to add tolerations to those workloads. + +>Taint Key | Taint Value | Taint Effect +>---|---|--- +>`cattle.io/os` | `linux` | `NoSchedule` + +### Add a Windows Worker Node You can add Windows hosts to a custom cluster by editing the cluster and choosing the **Windows** option. -1. From the main menu, select **Nodes**. +1. From the **Global** view, click **Clusters.** -1. Click **Edit Cluster**. +1. Go to the custom cluster that you created and click **Ellipsis (...) > Edit.** -1. Scroll down to **Node Operating System**. Choose **Windows**. - -1. Select the **Worker** role. +1. Scroll down to **Node Operating System**. Choose **Windows**. Note: You will see that the **worker** role is the only available role. 1. Copy the command displayed on screen to your clipboard. @@ -183,33 +221,11 @@ You can add Windows hosts to a custom cluster by editing the cluster and choosin 1. From Rancher, click **Save**. -1. **Optional:** Repeat these instruction if you want to add more Windows nodes to your cluster. +1. Optional: Repeat these instructions if you want to add more Windows nodes to your cluster. -**Result:** The **Worker** role is installed on your Windows host, and the node registers with Rancher. +**Result:** The **Worker** role is installed on your Windows host, and the node registers with Rancher. It may take a few minutes for the node to be registered in your cluster. You now have a Windows Kubernetes cluster. -## 6. Cloud-hosted VM Routes Configuration for Host Gateway Mode - -If you are using the [**Host Gateway (L2bridge)**](https://github.com/coreos/flannel/blob/master/Documentation/backends.md#host-gw) backend of Flannel, all containers on the same node belong to a private subnet, and traffic routes from a subnet on one node to a subnet on another node through the host network. - -- When worker nodes are provisioned on AWS, virtualization clusters, or bare metal servers, make sure they belong to the same layer 2 subnet. If the nodes don't belong to the same layer 2 subnet, `host-gw` networking will not work. - -- When worker nodes are provisioned on GCE or Azure, they are not on the same layer 2 subnet. Nodes on GCE and Azure belong to a routable layer 3 network. Follow the instructions below to configure GCE and Azure so that the cloud network knows how to route the host subnets on each node. - -To configure host subnet routing on GCE or Azure, first run the following command to find out the host subnets on each worker node: - -```bash -kubectl get nodes -o custom-columns=nodeName:.metadata.name,nodeIP:status.addresses[0].address,routeDestination:.spec.podCIDR -``` - -Then follow the instructions for each cloud provider to configure routing rules for each node: - -Service | Instructions ---------|------------- -Google GCE | For GCE, add a static route for each node: [Adding a Static Route](https://cloud.google.com/vpc/docs/using-routes#addingroute). -Azure VM | For Azure, create a routing table: [Custom Routes: User-defined](https://docs.microsoft.com/en-us/azure/virtual-network/virtual-networks-udr-overview#user-defined). - - -## 7. Configuration for Azure Files +# Configuration for Storage Classes in Azure If you are using Azure VMs for your nodes, you can use [Azure files](https://docs.microsoft.com/en-us/azure/aks/azure-files-dynamic-pv) as a [storage class]({{< baseurl >}}/rancher/v2.x/en/cluster-admin/volumes-and-storage/#adding-storage-classes) for the cluster. @@ -219,7 +235,7 @@ In order to have the Azure platform create the required storage resources, follo 1. Configure `kubectl` to connect to your cluster. -1. Copy the `ClusterRole` and `ClusterRoleBinding` manifest for service account. +1. Copy the `ClusterRole` and `ClusterRoleBinding` manifest for the service account: --- apiVersion: rbac.authorization.k8s.io/v1 diff --git a/content/rancher/v2.x/en/cluster-provisioning/rke-clusters/windows-clusters/docs-for-2.1-and-2.2/_index.md b/content/rancher/v2.x/en/cluster-provisioning/rke-clusters/windows-clusters/docs-for-2.1-and-2.2/_index.md index 2aa36f0243d..be87786d30e 100644 --- a/content/rancher/v2.x/en/cluster-provisioning/rke-clusters/windows-clusters/docs-for-2.1-and-2.2/_index.md +++ b/content/rancher/v2.x/en/cluster-provisioning/rke-clusters/windows-clusters/docs-for-2.1-and-2.2/_index.md @@ -3,25 +3,28 @@ title: v2.1.x and v2.2.x Windows Documentation (Experimental) weight: 9100 --- ->**Note:** This section describes how to provision Windows clusters in Rancher v2.1.x and v2.2.x. If you are using Rancher v2.3.0 or later, please refer to the new documentation for [v2.3.0 or later]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/rke-clusters/windows-clusters/). - _Available from v2.1.0 to v2.1.9 and v2.2.0 to v2.2.3_ ->**Important:** -> ->Support for Windows nodes is currently an experimental feature and is not yet officially supported in Rancher. Therefore, we do not recommend using Windows nodes in a production environment. +This section describes how to provision Windows clusters in Rancher v2.1.x and v2.2.x. If you are using Rancher v2.3.0 or later, please refer to the new documentation for [v2.3.0 or later]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/rke-clusters/windows-clusters/). -When provisioning a [custom cluster]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/custom-clusters/) using Rancher, you can use a mix of Linux and Windows hosts as your cluster nodes. +When you create a [custom cluster]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/custom-clusters/), Rancher uses RKE (the Rancher Kubernetes Engine) to provision the Kubernetes cluster on your existing infrastructure. -This guide walks you through create of a custom cluster that includes 3 nodes: a Linux node, which serves as a Kubernetes control plane node; another Linux node, which serves as a Kubernetes worker used to support Ingress for the cluster; and a Windows node, which is assigned the Kubernetes worker role and runs your Windows containers. +You can provision a custom Windows cluster using Rancher by using a mix of Linux and Windows hosts as your cluster nodes. ->**Notes:** -> ->- For a summary of Kubernetes features supported in Windows, see [Using Windows in Kubernetes](https://kubernetes.io/docs/setup/windows/intro-windows-in-kubernetes/). ->- Windows containers must run on Windows Server 1803 nodes. Windows Server 1709 and earlier versions do not support Kubernetes properly. ->- Containers built for Windows Server 1709 or earlier do not run on Windows Server 1803. You must build containers on Windows Server 1803 to run these containers on Windows Server 1803. +>**Important:** In versions of Rancher prior to v2.3, support for Windows nodes is experimental. Therefore, it is not recommended to use Windows nodes for production environments if you are using Rancher prior to v2.3. +This guide walks you through create of a custom cluster that includes three nodes: +- A Linux node, which serves as a Kubernetes control plane node +- Another Linux node, which serves as a Kubernetes worker used to support Ingress for the cluster +- A Windows node, which is assigned the Kubernetes worker role and runs your Windows containers + +For a summary of Kubernetes features supported in Windows, see [Using Windows in Kubernetes](https://kubernetes.io/docs/setup/windows/intro-windows-in-kubernetes/). + +## OS and Container Requirements + +- For clusters provisioned with Rancher v2.1.x and v2.2.x, containers must run on Windows Server 1803. +- You must build containers on Windows Server 1803 to run these containers on Windows Server 1803. ## Objectives for Creating Cluster with Windows Support diff --git a/content/rancher/v2.x/en/cluster-provisioning/rke-clusters/windows-clusters/host-gateway-requirements/_index.md b/content/rancher/v2.x/en/cluster-provisioning/rke-clusters/windows-clusters/host-gateway-requirements/_index.md new file mode 100644 index 00000000000..ee075c394de --- /dev/null +++ b/content/rancher/v2.x/en/cluster-provisioning/rke-clusters/windows-clusters/host-gateway-requirements/_index.md @@ -0,0 +1,37 @@ +--- +title: Networking Requirements for Host Gateway (L2bridge) +weight: 1000 +--- + +This section describes how to configure custom Windows clusters that are using *Host Gateway (L2bridge)* mode. + +### Disabling Private IP Address Checks + +If you are using *Host Gateway (L2bridge)* mode and hosting your nodes on any of the cloud services listed below, you must disable the private IP address checks for both your Linux or Windows hosts on startup. To disable this check for each node, follow the directions provided by each service below. + +Service | Directions to disable private IP address checks +--------|------------------------------------------------ +Amazon EC2 | [Disabling Source/Destination Checks](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_NAT_Instance.html#EIP_Disable_SrcDestCheck) +Google GCE | [Enabling IP Forwarding for Instances](https://cloud.google.com/vpc/docs/using-routes#canipforward) (By default, a VM cannot forward a packet originated by another VM) +Azure VM | [Enable or Disable IP Forwarding](https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-network-interface#enable-or-disable-ip-forwarding) + +### Cloud-hosted VM Routes Configuration + +If you are using the [**Host Gateway (L2bridge)**](https://github.com/coreos/flannel/blob/master/Documentation/backends.md#host-gw) backend of Flannel, all containers on the same node belong to a private subnet, and traffic routes from a subnet on one node to a subnet on another node through the host network. + +- When worker nodes are provisioned on AWS, virtualization clusters, or bare metal servers, make sure they belong to the same layer 2 subnet. If the nodes don't belong to the same layer 2 subnet, `host-gw` networking will not work. + +- When worker nodes are provisioned on GCE or Azure, they are not on the same layer 2 subnet. Nodes on GCE and Azure belong to a routable layer 3 network. Follow the instructions below to configure GCE and Azure so that the cloud network knows how to route the host subnets on each node. + +To configure host subnet routing on GCE or Azure, first run the following command to find out the host subnets on each worker node: + +```bash +kubectl get nodes -o custom-columns=nodeName:.metadata.name,nodeIP:status.addresses[0].address,routeDestination:.spec.podCIDR +``` + +Then follow the instructions for each cloud provider to configure routing rules for each node: + +Service | Instructions +--------|------------- +Google GCE | For GCE, add a static route for each node: [Adding a Static Route](https://cloud.google.com/vpc/docs/using-routes#addingroute). +Azure VM | For Azure, create a routing table: [Custom Routes: User-defined](https://docs.microsoft.com/en-us/azure/virtual-network/virtual-networks-udr-overview#user-defined). diff --git a/content/rancher/v2.x/en/faq/_index.md b/content/rancher/v2.x/en/faq/_index.md index fa194605866..7e72c60a334 100644 --- a/content/rancher/v2.x/en/faq/_index.md +++ b/content/rancher/v2.x/en/faq/_index.md @@ -42,7 +42,7 @@ Yes. In the upcoming Rancher v2.1 release we will provide a tool to help transla #### Can I still create templates for environments and clusters? Starting with 2.0, the concept of an environment has now been changed to a Kubernetes cluster as going forward, only the Kubernetes orchestration engine is supported. -Kubernetes Cluster Templates is on our roadmap for 2.x. Please refer to our Release Notes and documentation for all the features that we currently support. +Kubernetes RKE Templates is on our roadmap for 2.x. Please refer to our Release Notes and documentation for all the features that we currently support. #### Can you still add an existing host to an environment? (i.e. not provisioned directly from Rancher) diff --git a/content/rancher/v2.x/en/installation/air-gap-high-availability/_index.md b/content/rancher/v2.x/en/installation/air-gap-high-availability/_index.md deleted file mode 100644 index 4febd45ac7e..00000000000 --- a/content/rancher/v2.x/en/installation/air-gap-high-availability/_index.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -title: "Air Gap: High Availability Install" -weight: 290 -aliases: - - /rancher/v2.x/en/installation/air-gap-installation/ ---- - -## Prerequisites - -Rancher supports air gap installs using a private registry. You must have your own private registry or other means of distributing Docker images to your machines. If you need help with creating a private registry, please refer to the [Docker documentation](https://docs.docker.com/registry/). - -The following CLI tools are required for this install. Make sure these tools are installed on your workstation and available in your `$PATH`. - -* [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/#install-kubectl) - Kubernetes command-line tool. -* [rke]({{< baseurl >}}/rke/latest/en/installation/) - Rancher Kubernetes Engine, cli for building Kubernetes clusters. -* [helm](https://docs.helm.sh/using_helm/#installing-helm) - Package management for Kubernetes. - ->**Note:** If you install Rancher in an HA configuration in an air gap environment, you cannot transition to a single-node setup during future upgrades. - -## Installation Outline - -- [1. Create Nodes and Load Balancer]({{< baseurl >}}/rancher/v2.x/en/installation/air-gap-high-availability/provision-hosts/) -- [2. Collect and Publish Image Sources]({{< baseurl >}}/rancher/v2.x/en/installation/air-gap-high-availability/prepare-private-registry/) -- [3. Install Kubernetes with RKE]({{< baseurl >}}/rancher/v2.x/en/installation/air-gap-high-availability/install-kube/) -- [4. Install Rancher]({{< baseurl >}}/rancher/v2.x/en/installation/air-gap-high-availability/install-rancher/) -- [5. Configure Rancher System Charts]({{< baseurl >}}/rancher/v2.x/en/installation/air-gap-high-availability/config-rancher-system-charts/) - -### [Next: Create Nodes and Load Balancer]({{< baseurl >}}/rancher/v2.x/en/installation/air-gap-high-availability/provision-hosts/) diff --git a/content/rancher/v2.x/en/installation/air-gap-high-availability/config-rancher-system-charts/_index.md b/content/rancher/v2.x/en/installation/air-gap-high-availability/config-rancher-system-charts/_index.md deleted file mode 100644 index b0d5e08b85b..00000000000 --- a/content/rancher/v2.x/en/installation/air-gap-high-availability/config-rancher-system-charts/_index.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -title: "5. Configure Rancher System Charts" -weight: 600 -aliases: - - /rancher/v2.x/en/installation/air-gap-high-availability/config-rancher-for-private-reg/ ---- - -# A. Prepare System Charts - -The [System Charts](https://github.com/rancher/system-charts) repository contains all the catalog items required for features such as monitoring, logging, alerting and global DNS. To be able to use these features in an air gap install, you will need to mirror the `system-charts` repository to a location in your network that Rancher can reach and configure Rancher to use that repository. - -Refer to the release notes in the `system-charts` repository to see which branch corresponds to your version of Rancher. - -# B. Configure System Charts - -Rancher needs to be configured to use your Git mirror of the `system-charts` repository. You can configure the system charts repository either from the Rancher UI or from Rancher's API view. - -### Configuring the Registry from the Rancher UI - -In the catalog management page in the Rancher UI, follow these steps: - -1. Go to the **Global** view. - -1. Click **Tools > Catalogs.** - -1. The system chart is displayed under the name `system-library`. To edit the configuration of the system chart, click **Ellipsis (...) > Edit.** - -1. In the **Catalog URL** field, enter the location of the Git mirror of the `system-charts` repository. - -1. Click **Save.** - -**Result:** Rancher is configured to download all the required catalog items from your `system-charts` repository. - -### Configuring the Registry in Rancher's API View - -1. Log into Rancher. - -1. Open `https:///v3/catalogs/system-library` in your browser. - - ![Open]({{< baseurl >}}/img/rancher/airgap/system-charts-setting.png) - -1. Click **Edit** on the upper right corner and update the value for **url** to the location of the Git mirror of the `system-charts` repository. - - ![Update]({{< baseurl >}}/img/rancher/airgap/system-charts-update.png) - -1. Click **Show Request** - -1. Click **Send Request** - -**Result:** Rancher is configured to download all the required catalog items from your `system-charts` repository. \ No newline at end of file diff --git a/content/rancher/v2.x/en/installation/air-gap-high-availability/install-rancher/_index.md b/content/rancher/v2.x/en/installation/air-gap-high-availability/install-rancher/_index.md deleted file mode 100644 index acabfbe8f7e..00000000000 --- a/content/rancher/v2.x/en/installation/air-gap-high-availability/install-rancher/_index.md +++ /dev/null @@ -1,189 +0,0 @@ ---- -title: 4. Install Rancher -weight: 400 -aliases: - - /rancher/v2.x/en/installation/air-gap-installation/install-rancher/ ---- - -## A. Add the Helm Chart Repository - - -From a system that has access to the internet, render the installs and copy the resulting manifests to a system that has access to the Rancher server cluster. - -1. If you haven't already, initialize `helm` locally on a system that has internet access. - - ```plain - helm init -c - ``` - -2. Use `helm repo add` command to add the Helm chart repository that contains charts to install Rancher. For more information about the repository choices and which is best for your use case, see [Choosing a Version of Rancher]({{< baseurl >}}/rancher/v2.x/en/installation/server-tags/#helm-chart-repositories). - - {{< release-channel >}} - - ``` - helm repo add rancher- https://releases.rancher.com/server-charts/ - ``` -3. Fetch the latest Rancher chart. This will pull down the chart and save it in the current directory as a `.tgz` file. - - ```plain - helm fetch rancher-/rancher - ``` - ->Want additional options? Need help troubleshooting? See [High Availability Install: Advanced Options]({{< baseurl >}}/rancher/v2.x/en/installation/ha/helm-rancher/#advanced-configurations). - - -## B. Choose your SSL Configuration - -Rancher Server is designed to be secure by default and requires SSL/TLS configuration. - -For HA air gap configurations, there are two recommended options for the source of the certificate. - -> **Note:** If you want terminate SSL/TLS externally, see [TLS termination on an External Load Balancer]({{< baseurl >}}/rancher/v2.x/en/installation/ha/helm-rancher/chart-options/#external-tls-termination). - -| Configuration | Chart option | Description | Requires cert-manager | -|-----|-----|-----|-----| -| [Rancher Generated Self-Signed Certificates](#self-signed) | `ingress.tls.source=rancher` | Use certificates issued by Rancher's generated CA (self signed)
This is the **default** | yes | -| [Certificates from Files](#secret) | `ingress.tls.source=secret` | Use your own certificate files by creating Kubernetes Secret(s) | no | - -## C. Set Up the Rancher Template - -Based on the choice your made in [B. Choose your SSL Configuration](#b-optional-install-cert-manager), complete one of the procedures below. - -In this section you will configure your cert manager and private registry in the Rancher template. - -{{% accordion id="self-signed" label="Option A: Default Self-Signed Certificate" %}} -By default, Rancher generates a CA and uses cert-manager to issue the certificate for access to the Rancher server interface. - -> **Note:** -> Recent changes to cert-manager require an upgrade. If you are upgrading Rancher and using a version of cert-manager older than v0.9.1, please see our [upgrade documentation]({{< baseurl >}}/rancher/v2.x/en/installation/options/upgrading-cert-manager/). - -1. From a system connected to the internet, add the cert-manager repo to Helm. - - ```plain - helm repo add jetstack https://charts.jetstack.io - helm repo update - ``` - -1. Fetch the latest cert-manager chart available from the [Helm chart repository](https://hub.helm.sh/charts/jetstack/cert-manager). - - ```plain - helm fetch jetstack/cert-manager --version v0.9.1 - ``` - -1. Render the cert manager template with the options you would like to use to install the chart. Remember to set the `image.repository` option to pull the image from your private registry. This will create a `cert-manager` directory with the Kubernetes manifest files. - - ```plain - helm template ./cert-manager-v0.9.1.tgz --output-dir . \ - --name cert-manager --namespace cert-manager \ - --set image.repository=/quay.io/jetstack/cert-manager-controller - --set webhook.image.repository=/quay.io/jetstack/cert-manager-webhook - --set cainjector.image.repository=/quay.io/jetstack/cert-manager-cainjector - ``` - -1. Download the required CRD file for cert-manager - - ```plain - curl -L -o cert-manager/cert-manager-crd.yaml https://raw.githubusercontent.com/jetstack/cert-manager/release-0.9/deploy/manifests/00-crds.yaml - ``` - -1. Render the Rancher template, declaring your chosen options. Use the reference table below to replace each placeholder. Rancher needs to be configured to use the private registry in order to provision any Rancher launched Kubernetes clusters or Rancher tools. To configure Rancher to use your private registry when starting the `rancher/rancher` container, use the `CATTLE_SYSTEM_DEFAULT_REGISTRY` variable. You can set the the extra environment variable `extraEnv` to use the same `name` and `value` keys as the container manifest definitions. Remember to quote the values: - - Placeholder | Description - ------------|------------- - `` | The version number of the output tarball. - `` | The DNS name you pointed at your load balancer. - `` | The DNS name for your private registry.). - - - ```plain - helm template ./rancher-.tgz --output-dir . \ - --name rancher \ - --namespace cattle-system \ - --set hostname= \ - --set rancherImage=/rancher/rancher - --set 'extraEnv[0].name=CATTLE_SYSTEM_DEFAULT_REGISTRY' - --set 'extraEnv[0].value=' - ``` - - Placeholder | Description - ------------|------------- - `` | The version number of the output tarball. - `` | The DNS name you pointed at your load balancer. - `` | The DNS name for your private registry. This configures Rancher to use your private registry when starting the `rancher/rancher` container. - -{{% /accordion %}} - -{{% accordion id="secret" label="Option B: Certificates for Files (Kubernetes Secret)" %}} - -1. Create Kubernetes secrets from your own certificates for Rancher to use. - - > **Note:** The common name for the cert will need to match the `hostname` option or the ingress controller will fail to provision the site for Rancher. - -1. Render the Rancher template, declaring your chosen options. Use the reference table below to replace each placeholder. Rancher needs to be configured to use the private registry in order to provision any Rancher launched Kubernetes clusters or Rancher tools. To configure Rancher to use your private registry when starting the `rancher/rancher` container, the `CATTLE_SYSTEM_DEFAULT_REGISTRY` variable. You can set the the extra environment variable `extraEnv` to use the same `name` and `value` keys as the container manifest definitions. Remember to quote the values: - - ``` - helm template ./rancher-.tgz --output-dir . \ - --name rancher \ - --namespace cattle-system \ - --set hostname= \ - --set rancherImage=/rancher/rancher \ - --set ingress.tls.source=secret - --set 'extraEnv[0].name=CATTLE_SYSTEM_DEFAULT_REGISTRY' - --set 'extraEnv[0].value=' - ``` - - Placeholder | Description - ------------|------------- - `` | The version number of the output tarball. - `` | The DNS name you pointed at your load balancer. - `` | The DNS name for your private registry. This configures Rancher to use your private registry when starting the `rancher/rancher` container. - - > **Note:** If you are using a Private CA signed cert, add `--set privateCA=true` following `--set ingress.tls.source=secret` - -1. See [Adding TLS Secrets]({{< baseurl >}}/rancher/v2.x/en/installation/ha/helm-rancher/tls-secrets/) to publish the certificate files so Rancher and the ingress controller can use them. -{{% /accordion %}} - -## D. Install Rancher - -Copy the rendered manifest directories to a system that has access to the Rancher server cluster to complete installation. - -Use `kubectl` to create namespaces and apply the rendered manifests. - -If you are using self-signed certificates, install cert-manager: - -1. Create the namespace for cert-manager. - ```plain - kubectl create namespace cert-manager - ``` - -1. Label the cert-manager namespace to disable resource validation. - ```plain - kubectl label namespace cert-manager certmanager.k8s.io/disable-validation=true - ``` - -1. Create the cert-manager CustomResourceDefinitions (CRDs). - ```plain - kubectl apply -f cert-manager/cert-manager-crd.yaml - ``` - -1. Launch cert-manager. - ```plain - kubectl apply -R -f ./cert-manager - ``` - -Install rancher: - -```plain -kubectl create namespace cattle-system -kubectl -n cattle-system apply -R -f ./rancher -``` - -### Additional Resources - -These resources could be helpful when you install Rancher: - -- [Rancher Helm chart options]({{}}rancher/v2.x/en/installation/ha/helm-rancher/chart-options/) -- [Adding TLS secrets]({{}}/rancher/v2.x/en/installation/ha/helm-rancher/tls-secrets/) -- [Troubleshooting Rancher HA installations]({{}}/rancher/v2.x/en/installation/ha/helm-rancher/troubleshooting/) - -### [Next: Configure Rancher System Charts]({{< baseurl >}}/rancher/v2.x/en/installation/air-gap-high-availability/config-rancher-system-charts/) diff --git a/content/rancher/v2.x/en/installation/air-gap-high-availability/prepare-private-registry/_index.md b/content/rancher/v2.x/en/installation/air-gap-high-availability/prepare-private-registry/_index.md deleted file mode 100644 index bf699e4bba1..00000000000 --- a/content/rancher/v2.x/en/installation/air-gap-high-availability/prepare-private-registry/_index.md +++ /dev/null @@ -1,94 +0,0 @@ ---- -title: "2. Prepare Private Registry" -weight: 200 -aliases: - - /rancher/v2.x/en/installation/air-gap-installation/prepare-private-reg/ ---- - ->**Prerequisites:** You must have a [private registry](https://docs.docker.com/registry/deploying/) available to use. - -By default, all system images are being pulled from DockerHub. If you are on a system that does not have access to DockerHub, you will need to create a private registry that is populated with all the required [system images]({{< baseurl >}}/rke/latest/en/config-options/system-images/). - -As of RKE v0.1.10, you have to configure your private registry. You can specify this registry as a default registry so that all system images are pulled from the designated private registry. You can use the command `rke config --system-images` to get the list of default system images to populate your private registry. For details, refer to the [RKE documentation on how to set a default registry]({{}}/rke/latest/en/config-options/private-registries/). - -Prior to RKE v0.1.10, you had to configure your private registry **and** update the names of all the [system images]({{< baseurl >}}/rke/latest/en/config-options/system-images/) in the `cluster.yml` so that the image names would have the private registry URL appended before each image name. - -When configuring your private registry, you only need to provide credentials if your registry requires them. - -## A. Collect Images - -Start by collecting all the images needed to install Rancher in an air gap environment. You'll collect images from your chosen Rancher release, RKE, and (if you're using a self-signed TLS certificate) Cert-Manager. - -1. Using a computer with internet access, browse to our [releases page](https://github.com/rancher/rancher/releases) and find the Rancher v2.x release that you want to install. Don't download releases marked `rc` or `Pre-release`, as they are not stable for production environments. - - ![Choose Release Version]({{< baseurl >}}/img/rancher/choose-release-version.png) - -2. From the release's **Assets** section (pictured above), download the following three files, which are required to install Rancher in an air gap environment: - - - | Release File | Description | - | --- | --- | - | `rancher-images.txt` | This file contains a list of all files needed to install Rancher. - | `rancher-save-images.sh` | This script pulls all the images in the `rancher-images.txt` from Docker Hub and saves all of the images as `rancher-images.tar.gz`. | - | `rancher-load-images.sh` | This script loads images from the `rancher-images.tar.gz` file and pushes them to your private registry. | - - -1. Make `rancher-save-images.sh` an executable. - - ``` - chmod +x rancher-save-images.sh - ``` - - -1. From the directory that contains the RKE binary, add RKE's images to `rancher-images.txt`, which is a list of all the files needed to install Rancher. - - ``` - rke config --system-images >> ./rancher-images.txt - ``` -1. **Default Rancher Generated Self-Signed Certificate Users Only:** If you elect to use the Rancher default self-signed TLS certificates, you must add the [`cert-manager`](https://github.com/helm/charts/tree/master/stable/cert-manager) image to `rancher-images.txt` as well. You may skip this step if you are using you using your own certificates. - - 1. Fetch the latest `cert-manager` Helm chart and parse the template for image details. - - > **Note:** Recent changes to cert-manager require an upgrade. If you are upgrading Rancher and using a version of cert-manager older than v0.9.1, please see our [upgrade documentation]({{< baseurl >}}/rancher/v2.x/en/installation/options/upgrading-cert-manager/). - - ```plain - helm repo add jetstack https://charts.jetstack.io - helm repo update - helm fetch jetstack/cert-manager --version v0.9.1 - helm template ./cert-manager-.tgz | grep -oP '(?<=image: ").*(?=")' >> ./rancher-images.txt - ``` - - 2. Sort and unique the images list to remove any overlap between the sources. - - ```plain - sort -u rancher-images.txt -o rancher-images.txt - ``` - -1. Run `rancher-save-images.sh` with the `rancher-images.txt` image list to create a tarball of all the required images. - - ```plain - ./rancher-save-images.sh --image-list ./rancher-images.txt - ``` - - **Step Result:** Docker begins pulling the images used for an air gap install. Be patient. This process takes a few minutes. When the process completes, your current directory will output a tarball named `rancher-images.tar.gz`. Check that the output is in the directory. - -## B. Publish Images - - -Using a computer with access to the internet and your private registry, move the images from `rancher-images.txt` to your private registry using the image scripts. - ->**Note:** Image publication may require up to 20GB of empty disk space. - -1. Log into your private registry if required. - - ```plain - docker login - ``` - -1. Use `rancher-load-images.sh` to extract, tag and push `rancher-images.txt` and `rancher-images.tar.gz` to your private registry. - - ```plain - ./rancher-load-images.sh --image-list ./rancher-images.txt --registry - ``` - -### [Next: Install Kubernetes with RKE]({{< baseurl >}}/rancher/v2.x/en/installation/air-gap-high-availability/install-kube/) diff --git a/content/rancher/v2.x/en/installation/air-gap-high-availability/provision-hosts/_index.md b/content/rancher/v2.x/en/installation/air-gap-high-availability/provision-hosts/_index.md deleted file mode 100644 index 1048763f0d8..00000000000 --- a/content/rancher/v2.x/en/installation/air-gap-high-availability/provision-hosts/_index.md +++ /dev/null @@ -1,39 +0,0 @@ ---- -title: "1. Create Nodes and Load Balancer" -weight: 100 -aliases: ---- -Provision three air gapped Linux hosts according to our requirements below to launch Rancher in an HA configuration. - -These hosts should be disconnected from the internet, but should have connectivity with your private registry. - -### Host Requirements - -View hardware and software requirements for each of your cluster nodes in [Requirements]({{< baseurl >}}/rancher/v2.x/en/installation/requirements). - -### Recommended Architecture - -- DNS for Rancher should resolve to a layer 4 load balancer -- The Load Balancer should forward port TCP/80 and TCP/443 to all 3 nodes in the Kubernetes cluster. -- The Ingress controller will redirect HTTP to HTTPS and terminate SSL/TLS on port TCP/443. -- The Ingress controller will forward traffic to port TCP/80 on the pod in the Rancher deployment. - -
HA Rancher install with layer 4 load balancer, depicting SSL termination at ingress controllers
- -![Rancher HA]({{< baseurl >}}/img/rancher/ha/rancher2ha.svg) - -### Load Balancer - -RKE, the installer that provisions your air gapped cluster, will configure an Ingress controller pod on each of your nodes. The Ingress controller pods are bound to ports TCP/80 and TCP/443 on the host network and are the entry point for HTTPS traffic to the Rancher server. - -Configure a load balancer as a basic Layer 4 TCP forwarder. The exact configuration will vary depending on your environment. - ->**Important:** ->Do not use this load balancer (i.e, the `local` cluster Ingress) to load balance applications other than Rancher following installation. Sharing this Ingress with other applications may result in websocket errors to Rancher following Ingress configuration reloads for other apps. We recommend dedicating the `local` cluster to Rancher and no other applications. - -**Load Balancer Configuration Samples:** - -- [NGINX]({{< baseurl >}}/rancher/v2.x/en/installation/ha/create-nodes-lb/nginx) -- [Amazon NLB]({{< baseurl >}}/rancher/v2.x/en/installation/ha/create-nodes-lb/nlb) - -### [Next: Collect and Publish Image Sources]({{< baseurl >}}/rancher/v2.x/en/installation/air-gap-high-availability/prepare-private-registry/) diff --git a/content/rancher/v2.x/en/installation/air-gap-single-node/_index.md b/content/rancher/v2.x/en/installation/air-gap-single-node/_index.md deleted file mode 100644 index ee1286bad76..00000000000 --- a/content/rancher/v2.x/en/installation/air-gap-single-node/_index.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -title: "Air Gap: Single Node Install" -weight: 280 ---- - -## Prerequisites - -Rancher supports air gap installs using a private registry. You must have your own private registry or other means of distributing Docker images to your machine. If you need help with creating a private registry, please refer to the [Docker documentation](https://docs.docker.com/registry/). - ->**Note:** If you install Rancher on a single node in an air gap environment, you cannot transition to a HA configuration during future upgrades. - -## Installation Outline - -- [1. Provision Linux Host]({{< baseurl >}}/rancher/v2.x/en/installation/air-gap-single-node/provision-host/) -- [2. Prepare Private Registry]({{< baseurl >}}/rancher/v2.x/en/installation/air-gap-single-node/prepare-private-registry/) -- [3. Choose an SSL Option and Install Rancher]({{< baseurl >}}/rancher/v2.x/en/installation/air-gap-single-node/install-rancher/) -- [4. Configure Rancher for Private Registry]({{< baseurl >}}/rancher/v2.x/en/installation/air-gap-single-node/config-rancher-for-private-reg/) -- [5. Configure Rancher System Charts]({{< baseurl >}}/rancher/v2.x/en/installation/air-gap-single-node/config-rancher-system-charts/) - -### [Next: Provision Linux Host]({{< baseurl >}}/rancher/v2.x/en/installation/air-gap-single-node/provision-host/) diff --git a/content/rancher/v2.x/en/installation/air-gap-single-node/config-rancher-system-charts/_index.md b/content/rancher/v2.x/en/installation/air-gap-single-node/config-rancher-system-charts/_index.md deleted file mode 100644 index d322108daf5..00000000000 --- a/content/rancher/v2.x/en/installation/air-gap-single-node/config-rancher-system-charts/_index.md +++ /dev/null @@ -1,49 +0,0 @@ ---- -title: "5. Configure Rancher System Charts" -weight: 500 -aliases: ---- - -# A. Prepare System Charts - -The [System Charts](https://github.com/rancher/system-charts) repository contains all the catalog items required for features such as monitoring, logging, alerting and global DNS. To be able to use these features in an air gap install, you will need to mirror the `system-charts` repository to a location in your network that Rancher can reach and configure Rancher to use that repository. - -Refer to the release notes in the `system-charts` repository to see which branch corresponds to your version of Rancher. - -# B. Configure System Charts - -Rancher needs to be configured to use your Git mirror of the `system-charts` repository. You can configure the system charts repository either from the Rancher UI or from Rancher's API view. - -### Configuring the Registry from the Rancher UI - -In the catalog management page in the Rancher UI, follow these steps: - -1. Go to the **Global** view. - -1. Click **Tools > Catalogs.** - -1. The system chart is displayed under the name `system-library`. To edit the configuration of the system chart, click **Ellipsis (...) > Edit.** - -1. In the **Catalog URL** field, enter the location of the Git mirror of the `system-charts` repository. - -1. Click **Save.** - -**Result:** Rancher is configured to download all the required catalog items from your `system-charts` repository. - -### Configuring the Registry in Rancher's API View - -1. Log into Rancher. - -1. Open `https:///v3/catalogs/system-library` in your browser. - - ![Open]({{< baseurl >}}/img/rancher/airgap/system-charts-setting.png) - -1. Click **Edit** on the upper right corner and update the value for **url** to the location of the Git mirror of the `system-charts` repository. - - ![Update]({{< baseurl >}}/img/rancher/airgap/system-charts-update.png) - -1. Click **Show Request** - -1. Click **Send Request** - -**Result:** Rancher is configured to download all the required catalog items from your `system-charts` repository. \ No newline at end of file diff --git a/content/rancher/v2.x/en/installation/air-gap-single-node/install-rancher/_index.md b/content/rancher/v2.x/en/installation/air-gap-single-node/install-rancher/_index.md deleted file mode 100644 index 305725e4ae6..00000000000 --- a/content/rancher/v2.x/en/installation/air-gap-single-node/install-rancher/_index.md +++ /dev/null @@ -1,97 +0,0 @@ ---- -title: "3. Choose an SSL Option and Install Rancher" -weight: 300 -aliases: ---- - -For development and testing in air gap environments, we recommend installing Rancher by running a single Docker container. In this installation scenario, you'll deploy Rancher to your air gap host using an image pulled from your private registry. - -For security purposes, SSL (Secure Sockets Layer) is required when using Rancher. SSL secures all Rancher network communication, like when you login or interact with a cluster. - ->**Do you want to...** -> ->- Configure custom CA root certificate to access your services? See [Custom CA root certificate]({{< baseurl >}}/rancher/v2.x/en/admin-settings/custom-ca-root-certificate/). ->- Record all transactions with the Rancher API? See [API Auditing]({{< baseurl >}}/rancher/v2.x/en/installation/single-node/#api-audit-log). - -Choose from the following options: - -{{% accordion id="option-a" label="Option A-Default Self-Signed Certificate" %}} - -If you are installing Rancher in a development or testing environment where identity verification isn't a concern, install Rancher using the self-signed certificate that it generates. This installation option omits the hassle of generating a certificate yourself. - -Log into your Linux host, and then run the installation command below. Replace `` with your private registry URL and port. Replace `` with release tag of the [Rancher version]({{< baseurl >}}/rancher/v2.x/en/installation/server-tags/) that you want to install. - -If your private registry doesn't require credentials, you can set it as default when starting the rancher/rancher container by using the environment variable `CATTLE_SYSTEM_DEFAULT_REGISTRY`. - - docker run -d --restart=unless-stopped \ - -p 80:80 -p 443:443 \ - /rancher/rancher: - -{{% /accordion %}} -{{% accordion id="option-b" label="Option B-Bring Your Own Certificate: Self-Signed" %}} -In development or testing environments where your team will access your Rancher server, create a self-signed certificate for use with your install so that your team can verify they're connecting to your instance of Rancher. - ->**Prerequisites:** ->From a computer with an internet connection, create a self-signed certificate using [OpenSSL](https://www.openssl.org/) or another method of your choice. -> ->- The certificate files must be in [PEM format]({{< baseurl >}}/rancher/v2.x/en/installation/single-node/#pem). ->- In your certificate file, include all intermediate certificates in the chain. Order your certificates with your certificate first, followed by the intermediates. For an example, see [SSL FAQ / Troubleshooting]({{< baseurl >}}/rancher/v2.x/en/installation/single-node/#cert-order). - -After creating your certificate, run the Docker command below to install Rancher. Use the `-v` flag and provide the path to your certificates to mount them in your container. - -When entering the command, use the table below to replace each placeholder. - -Placeholder | Description -------------|------------- -`` | The path to the directory containing your certificate files. -`` | The path to your full certificate chain. -`` | The path to the private key for your certificate. -`` | The path to the certificate authority's private key. -`` | Your private registry URL and port. This configures Rancher to use your private registry when starting the `rancher/rancher` container. -`` | The release tag of the [Rancher version]({{< baseurl >}}/rancher/v2.x/en/installation/server-tags/) that you want to install. - -If your private registry doesn't require credentials, you can set it as default when starting the rancher/rancher container by using the environment variable `CATTLE_SYSTEM_DEFAULT_REGISTRY`. - -``` -docker run -d --restart=unless-stopped \ - -p 80:80 -p 443:443 \ - -v //:/etc/rancher/ssl/cert.pem \ - -v //:/etc/rancher/ssl/key.pem \ - -v //:/etc/rancher/ssl/cacerts.pem \ - /rancher/rancher: -``` - - -{{% /accordion %}} -{{% accordion id="option-c" label="Option C-Bring Your Own Certificate: Signed by Recognized CA" %}} - -In production environments where you're exposing an app publicly, use a certificate signed by a recognized CA so that your user base doesn't encounter security warnings. - ->**Prerequisite:** The certificate files must be in [PEM format]({{< baseurl >}}/rancher/v2.x/en/installation/single-node/#pem). - -After obtaining your certificate, run the Docker command below, replacing each placeholder. Because your certificate is signed by a recognized CA, mounting an additional CA certificate file is unnecessary. - -When entering the command, use the table below to replace each placeholder. - -If your private registry doesn't require credentials, you can set it as default when starting the rancher/rancher container by using the environment variable `CATTLE_SYSTEM_DEFAULT_REGISTRY`. - -Placeholder | Description -------------|------------- -`` | The path to the directory containing your certificate files. -`` | The path to your full certificate chain. -`` | The path to the private key for your certificate. -`` | Your private registry URL and port. Use the `--no-cacerts` as argument to the container to disable the default CA certificate generated by Rancher. -`` | The release tag of the [Rancher version]({{< baseurl >}}/rancher/v2.x/en/installation/server-tags/) that you want to install. - - -``` -docker run -d --restart=unless-stopped \ - -p 80:80 -p 443:443 \ - -v //:/etc/rancher/ssl/cert.pem \ - -v //:/etc/rancher/ssl/key.pem \ - /rancher/rancher: --no-cacerts -``` - -{{% /accordion %}} - -### [Next: Configure Rancher for the Private Registry]({{< baseurl >}}/rancher/v2.x/en/installation/air-gap-single-node/config-rancher-for-private-reg/) \ No newline at end of file diff --git a/content/rancher/v2.x/en/installation/air-gap-single-node/prepare-private-registry/_index.md b/content/rancher/v2.x/en/installation/air-gap-single-node/prepare-private-registry/_index.md deleted file mode 100644 index 080568275f2..00000000000 --- a/content/rancher/v2.x/en/installation/air-gap-single-node/prepare-private-registry/_index.md +++ /dev/null @@ -1,55 +0,0 @@ ---- -title: "2. Prepare Private Registry" -weight: 200 -aliases: ---- - ->**Prerequisites:** You must have a [private registry](https://docs.docker.com/registry/deploying/) available to use. - -By default, all system images are being pulled from DockerHub. If you are on a system that does not have access to DockerHub, you will need to create a private registry that is populated with all the required [system images]({{< baseurl >}}/rke/latest/en/config-options/system-images/). - -When configuring your private registry, you only need to provide credentials if your registry requires them. - -## A. Collect Image Sources - -Using a computer with internet access, browse to our [releases page](https://github.com/rancher/rancher/releases) and find the Rancher 2.x.x release that you want to install. Don't download releases marked `rc` or `Pre-release`, as they are not stable for production environments. - -![Choose Release Version]({{< baseurl >}}/img/rancher/choose-release-version.png) - -From the release's **Assets** section, download the following three files, which are required to install Rancher in an air gap environment: - - -| Release File | Description | -| --- | --- | -| `rancher-images.txt` | This file contains a list of all files needed to install Rancher. -| `rancher-save-images.sh` | This script pulls all the images in the `rancher-images.txt` from Docker Hub and saves all of the images as `rancher-images.tar.gz`. | -| `rancher-load-images.sh` | This script loads images from the `rancher-images.tar.gz` file and pushes them to your private registry. | - - -## B. Publish Images - -After collecting the release files, publish the images from `rancher-images.txt` to your private registry using the image scripts. - ->**Note:** Image publication may require up to 20GB of empty disk space. - -1. From a system with internet access, use the `rancher-save-images.sh` with the `rancher-images.txt` image list to create a tarball of all the required images. - - ```plain - ./rancher-save-images.sh --image-list ./rancher-images.txt - ``` - -1. Copy `rancher-load-images.sh`, `rancher-images.txt` and `rancher-images.tar.gz` files to the [Linux host]({{< baseurl >}}/rancher/v2.x/en/installation/air-gap-single-node/provision-host) that you've provisioned by completing the substeps below. - - 1. Log into your registry if required. - - ```plain - docker login - ``` - - 1. Use `rancher-load-images.sh` to extract, tag and push the images to your private registry. - - ```plain - ./rancher-load-images.sh --image-list ./rancher-images.txt --registry - ``` - -### [Next: Choose an SSL Option and Install Rancher]({{< baseurl >}}/rancher/v2.x/en/installation/air-gap-single-node/install-rancher/) diff --git a/content/rancher/v2.x/en/installation/air-gap-single-node/provision-host/_index.md b/content/rancher/v2.x/en/installation/air-gap-single-node/provision-host/_index.md deleted file mode 100644 index 567cf6d0074..00000000000 --- a/content/rancher/v2.x/en/installation/air-gap-single-node/provision-host/_index.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: "1. Provision Linux Host" -weight: 100 -aliases: ---- - -Provision a single, air gapped Linux host according to our [Requirements]({{< baseurl >}}/rancher/v2.x/en/installation/requirements) to launch your {{< product >}} Server. - -This host should be disconnected from the internet, but should have connectivity with your private registry. - -### [Next: Prepare Private Registry]({{< baseurl >}}/rancher/v2.x/en/installation/air-gap-single-node/prepare-private-registry/) diff --git a/content/rancher/v2.x/en/installation/air-gap/_index.md b/content/rancher/v2.x/en/installation/air-gap/_index.md new file mode 100644 index 00000000000..61628b4a872 --- /dev/null +++ b/content/rancher/v2.x/en/installation/air-gap/_index.md @@ -0,0 +1,40 @@ +--- +title: "Air Gap Install" +weight: 290 +aliases: + - /rancher/v2.x/en/installation/air-gap-installation/ + - /rancher/v2.x/en/installation/air-gap-high-availability/ + - /rancher/v2.x/en/installation/air-gap-single-node/ +--- + +This section is about installations of Rancher server in an air gapped environment. An air gapped environment could be where Rancher server will be installed offline, behind a firewall, or behind a proxy. Throughout the installations instructions, there will be _tabs_ for either a high availability installation or a single node installation. + +* **High Availability (HA) Installation:** Rancher recommends installing Rancher in a Highly Available (HA) configuration. An HA installation is comprised of three nodes running the Rancher server components on a Kubernetes cluster. The persistence layer (etcd) is also replicated on these three nodes, providing redundancy and data duplication in case one of the nodes fails. + +* **Single Node Installation:** The single node installation is for Rancher users that are wanting to **test** out Rancher. Instead of running on a Kubernetes cluster, you install the Rancher server component on a single node using a `docker run` command. Since there is only one node and a single Docker container, if the node goes down, there is no copy of the etcd data available on other nodes and you will lose all the data of your Rancher server. **Important: If you install Rancher following the single node installation guide, there is no upgrade path to transition your single node installation to a HA installation.** Instead of running the single node installation, you have the option to follow the HA install guide, but only use one node to install Rancher. Afterwards, you can scale up the etcd nodes in your Kubernetes cluster to make it a HA installation. + +## Prerequisites + +Rancher supports air gap installs using a private registry. You must have your own private registry or other means of distributing Docker images to your machines. If you need help with creating a private registry, please refer to the [Docker documentation](https://docs.docker.com/registry/). + +{{% tabs %}} +{{% tab "HA Install" %}} + +The following CLI tools are required for the HA install. Make sure these tools are installed on your workstation and available in your `$PATH`. + +* [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/#install-kubectl) - Kubernetes command-line tool. +* [rke]({{< baseurl >}}/rke/latest/en/installation/) - Rancher Kubernetes Engine, cli for building Kubernetes clusters. +* [helm](https://docs.helm.sh/using_helm/#installing-helm) - Package management for Kubernetes. + +{{% /tab %}} +{{% /tabs %}} + +## Installation Outline + +- [1. Prepare your Node(s)]({{< baseurl >}}/rancher/v2.x/en/installation/air-gap/prepare-nodes/) +- [2. Collect and Publish Images to your Private Registry]({{< baseurl >}}/rancher/v2.x/en/installation/air-gap/populate-private-registry/) +- [3. Launch a Kubernetes Cluster with RKE]({{< baseurl >}}/rancher/v2.x/en/installation/air-gap/launch-kubernetes/) +- [4. Install Rancher]({{< baseurl >}}/rancher/v2.x/en/installation/air-gap/install-rancher/) + + +### [Next: Prepare your Node(s)]({{< baseurl >}}/rancher/v2.x/en/installation/air-gap/prepare-nodes/) diff --git a/content/rancher/v2.x/en/installation/air-gap/install-rancher/_index.md b/content/rancher/v2.x/en/installation/air-gap/install-rancher/_index.md new file mode 100644 index 00000000000..f679affe276 --- /dev/null +++ b/content/rancher/v2.x/en/installation/air-gap/install-rancher/_index.md @@ -0,0 +1,333 @@ +--- +title: 4. Install Rancher +weight: 400 +aliases: + - /rancher/v2.x/en/installation/air-gap-installation/install-rancher/ + - /rancher/v2.x/en/installation/air-gap-high-availability/config-rancher-system-charts/ + - /rancher/v2.x/en/installation/air-gap-high-availability/config-rancher-for-private-reg/ + - /rancher/v2.x/en/installation/air-gap-high-availability/install-rancher/ + - /rancher/v2.x/en/installation/air-gap-single-node/install-rancher +--- + +This section is about how to deploy Rancher for your air gapped environment. An air gapped environment could be where Rancher server will be installed offline, behind a firewall, or behind a proxy. There are _tabs_ for either a high availability (recommended) or a single node installation. + +{{% tabs %}} +{{% tab "HA Install (Recommended)" %}} + +Rancher recommends installing Rancher in a Highly Available (HA) configuration. An HA installation is comprised of three nodes running the Rancher server components on a Kubernetes cluster. The persistence layer (etcd) is also replicated on these three nodes, providing redundancy and data duplication in case one of the nodes fails. + +This section describes installing Rancher in five parts: + +- [A. Add the Helm Chart Repository](#a-add-the-helm-chart-repository) +- [B. Choose your SSL Configuration](#b-choose-your-ssl-configuration) +- [C. Render the Rancher Helm Template](#c-render-the-rancher-helm-template) +- [D. Install Rancher](#d-install-rancher) +- [E. For Rancher versions prior to v2.3.0, Configure System Charts](#e-for-rancher-versions-prior-to-v2-3-0-configure-system-charts) + +### A. Add the Helm Chart Repository + +From a system that has access to the internet, fetch the latest Helm chart and copy the resulting manifests to a system that has access to the Rancher server cluster. + +1. If you haven't already, initialize `helm` locally on a workstation that has internet access. + + ```plain + helm init -c + ``` + +2. Use `helm repo add` command to add the Helm chart repository that contains charts to install Rancher. For more information about the repository choices and which is best for your use case, see [Choosing a Version of Rancher]({{< baseurl >}}/rancher/v2.x/en/installation/server-tags/#helm-chart-repositories). + + {{< release-channel >}} + + ``` + helm repo add rancher- https://releases.rancher.com/server-charts/ + ``` +3. Fetch the latest Rancher chart. This will pull down the chart and save it in the current directory as a `.tgz` file. + + ```plain + helm fetch rancher-/rancher + ``` + +>Want additional options? Need help troubleshooting? See [High Availability Install: Advanced Options]({{< baseurl >}}/rancher/v2.x/en/installation/ha/helm-rancher/#advanced-configurations). + + +### B. Choose your SSL Configuration + +Rancher Server is designed to be secure by default and requires SSL/TLS configuration. + +For HA air gap configurations, there are two recommended options for the source of the certificate. + +> **Note:** If you want terminate SSL/TLS externally, see [TLS termination on an External Load Balancer]({{}}/rancher/v2.x/en/installation/ha/helm-rancher/chart-options/#external-tls-termination). + +| Configuration | Chart option | Description | Requires cert-manager | +|-----|-----|-----|-----| +| Rancher Generated Self-Signed Certificates | `ingress.tls.source=rancher` | Use certificates issued by Rancher's generated CA (self signed)
This is the **default** and does not need to be added when rendering the Helm template. | yes | +| Certificates from Files | `ingress.tls.source=secret` | Use your own certificate files by creating Kubernetes Secret(s).
This option must be passed when rendering the Rancher Helm template. | no | + +### C. Render the Rancher Helm Template + +When setting up the Rancher Helm template, there are several options in the Helm chart that are designed specifically for air gap installations. + +Chart Option | Chart Value | Description +---|---|--- +`systemDefaultRegistry` | `` | Configure Rancher server to always pull from your private registry when provisioning clusters. +`useBundledSystemChart` | `true` | Configure Rancher server to use the packaged copy of Helm system charts. The [system charts](https://github.com/rancher/system-charts) repository contains all the catalog items required for features such as monitoring, logging, alerting and global DNS. These [Helm charts](https://github.com/rancher/system-charts) are located in GitHub, but since you are in an air gapped environment, using the charts that are bundled within Rancher is much easier than setting up a Git mirror. _Available as of v2.3.0_ + +Based on the choice your made in [B. Choose your SSL Configuration](#b-optional-install-cert-manager), complete one of the procedures below. + +{{% accordion id="self-signed" label="Option A-Default Self-Signed Certificate" %}} + +By default, Rancher generates a CA and uses cert-manager to issue the certificate for access to the Rancher server interface. + +> **Note:** +> Recent changes to cert-manager require an upgrade. If you are upgrading Rancher and using a version of cert-manager older than v0.9.1, please see our [upgrade cert-manager documentation]({{< baseurl >}}/rancher/v2.x/en/installation/options/upgrading-cert-manager/). + +1. From a system connected to the internet, add the cert-manager repo to Helm. + + ```plain + helm repo add jetstack https://charts.jetstack.io + helm repo update + ``` + +1. Fetch the latest cert-manager chart available from the [Helm chart repository](https://hub.helm.sh/charts/jetstack/cert-manager). + + ```plain + helm fetch jetstack/cert-manager --version v0.9.1 + ``` + +1. Render the cert manager template with the options you would like to use to install the chart. Remember to set the `image.repository` option to pull the image from your private registry. This will create a `cert-manager` directory with the Kubernetes manifest files. + + ```plain + helm template ./cert-manager-v0.9.1.tgz --output-dir . \ + --name cert-manager --namespace cert-manager \ + --set image.repository=/quay.io/jetstack/cert-manager-controller + --set webhook.image.repository=/quay.io/jetstack/cert-manager-webhook + --set cainjector.image.repository=/quay.io/jetstack/cert-manager-cainjector + ``` + +1. Download the required CRD file for cert-manager + + ```plain + curl -L -o cert-manager/cert-manager-crd.yaml https://raw.githubusercontent.com/jetstack/cert-manager/release-0.9/deploy/manifests/00-crds.yaml + ``` + +1. Render the Rancher template, declaring your chosen options. Use the reference table below to replace each placeholder. Rancher needs to be configured to use the private registry in order to provision any Rancher launched Kubernetes clusters or Rancher tools. + + + Placeholder | Description + ------------|------------- + `` | The version number of the output tarball. + `` | The DNS name you pointed at your load balancer. + `` | The DNS name for your private registry. + + ```plain + helm template ./rancher-.tgz --output-dir . \ + --name rancher \ + --namespace cattle-system \ + --set hostname= \ + --set rancherImage=/rancher/rancher \ + --set systemDefaultRegistry= \ # Available as of v2.2.0, set a default private registry to be used in Rancher + --set useBundledSystemChart=true # Available as of v2.3.0, use the packaged Rancher system charts + ``` + +{{% /accordion %}} + +{{% accordion id="secret" label="Option B: Certificates From Files using Kubernetes Secrets" %}} + +1. Create Kubernetes secrets from your own certificates for Rancher to use. + + > **Note:** The common name for the cert will need to match the `hostname` option or the ingress controller will fail to provision the site for Rancher. + +1. Render the Rancher template, declaring your chosen options. Use the reference table below to replace each placeholder. Rancher needs to be configured to use the private registry in order to provision any Rancher launched Kubernetes clusters or Rancher tools. + + >**Note:** If you are using a Private CA signed cert, add `--set privateCA=true` following `--set ingress.tls.source=secret`. + + Placeholder | Description + ------------|------------- + `` | The version number of the output tarball. + `` | The DNS name you pointed at your load balancer. + `` | The DNS name for your private registry. + + ```plain + helm template ./rancher-.tgz --output-dir . \ + --name rancher \ + --namespace cattle-system \ + --set hostname= \ + --set rancherImage=/rancher/rancher \ + --set ingress.tls.source=secret \ + --set systemDefaultRegistry= \ # Available as of v2.2.0, set a default private registry to be used in Rancher + --set useBundledSystemChart=true # Available as of v2.3.0, use the packaged Rancher system charts + ``` + +1. See [Adding TLS Secrets]({{}}/rancher/v2.x/en/installation/ha/helm-rancher/tls-secrets/) to publish the certificate files so Rancher and the ingress controller can use them. + +{{% /accordion %}} + +### D. Install Rancher + +Copy the rendered manifest directories to a system that has access to the Rancher server cluster to complete installation. + +Use `kubectl` to create namespaces and apply the rendered manifests. + +If you chose to use self-signed certificates in [B. Choose your SSL Configuration](#b-optional-install-cert-manager), install cert-manager. + +{{% accordion id="install-cert-manager" label="Self-Signed Certificate Installs - Install Cert-manager" %}} + +If you are using self-signed certificates, install cert-manager: + +1. Create the namespace for cert-manager. + ```plain + kubectl create namespace cert-manager + ``` + +1. Label the cert-manager namespace to disable resource validation. + ```plain + kubectl label namespace cert-manager certmanager.k8s.io/disable-validation=true + ``` + +1. Create the cert-manager CustomResourceDefinitions (CRDs). + ```plain + kubectl apply -f cert-manager/cert-manager-crd.yaml + ``` + +1. Launch cert-manager. + ```plain + kubectl apply -R -f ./cert-manager + ``` + +{{% /accordion %}} + +Install Rancher: + +```plain +kubectl create namespace cattle-system +kubectl -n cattle-system apply -R -f ./rancher +``` + +**Step Result:** If you are installing Rancher v2.3.0+, the installation is complete. + +### E. For Rancher versions prior to v2.3.0, Configure System Charts + +If you are installing Rancher versions prior to v2.3.0, you will not be able to use the packaged system charts. Since the Rancher system charts are hosted in Github, an air gapped installation will not be able to access these charts. Therefore, you must [configure the Rancher system charts]({{}}/rancher/v2.x/en/installation/options/local-system-charts/#setting-up-system-charts-for-rancher-prior-to-v2-3-0). + +### Additional Resources + +These resources could be helpful when installing Rancher: + +- [Rancher Helm chart options]({{}}rancher/v2.x/en/installation/ha/helm-rancher/chart-options/) +- [Adding TLS secrets]({{}}/rancher/v2.x/en/installation/ha/helm-rancher/tls-secrets/) +- [Troubleshooting Rancher HA installations]({{}}/rancher/v2.x/en/installation/ha/helm-rancher/troubleshooting/) + +{{% /tab %}} +{{% tab "Single Node Install" %}} + +The single node installation is for Rancher users that are wanting to **test** out Rancher. Instead of running on a Kubernetes cluster, you install the Rancher server component on a single node using a `docker run` command. Since there is only one node and a single Docker container, if the node goes down, there is no copy of the etcd data available on other nodes and you will lose all the data of your Rancher server. **Important: If you install Rancher following the single node installation guide, there is no upgrade path to transition your single node installation to a HA installation.** Instead of running the single node installation, you have the option to follow the HA install guide, but only use one node to install Rancher. Afterwards, you can scale up the etcd nodes in your Kubernetes cluster to make it a HA installation. + +For security purposes, SSL (Secure Sockets Layer) is required when using Rancher. SSL secures all Rancher network communication, like when you login or interact with a cluster. + +Environment Variable Key | Environment Variable Value | Description +---|---|--- +`CATTLE_SYSTEM_DEFAULT_REGISTRY` | `` | Configure Rancher server to always pull from your private registry when provisioning clusters. +`CATTLE_SYSTEM_CATALOG` | `bundled` | Configure Rancher server to use the packaged copy of Helm system charts. The [system charts](https://github.com/rancher/system-charts) repository contains all the catalog items required for features such as monitoring, logging, alerting and global DNS. These [Helm charts](https://github.com/rancher/system-charts) are located in GitHub, but since you are in an air gapped environment, using the charts that are bundled within Rancher is much easier than setting up a Git mirror. _Available as of v2.3.0_ + +>**Do you want to...** +> +>- Configure custom CA root certificate to access your services? See [Custom CA root certificate]({{< baseurl >}}/rancher/v2.x/en/admin-settings/custom-ca-root-certificate/). +>- Record all transactions with the Rancher API? See [API Auditing]({{< baseurl >}}/rancher/v2.x/en/installation/single-node/#api-audit-log). + + +- For Rancher prior to v2.3.0, you will need to mirror the `system-charts` repository to a location in your network that Rancher can reach. Then, after Rancher is installed, you will need to configure Rancher to use that repository. For details, refer to the documentation on [setting up the system charts for Rancher prior to v2.3.0.]({{}}/rancher/v2.x/en/installation/options/local-system-charts/#setting-up-system-charts-for-rancher-prior-to-v2-3-0) + + +Choose from the following options: + +{{% accordion id="option-a" label="Option A-Default Self-Signed Certificate" %}} + +If you are installing Rancher in a development or testing environment where identity verification isn't a concern, install Rancher using the self-signed certificate that it generates. This installation option omits the hassle of generating a certificate yourself. + +Log into your Linux host, and then run the installation command below. When entering the command, use the table below to replace each placeholder. + +Placeholder | Description +------------|------------- +`` | Your private registry URL and port. +`` | The release tag of the [Rancher version]({{< baseurl >}}/rancher/v2.x/en/installation/server-tags/) that you want to install. + + +``` +docker run -d --restart=unless-stopped \ + -p 80:80 -p 443:443 \ + -e CATTLE_SYSTEM_DEFAULT_REGISTRY= \ # Set a default private registry to be used in Rancher + -e CATTLE_SYSTEM_CATALOG=bundled \ #Available as of v2.3.0, use the packaged Rancher system charts + /rancher/rancher: +``` + +{{% /accordion %}} +{{% accordion id="option-b" label="Option B-Bring Your Own Certificate: Self-Signed" %}} + +In development or testing environments where your team will access your Rancher server, create a self-signed certificate for use with your install so that your team can verify they're connecting to your instance of Rancher. + +>**Prerequisites:** +>From a computer with an internet connection, create a self-signed certificate using [OpenSSL](https://www.openssl.org/) or another method of your choice. +> +>- The certificate files must be in [PEM format]({{< baseurl >}}/rancher/v2.x/en/installation/single-node/#pem). +>- In your certificate file, include all intermediate certificates in the chain. Order your certificates with your certificate first, followed by the intermediates. For an example, see [SSL FAQ / Troubleshooting]({{< baseurl >}}/rancher/v2.x/en/installation/single-node/#cert-order). + +After creating your certificate, log into your Linux host, and then run the installation command below. When entering the command, use the table below to replace each placeholder. Use the `-v` flag and provide the path to your certificates to mount them in your container. + +Placeholder | Description +------------|------------- +`` | The path to the directory containing your certificate files. +`` | The path to your full certificate chain. +`` | The path to the private key for your certificate. +`` | The path to the certificate authority's private key. +`` | Your private registry URL and port. +`` | The release tag of the [Rancher version]({{< baseurl >}}/rancher/v2.x/en/installation/server-tags/) that you want to install. + +``` +docker run -d --restart=unless-stopped \ + -p 80:80 -p 443:443 \ + -v //:/etc/rancher/ssl/cert.pem \ + -v //:/etc/rancher/ssl/key.pem \ + -v //:/etc/rancher/ssl/cacerts.pem \ + -e CATTLE_SYSTEM_DEFAULT_REGISTRY= \ # Set a default private registry to be used in Rancher + -e CATTLE_SYSTEM_CATALOG=bundled \ #Available as of v2.3.0, use the packaged Rancher system charts + /rancher/rancher: +``` + +{{% /accordion %}} +{{% accordion id="option-c" label="Option C-Bring Your Own Certificate: Signed by Recognized CA" %}} + +In development or testing environments where you're exposing an app publicly, use a certificate signed by a recognized CA so that your user base doesn't encounter security warnings. + +>**Prerequisite:** The certificate files must be in [PEM format]({{< baseurl >}}/rancher/v2.x/en/installation/single-node/#pem). + +After obtaining your certificate, log into your Linux host, and then run the installation command below. When entering the command, use the table below to replace each placeholder. Because your certificate is signed by a recognized CA, mounting an additional CA certificate file is unnecessary. + +Placeholder | Description +------------|------------- +`` | The path to the directory containing your certificate files. +`` | The path to your full certificate chain. +`` | The path to the private key for your certificate. +`` | Your private registry URL and port. +`` | The release tag of the [Rancher version]({{< baseurl >}}/rancher/v2.x/en/installation/server-tags/) that you want to install. + +> **Note:** Use the `--no-cacerts` as argument to the container to disable the default CA certificate generated by Rancher. + +``` +docker run -d --restart=unless-stopped \ + -p 80:80 -p 443:443 \ + --no-cacerts \ + -v //:/etc/rancher/ssl/cert.pem \ + -v //:/etc/rancher/ssl/key.pem \ + -e CATTLE_SYSTEM_DEFAULT_REGISTRY= \ # Set a default private registry to be used in Rancher + -e CATTLE_SYSTEM_CATALOG=bundled \ #Available as of v2.3.0, use the packaged Rancher system charts + /rancher/rancher: +``` + +{{% /accordion %}} + +If you are installing Rancher v2.3.0+, the installation is complete. + +If you are installing Rancher versions prior to v2.3.0, you will not be able to use the packaged system charts. Since the Rancher system charts are hosted in Github, an air gapped installation will not be able to access these charts. Therefore, you must [configure the Rancher system charts]({{}}/rancher/v2.x/en/installation/options/local-system-charts/#setting-up-system-charts-for-rancher-prior-to-v2-3-0). + +{{% /tab %}} +{{% /tabs %}} diff --git a/content/rancher/v2.x/en/installation/air-gap-high-availability/install-kube/_index.md b/content/rancher/v2.x/en/installation/air-gap/launch-kubernetes/_index.md similarity index 73% rename from content/rancher/v2.x/en/installation/air-gap-high-availability/install-kube/_index.md rename to content/rancher/v2.x/en/installation/air-gap/launch-kubernetes/_index.md index cbd37612477..42efda148ec 100644 --- a/content/rancher/v2.x/en/installation/air-gap-high-availability/install-kube/_index.md +++ b/content/rancher/v2.x/en/installation/air-gap/launch-kubernetes/_index.md @@ -1,11 +1,19 @@ --- -title: "3. Install Kubernetes with RKE" +title: "3. Install Kubernetes with RKE (HA Installs Only)" weight: 300 aliases: - + - /rancher/v2.x/en/installation/air-gap-high-availability/install-kube --- -## A. Create an RKE Config File +>**Note:** Applicable only to HA installations. + +Rancher recommends installing Rancher in a Highly Available (HA) configuration. An HA installation is comprised of three nodes running the Rancher server components on a Kubernetes cluster. The persistence layer (etcd) is also replicated on these three nodes, providing redundancy and data duplication in case one of the nodes fails. + +This section is about how to prepare to launch a Kubernetes cluster which is used to deploy Rancher server for your air gapped environment. An air gapped environment could be where Rancher server will be installed offline, behind a firewall, or behind a proxy. + +Since a HA installation requires a Kubernetes cluster, we will create a Kubernetes cluster using [Rancher Kubernetes Engine]({{< baseurl >}}/rke/latest/en/) (RKE). Before being able to start your Kubernetes cluster, you'll need to create a RKE config file. + +### A. Create an RKE Config File From a system that can access ports 22/tcp and 6443/tcp on your host nodes, use the sample below to create a new file named `rancher-cluster.yml`. This file is a Rancher Kubernetes Engine configuration file (RKE config file), which is a configuration for the cluster you're deploying Rancher to. @@ -51,15 +59,15 @@ private_registries: is_default: true ``` -## B. Run RKE +### B. Run RKE -After configuring `rancher-cluster.yml`, open Terminal and change directories to the RKE binary. Then enter the command below to stand up your high availability cluster. +After configuring `rancher-cluster.yml`, bring up your Kubernetes cluster: ``` rke up --config ./rancher-cluster.yml ``` -## C. Save Your Files +### C. Save Your Files > **Important** > The files mentioned below are needed to maintain, troubleshoot and upgrade your cluster. @@ -68,6 +76,6 @@ Save a copy of the following files in a secure location: - `rancher-cluster.yml`: The RKE cluster configuration file. - `kube_config_rancher-cluster.yml`: The [Kubeconfig file]({{< baseurl >}}/rke/latest/en/kubeconfig/) for the cluster, this file contains credentials for full access to the cluster. -- `rancher-cluster.rkestate`: The [Kubernetes Cluster State file]({{< baseurl >}}/rke/latest/en/installation/#kubernetes-cluster-state), this file contains credentials for full access to the cluster.

_The Kubernetes Cluster State file is only created when using RKE v0.2.0 or higher._ +- `rancher-cluster.rkestate`: The [Kubernetes Cluster State file]({{< baseurl >}}/rke/latest/en/installation/#kubernetes-cluster-state), this file contains credentials for full access to the cluster.

_The Kubernetes Cluster State file is only created when using RKE v0.2.0 or higher._ -### [Next: Install Rancher]({{< baseurl >}}/rancher/v2.x/en/installation/air-gap-high-availability/install-rancher) +### [Next: Install Rancher]({{< baseurl >}}/rancher/v2.x/en/installation/air-gap/install-rancher) diff --git a/content/rancher/v2.x/en/installation/air-gap/populate-private-registry/_index.md b/content/rancher/v2.x/en/installation/air-gap/populate-private-registry/_index.md new file mode 100644 index 00000000000..196a9242cba --- /dev/null +++ b/content/rancher/v2.x/en/installation/air-gap/populate-private-registry/_index.md @@ -0,0 +1,291 @@ +--- +title: "2. Collect and Publish Images to your Private Registry" +weight: 200 +aliases: + - /rancher/v2.x/en/installation/air-gap-installation/prepare-private-reg/ + - /rancher/v2.x/en/installation/air-gap-high-availability/prepare-private-registry/ + - /rancher/v2.x/en/installation/air-gap-single-node/prepare-private-registry/ +--- + +>**Prerequisites:** You must have a [private registry](https://docs.docker.com/registry/deploying/) available to use. +> +>**Note:** Populating the private registry with images is the same process for HA and single node installations, the differences in this section is based on whether or not you are planning to provision a Windows cluster or not. + +By default, all images used to [provision Kubernetes clusters]({{}}/rancher/v2.x/en/cluster-provisioning/) or launch any [tools]({{}}/rancher/v2.x/en/tools/) in Rancher, e.g. monitoring, pipelines, alerts, are pulled from Docker Hub. In an air gap installation of Rancher, you will need a private registry that is located somewhere accessible by your Rancher server. Then, you will load the registry with all the images. + +This section describes how to set up your private registry so that when you install Rancher, Rancher will pull all the required images from this registry. + +By default, we provide the steps of how to populate your private registry assuming you are provisioning Linux only clusters, but if you plan on provisioning any [Windows clusters]({{}}/rancher/v2.x/en/cluster-provisioning/rke-clusters/windows-clusters/), there are separate instructions to support the images needed for a Windows cluster. + +{{% tabs %}} +{{% tab "Linux Only Clusters" %}} + +For Rancher servers that will only provision Linux clusters, these are the steps to populate your private registry. + +A. Find the required assets for your Rancher version
+B. Collect all the required images
+C. Save the images to your workstation
+D. Populate the private registry + +### Prerequisites + +These steps expect you to use a Linux workstation that has internet access, access to your private registry, and at least 20 GB of disk space. + +### A. Find the required assets for your Rancher version + +1. Browse to our [releases page](https://github.com/rancher/rancher/releases) and find the Rancher v2.x.x release that you want to install. Don't download releases marked `rc` or `Pre-release`, as they are not stable for production environments. + +2. From the release's **Assets** section (pictured above), download the following files, which are required to install Rancher in an air gap environment: + + | Release File | Description | + | --- | --- | + | `rancher-images.txt` | This file contains a list of images needed to install Rancher, provision clusters and user Rancher tools. + | `rancher-save-images.sh` | This script pulls all the images in the `rancher-images.txt` from Docker Hub and saves all of the images as `rancher-images.tar.gz`. | + | `rancher-load-images.sh` | This script loads images from the `rancher-images.tar.gz` file and pushes them to your private registry. | + + +### B. Collect all the required images (For HA Installs using Rancher Generated Self-Signed Certificate) + +In an HA install, if you elect to use the Rancher default self-signed TLS certificates, you must add the [`cert-manager`](https://hub.helm.sh/charts/jetstack/cert-manager) image to `rancher-images.txt` as well. You skip this step if you are using you using your own certificates. + +1. Fetch the latest `cert-manager` Helm chart and parse the template for image details: + + > **Note:** Recent changes to cert-manager require an upgrade. If you are upgrading Rancher and using a version of cert-manager older than v0.9.1, please see our [upgrade documentation]({{< baseurl >}}/rancher/v2.x/en/installation/options/upgrading-cert-manager/). + + ```plain + helm repo add jetstack https://charts.jetstack.io + helm repo update + helm fetch jetstack/cert-manager --version v0.9.1 + helm template ./cert-manager-.tgz | grep -oP '(?<=image: ").*(?=")' >> ./rancher-images.txt + ``` + +2. Sort and unique the images list to remove any overlap between the sources: + + ```plain + sort -u rancher-images.txt -o rancher-images.txt + ``` + +### C. Save the images to your workstation + +1. Make `rancher-save-images.sh` an executable: + + ``` + chmod +x rancher-save-images.sh + ``` + +1. Run `rancher-save-images.sh` with the `rancher-images.txt` image list to create a tarball of all the required images: + + ```plain + ./rancher-save-images.sh --image-list ./rancher-images.txt + ``` + + **Step Result:** Docker begins pulling the images used for an air gap install. Be patient. This process takes a few minutes. When the process completes, your current directory will output a tarball named `rancher-images.tar.gz`. Check that the output is in the directory. + + +### D. Populate the private registry + +Move the images in the `rancher-images.tar.gz` to your private registry using the scripts to load the images. The `rancher-images.txt` is expected to be on the workstation in the same directory that you are running the `rancher-load-images.sh` script. + +1. Log into your private registry if required: + + ```plain + docker login + ``` + +1. Make `rancher-load-images.sh` an executable: + + ``` + chmod +x rancher-load-images.sh + ``` + +1. Use `rancher-load-images.sh` to extract, tag and push `rancher-images.txt` and `rancher-images.tar.gz` to your private registry: + + ```plain + ./rancher-load-images.sh --image-list ./rancher-images.txt --registry + ``` +{{% /tab %}} +{{% tab "Linux and Windows Clusters" %}} + +_Available as of v2.3.0_ + +For Rancher servers that will provision Linux and Windows clusters, there are distinctive steps to populate your private registry for the Windows images and the Linux images. Since a Windows cluster is a mix of Linux and Windows nodes, the Linux images pushed into the private registry are manifests. + +### Windows Steps + +The Windows images need to be collected and pushed from a Windows server workstation. + +A. Find the required assets for your Rancher version
+B. Save the images to your Windows Server workstation
+C. Prepare the Docker daemon
+D. Populate the private registry + +{{% accordion label="Collecting and Populating Windows Images into the Private Registry"%}} + +### Prerequisites + +These steps expect you to use a Windows 1903 Server workstation that has internet access, access to your private registry, and at least 50 GB of disk space. + +The workstation must have Docker 18.02+ in order to support manifests, which are required when provisioning Windows clusters. + +### A. Find the required assets for your Rancher version + +1. Browse to our [releases page](https://github.com/rancher/rancher/releases) and find the Rancher v2.x.x release that you want to install. Don't download releases marked `rc` or `Pre-release`, as they are not stable for production environments. + +2. From the release's "Assets" section, download the following files: + + | Release File | Description | + | --- | --- | + | `rancher-windows-images.txt` | This file contains a list of Windows images needed to provision Windows clusters. + | `rancher-save-images.ps1` | This script pulls all the images in the `rancher-windows-images.txt` from Docker Hub and saves all of the images as `rancher-windows-images.tar.gz`. | + | `rancher-load-images.ps1` | This script loads the images from the `rancher-windows-images.tar.gz` file and pushes them to your private registry. | + + +### B. Save the images to your Windows Server workstation + +1. Using `powershell`, go to the directory that has the files that were downloaded in the previous step. + +1. Run `rancher-save-images.ps1` to create a tarball of all the required images: + + ```plain + ./rancher-save-images.ps1 + ``` + + **Step Result:** Docker begins pulling the images used for an air gap install. Be patient. This process takes a few minutes. When the process completes, your current directory will output a tarball named `rancher-windows-images.tar.gz`. Check that the output is in the directory. + +### C. Prepare the Docker daemon + +1. Append your private registry address to the `allow-nondistributable-artifacts` config field in the Docker daemon (`C:\ProgramData\Docker\config\daemon.json`). Since the base image of Windows images are maintained by the `mcr.microsoft.com` registry, this step is required as the layers in the Microsoft registry are missing from Docker Hub and need to be pulled into the private registry. + + ```json + { + ... + "allow-nondistributable-artifacts": [ + ... + "" + ] + ... + } + ``` + +### D. Populate the private registry + +Move the images in the `rancher-windows-images.tar.gz` to your private registry using the scripts to load the images. The `rancher-windows-images.txt` is expected to be on the workstation in the same directory that you are running the `rancher-load-images.ps1` script. + +1. Using `powershell`, log into your private registry if required: + + ```plain + docker login + ``` + +1. Using `powershell`, use `rancher-load-images.ps1` to extract, tag and push the images from `rancher-images.tar.gz` to your private registry: + + ```plain + ./rancher-load-images.ps1 --registry + ``` + +{{% /accordion %}} + +### Linux Steps + +The Linux images needs to be collected and pushed from a Linux host, but *must be done after* populating the Windows images into the private registry. These step are different from the Linux only steps as the Linux images that are pushed will actually manifests that support Windows and Linux images. + +A. Find the required assets for your Rancher version
+B. Collect all the required images
+C. Save the images to your Linux workstation
+D. Populate the private registry + + +{{% accordion label="Collecting and Populating Linux Images into the Private Registry" %}} + +### Prerequisites + +You must populate the private registry with the Windows images before populating the private registry with Linux images. If you have already populated the registry with Linux images, you will need to follow these instructions again as they will publish manifests that support Windows and Linux images. + +These steps expect you to use a Linux workstation that has internet access, access to your private registry, and at least 20 GB of disk space. + +The workstation must have Docker 18.02+ in order to support manifests, which are required when provisioning Windows clusters. + +### A. Find the required assets for your Rancher version + +1. Browse to our [releases page](https://github.com/rancher/rancher/releases) and find the Rancher v2.x.x release that you want to install. Don't download releases marked `rc` or `Pre-release`, as they are not stable for production environments. + +2. From the release's **Assets** section (pictured above), download the following files, which are required to install Rancher in an air gap environment: + + | Release File | Description | + | --- | --- | + | `rancher-images.txt` | This file contains a list of images needed to install Rancher, provision clusters and user Rancher tools. + | `rancher-windows-images.txt` | This file contains a list of images needed to provision Windows clusters. + | `rancher-save-images.sh` | This script pulls all the images in the `rancher-images.txt` from Docker Hub and saves all of the images as `rancher-images.tar.gz`. | + | `rancher-load-images.sh` | This script loads images from the `rancher-images.tar.gz` file and pushes them to your private registry. | + + +### B. Collect all the required images + +1. **For HA Installs using Rancher Generated Self-Signed Certificate:** In a HA install, if you elect to use the Rancher default self-signed TLS certificates, you must add the [`cert-manager`](https://hub.helm.sh/charts/jetstack/cert-manager) image to `rancher-images.txt` as well. You skip this step if you are using you using your own certificates. + + 1. Fetch the latest `cert-manager` Helm chart and parse the template for image details: + + > **Note:** Recent changes to cert-manager require an upgrade. If you are upgrading Rancher and using a version of cert-manager older than v0.9.1, please see our [upgrade documentation]({{< baseurl >}}/rancher/v2.x/en/installation/options/upgrading-cert-manager/). + + ```plain + helm repo add jetstack https://charts.jetstack.io + helm repo update + helm fetch jetstack/cert-manager --version v0.9.1 + helm template ./cert-manager-.tgz | grep -oP '(?<=image: ").*(?=")' >> ./rancher-images.txt + ``` + + 2. Sort and unique the images list to remove any overlap between the sources: + + ```plain + sort -u rancher-images.txt -o rancher-images.txt + ``` + +### C. Save the images to your workstation + +1. Make `rancher-save-images.sh` an executable: + + ``` + chmod +x rancher-save-images.sh + ``` + +1. Run `rancher-save-images.sh` with the `rancher-images.txt` image list to create a tarball of all the required images: + + ```plain + ./rancher-save-images.sh --image-list ./rancher-images.txt + ``` + + **Step Result:** Docker begins pulling the images used for an air gap install. Be patient. This process takes a few minutes. When the process completes, your current directory will output a tarball named `rancher-images.tar.gz`. Check that the output is in the directory. + + +### D. Populate the private registry + +Move the images in the `rancher-images.tar.gz` to your private registry using the scripts to load the images. The `rancher-images.txt`, `rancher-windows-images.txt` is expected to be on the workstation in the same directory that you are running the `rancher-load-images.sh` script. + +1. Log into your private registry if required: + + ```plain + docker login + ``` + +1. Make `rancher-load-images.sh` an executable: + + ``` + chmod +x rancher-load-images.sh + ``` + +1. Use `rancher-load-images.sh` to extract, tag and push the images from `rancher-images.tar.gz` to your private registry: + + ```plain + ./rancher-load-images.sh --image-list ./rancher-images.txt \ + --windows-image-list ./rancher-windows-images.txt \ + --registry + ``` + +{{% /accordion %}} + +{{% /tab %}} +{{% /tabs %}} + +### [Next: HA Installs - Launch a Kubernetes Cluster with RKE]({{< baseurl >}}/rancher/v2.x/en/installation/air-gap/launch-kubernetes/) + +### [Next: Single Node Installs - Install Rancher]({{< baseurl >}}/rancher/v2.x/en/installation/air-gap/install-rancher/) diff --git a/content/rancher/v2.x/en/installation/air-gap/prepare-nodes/_index.md b/content/rancher/v2.x/en/installation/air-gap/prepare-nodes/_index.md new file mode 100644 index 00000000000..7fa866a9630 --- /dev/null +++ b/content/rancher/v2.x/en/installation/air-gap/prepare-nodes/_index.md @@ -0,0 +1,61 @@ +--- +title: "1. Prepare your Node(s)" +weight: 100 +aliases: + - /rancher/v2.x/en/installation/air-gap-high-availability/provision-hosts + - /rancher/v2.x/en/installation/air-gap-single-node/provision-host +--- + +This section is about how to prepare your node(s) to install Rancher for your air gapped environment. An air gapped environment could be where Rancher server will be installed offline, behind a firewall, or behind a proxy. There are _tabs_ for either a high availability (recommended) or a single node installation. + +{{% tabs %}} +{{% tab "HA Install (Recommended)" %}} + +Rancher recommends installing Rancher in a Highly Available (HA) configuration. An HA installation is comprised of three nodes running the Rancher server components on a Kubernetes cluster. The persistence layer (etcd) is also replicated on these three nodes, providing redundancy and data duplication in case one of the nodes fails. + +### Recommended Architecture + +- DNS for Rancher should resolve to a layer 4 load balancer +- The Load Balancer should forward port TCP/80 and TCP/443 to all 3 nodes in the Kubernetes cluster. +- The Ingress controller will redirect HTTP to HTTPS and terminate SSL/TLS on port TCP/443. +- The Ingress controller will forward traffic to port TCP/80 on the pod in the Rancher deployment. + +
HA Rancher install with layer 4 load balancer, depicting SSL termination at ingress controllers
+ +![Rancher HA]({{< baseurl >}}/img/rancher/ha/rancher2ha.svg) + +### A. Provision three air gapped Linux hosts according to our requirements + +These hosts will be disconnected from the internet, but require being able to connect with your private registry. + +View hardware and software requirements for each of your cluster nodes in [Requirements]({{< baseurl >}}/rancher/v2.x/en/installation/requirements). + +### B. Set up your Load Balancer + +When setting up the Kubernetes cluster that will run the Rancher server components, an Ingress controller pod will be deployed on each of your nodes. The Ingress controller pods are bound to ports TCP/80 and TCP/443 on the host network and are the entry point for HTTPS traffic to the Rancher server. + +You will need to configure a load balancer as a basic Layer 4 TCP forwarder to direct traffic to these ingress controller pods. The exact configuration will vary depending on your environment. + +>**Important:** +>Only use this load balancer (i.e, the `local` cluster Ingress) to load balance the Rancher server. Sharing this Ingress with other applications may result in websocket errors to Rancher following Ingress configuration reloads for other apps. + +**Load Balancer Configuration Samples:** + +- [NGINX]({{< baseurl >}}/rancher/v2.x/en/installation/ha/create-nodes-lb/nginx) +- [Amazon NLB]({{< baseurl >}}/rancher/v2.x/en/installation/ha/create-nodes-lb/nlb) + +{{% /tab %}} +{{% tab "Single Node Install" %}} + +The single node installation is for Rancher users that are wanting to **test** out Rancher. Instead of running on a Kubernetes cluster, you install the Rancher server component on a single node using a `docker run` command. Since there is only one node and a single Docker container, if the node goes down, there is no copy of the etcd data available on other nodes and you will lose all the data of your Rancher server. **Important: If you install Rancher following the single node installation guide, there is no upgrade path to transition your single node installation to a HA installation.** Instead of running the single node installation, you have the option to follow the HA install guide, but only use one node to install Rancher. Afterwards, you can scale up the etcd nodes in your Kubernetes cluster to make it a HA installation. + +### A. Provision a single, air gapped Linux host according to our Requirements + +These hosts will be disconnected from the internet, but require being able to connect with your private registry. + +View hardware and software requirements for each of your cluster nodes in [Requirements]({{< baseurl >}}/rancher/v2.x/en/installation/requirements). + +{{% /tab %}} +{{% /tabs %}} + +### [Next: Collect and Publish Images to your Private Registry]({{< baseurl >}}/rancher/v2.x/en/installation/air-gap/populate-private-registry/) diff --git a/content/rancher/v2.x/en/installation/ha/helm-rancher/_index.md b/content/rancher/v2.x/en/installation/ha/helm-rancher/_index.md index 601855b1d75..246f58ba88c 100644 --- a/content/rancher/v2.x/en/installation/ha/helm-rancher/_index.md +++ b/content/rancher/v2.x/en/installation/ha/helm-rancher/_index.md @@ -36,7 +36,6 @@ There are three recommended options for the source of the certificate. **Note:** cert-manager is only required for certificates issued by Rancher's generated CA (`ingress.tls.source=rancher`) and Let's Encrypt issued certificates (`ingress.tls.source=letsEncrypt`). You should skip this step if you are using your own certificate files (option `ingress.tls.source=secret`) or if you use [TLS termination on an External Load Balancer]({{< baseurl >}}/rancher/v2.x/en/installation/ha/helm-rancher/chart-options/#external-tls-termination). > **Important:** - > Due to an issue with Helm v2.12.0 and cert-manager, please use Helm v2.12.1 or higher. > Recent changes to cert-manager require an upgrade. If you are upgrading Rancher and using a version of cert-manager older than v0.9.1, please see our [upgrade documentation]({{< baseurl >}}/rancher/v2.x/en/installation/options/upgrading-cert-manager/). diff --git a/content/rancher/v2.x/en/installation/ha/helm-rancher/chart-options/_index.md b/content/rancher/v2.x/en/installation/ha/helm-rancher/chart-options/_index.md index 8ded6f0ac25..2d9d16bba1b 100644 --- a/content/rancher/v2.x/en/installation/ha/helm-rancher/chart-options/_index.md +++ b/content/rancher/v2.x/en/installation/ha/helm-rancher/chart-options/_index.md @@ -40,6 +40,8 @@ weight: 276 | `rancherImage` | "rancher/rancher" | `string` - rancher image source | | `rancherImageTag` | same as chart version | `string` - rancher/rancher image tag | | `tls` | "ingress" | `string` - See [External TLS Termination](#external-tls-termination) for details. - "ingress, external" | +| `systemDefaultRegistry` | "" | `string` - private registry to be used for all system Docker images, e.g., http://registry.example.com/ _Available as of v2.3.0_ | +| `useBundledSystemChart` | `false` | `bool` - select to use the system-charts packaged with Rancher server. This option is used for air gapped installations. _Available as of v2.3.0_
@@ -64,8 +66,8 @@ _Available as of v2.2.0_ You can set extra environment variables for Rancher server using `extraEnv`. This list uses the same `name` and `value` keys as the container manifest definitions. Remember to quote the values. ```plain ---set 'extraEnv[0].name=CATTLE_SYSTEM_DEFAULT_REGISTRY' ---set 'extraEnv[0].value=http://registry.example.com/' +--set 'extraEnv[0].name=CATTLE_TLS_MIN_VERSION' +--set 'extraEnv[0].value=1.0' ``` ### TLS settings diff --git a/content/rancher/v2.x/en/installation/options/_index.md b/content/rancher/v2.x/en/installation/options/_index.md index 15fb2960c37..4ac3ff85801 100644 --- a/content/rancher/v2.x/en/installation/options/_index.md +++ b/content/rancher/v2.x/en/installation/options/_index.md @@ -7,7 +7,8 @@ When installing Rancher, there are several advanced options that can be enabled | Advanced Option | Available as of | | --- | ---| -| [Custom CA Certificate]({{< baseurl >}}/rancher/v2.x/en/installation/options/custom-ca-root-certificate/) | v2.0.0 | -| [API Audit Log]({{< baseurl >}}/rancher/v2.x/en/installation/options/api-audit-log/) | v2.0.0 | -| [TLS Settings]({{< baseurl >}}/rancher/v2.x/en/installation/options/tls-settings/) | v2.1.7 | -| [etcd configuration]({{< baseurl >}}/rancher/v2.x/en/installation/options/etcd/) | v2.2.0 | +| [Custom CA Certificate]({{}}/rancher/v2.x/en/installation/options/custom-ca-root-certificate/) | v2.0.0 | +| [API Audit Log]({{}}/rancher/v2.x/en/installation/options/api-audit-log/) | v2.0.0 | +| [TLS Settings]({{}}/rancher/v2.x/en/installation/options/tls-settings/) | v2.1.7 | +| [etcd configuration]({{}}/rancher/v2.x/en/installation/options/etcd/) | v2.2.0 | +| [Local System Charts for Air Gap Installations]({{}})/rancher/v2.x/en/installation/options/local-system-charts | v2.3.0 | diff --git a/content/rancher/v2.x/en/installation/options/local-system-charts/_index.md b/content/rancher/v2.x/en/installation/options/local-system-charts/_index.md new file mode 100644 index 00000000000..6990ea56e7c --- /dev/null +++ b/content/rancher/v2.x/en/installation/options/local-system-charts/_index.md @@ -0,0 +1,68 @@ +--- +title: Local System Charts for Air Gap Installations +weight: 1120 +aliases: + - /rancher/v2.x/en/installation/air-gap-single-node/config-rancher-system-charts/_index.md + - /rancher/v2.x/en/installation/air-gap-high-availability/config-rancher-system-charts/_index.md +--- + +The [System Charts](https://github.com/rancher/system-charts) repository contains all the catalog items required for features such as monitoring, logging, alerting and global DNS. + +In an air gapped installation of Rancher, you will need to configure Rancher to use a local copy of the system charts. This section describes how to use local system charts using a CLI flag in Rancher v2.3.0, and using a Git mirror for Rancher versions prior to v2.3.0. + +# Using Local System Charts in Rancher v2.3.0 + +In Rancher v2.3.0, a local copy of `system-charts` has been packaged into the `rancher/rancher` container. To be able to use these features in an air gap install, you will need to run the Rancher install command with an extra environment variable, `CATTLE_SYSTEM_CATALOG=bundled`, which tells Rancher to use the local copy of the charts instead of attempting to fetch them from GitHub. + +Example commands for a Rancher installation with a bundled `system-charts` are included in the [air gap single node installation]({{}}/rancher/v2.x/en/installation/air-gap-single-node/install-rancher) instructions and the [air gap high availability installation]({{}}/rancher/v2.x/en/installation/air-gap-high-availability/install-rancher/#c-install-rancher) instructions. + +# Setting Up System Charts for Rancher Prior to v2.3.0 + +### A. Prepare System Charts + +The [System Charts](https://github.com/rancher/system-charts) repository contains all the catalog items required for features such as monitoring, logging, alerting and global DNS. To be able to use these features in an air gap install, you will need to mirror the `system-charts` repository to a location in your network that Rancher can reach and configure Rancher to use that repository. + +Refer to the release notes in the `system-charts` repository to see which branch corresponds to your version of Rancher. + +### B. Configure System Charts + +Rancher needs to be configured to use your Git mirror of the `system-charts` repository. You can configure the system charts repository either from the Rancher UI or from Rancher's API view. + +{{% tabs %}} +{{% tab "Rancher UI" %}} + +In the catalog management page in the Rancher UI, follow these steps: + +1. Go to the **Global** view. + +1. Click **Tools > Catalogs.** + +1. The system chart is displayed under the name `system-library`. To edit the configuration of the system chart, click **Ellipsis (...) > Edit.** + +1. In the **Catalog URL** field, enter the location of the Git mirror of the `system-charts` repository. + +1. Click **Save.** + +**Result:** Rancher is configured to download all the required catalog items from your `system-charts` repository. + +{{% /tab %}} +{{% tab "Rancher API" %}} + +1. Log into Rancher. + +1. Open `https:///v3/catalogs/system-library` in your browser. + + ![Open]({{< baseurl >}}/img/rancher/airgap/system-charts-setting.png) + +1. Click **Edit** on the upper right corner and update the value for **url** to the location of the Git mirror of the `system-charts` repository. + + ![Update]({{< baseurl >}}/img/rancher/airgap/system-charts-update.png) + +1. Click **Show Request** + +1. Click **Send Request** + +**Result:** Rancher is configured to download all the required catalog items from your `system-charts` repository. + +{{% /tab %}} +{{% /tabs %}} \ No newline at end of file diff --git a/content/rancher/v2.x/en/installation/options/upgrading-cert-manager/_index.md b/content/rancher/v2.x/en/installation/options/upgrading-cert-manager/_index.md index 315b09b6cca..69ad051a38e 100644 --- a/content/rancher/v2.x/en/installation/options/upgrading-cert-manager/_index.md +++ b/content/rancher/v2.x/en/installation/options/upgrading-cert-manager/_index.md @@ -18,6 +18,7 @@ To address these changes, this guide will do two things: >**Note:** The namespace used in these instructions depends on the namespace cert-manager is currently installed in. If it is in kube-system use that in the instructions below. You can verify by running `kubectl get pods --all-namespaces` and checking which namespace the cert-manager-\* pods are listed in. Do not change the namespace cert-manager is running in or this can cause issues. In order to upgrade cert-manager, follow these instructions: + {{% accordion id="normal" label="Upgrading cert-manager with Internet access" %}} 1. Back up existing resources as a precaution ```plain @@ -57,6 +58,7 @@ In order to upgrade cert-manager, follow these instructions: {{% accordion id="airgap" label="Upgrading cert-manager in an airgapped environment" %}} ### Prerequisites + Before you can perform the upgrade, you must prepare your air gapped environment by adding the necessary container images to your private registry and downloading or rendering the required Kubernetes manifest files. 1. Follow the guide to [Prepare your Private Registry]({{< baseurl >}}/rancher/v2.x/en/installation/air-gap-installation/prepare-private-reg/) with the images needed for the upgrade. @@ -144,7 +146,7 @@ If the ‘webhook’ pod (2nd line) is in a ContainerCreating state, it may stil ## Cert-Manager API change and data migration -Cert-manager has deprecated the use of the `certificate.spec.acme.solvers` field and will drop support for it completely in an upcoming release. +Cert-manager has deprecated the use of the `certificate.spec.acme.solvers` field and will drop support for it completely in an upcoming release. Per the cert-manager documentation, a new format for configuring ACME certificate resources was introduced in v0.8. Specifically, the challenge solver configuration field was moved. Both the old format and new are supported as of v0.9, but support for the old format will be dropped in an upcoming release of cert-manager. The cert-manager documentation strongly recommends that after upgrading you update your ACME Issuer and Certificate resources to the new format. diff --git a/content/rancher/v2.x/en/installation/requirements/_index.md b/content/rancher/v2.x/en/installation/requirements/_index.md index ee88adcff1f..01a6c066295 100644 --- a/content/rancher/v2.x/en/installation/requirements/_index.md +++ b/content/rancher/v2.x/en/installation/requirements/_index.md @@ -21,8 +21,8 @@ Rancher is tested on the following operating systems and their subsequent non-ma * RancherOS 1.5.1 (64-bit x86) * Docker 17.03.x, 18.06.x, 18.09.x * Windows Server 2019 (64-bit x86) - * Docker 18.09 - * _Experimental, see [Configuring Custom Clusters for Windows]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/rke-clusters/windows-clusters/)_ + * Docker 19.03 + * Supported for worker nodes only. See [Configuring Custom Clusters for Windows]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/rke-clusters/windows-clusters/) If you are using RancherOS, make sure you switch the Docker engine to a supported version using:
``` diff --git a/content/rancher/v2.x/en/installation/single-node/_index.md b/content/rancher/v2.x/en/installation/single-node/_index.md index 47698fbfd5f..85c1328d990 100644 --- a/content/rancher/v2.x/en/installation/single-node/_index.md +++ b/content/rancher/v2.x/en/installation/single-node/_index.md @@ -51,8 +51,12 @@ In development or testing environments where your team will access your Rancher After creating your certificate, run the Docker command below to install Rancher. Use the `-v` flag and provide the path to your certificates to mount them in your container. -- Replace `` with the directory path to your certificate file. -- Replace ``,``, and `` with your certificate names. +Placeholder | Description +------------|------------- +`` | The path to the directory containing your certificate files. +`` | The path to your full certificate chain. +`` | The path to the private key for your certificate. +`` | The path to the certificate authority's private key. ``` docker run -d --restart=unless-stopped \ @@ -75,22 +79,27 @@ In production environments where you're exposing an app publicly, use a certific After obtaining your certificate, run the Docker command below. - Use the `-v` flag and provide the path to your certificates to mount them in your container. Because your certificate is signed by a recognized CA, mounting an additional CA certificate file is unnecessary. - - - Replace `` with the directory path to your certificate file. - - Replace `` and `` with your certificate names. - - Use the `--no-cacerts` as argument to the container to disable the default CA certificate generated by Rancher. +Placeholder | Description +------------|------------- +`` | The path to the directory containing your certificate files. +`` | The path to your full certificate chain. +`` | The path to the private key for your certificate. + ``` docker run -d --restart=unless-stopped \ -p 80:80 -p 443:443 \ -v //:/etc/rancher/ssl/cert.pem \ -v //:/etc/rancher/ssl/key.pem \ - rancher/rancher:latest --no-cacerts + rancher/rancher:latest \ + --no-cacerts ``` {{% /accordion %}} {{% accordion id="option-d" label="Option D-Let's Encrypt Certificate" %}} +>**Remember:** Let's Encrypt provides rate limits for requesting new certificates. Therefore, limit how often you create or destroy the container. For more information, see [Let's Encrypt documentation on rate limits](https://letsencrypt.org/docs/rate-limits/). + For production environments, you also have the option of using [Let's Encrypt](https://letsencrypt.org/) certificates. Let's Encrypt uses an http-01 challenge to verify that you have control over your domain. You can confirm that you control the domain by pointing the hostname that you want to use for Rancher access (for example, `rancher.mydomain.com`) to the IP of the machine it is running on. You can bind the hostname to the IP address by creating an A record in DNS. >**Prerequisites:** @@ -100,14 +109,19 @@ For production environments, you also have the option of using [Let's Encrypt](h >- Open port `TCP/80` on your Linux host. The Let's Encrypt http-01 challenge can come from any source IP address, so port `TCP/80` must be open to all IP addresses. -After you fulfill the prerequisites, you can install Rancher using a Let's Encrypt certificate by running the following command. Replace `` with your domain. +After you fulfill the prerequisites, you can install Rancher using a Let's Encrypt certificate by running the following command. - docker run -d --restart=unless-stopped \ - -p 80:80 -p 443:443 \ - rancher/rancher:latest \ - --acme-domain +Placeholder | Description +------------|------------- +`` | Your domain address + +``` +docker run -d --restart=unless-stopped \ + -p 80:80 -p 443:443 \ + rancher/rancher:latest \ + --acme-domain +``` ->**Remember:** Let's Encrypt provides rate limits for requesting new certificates. Therefore, limit how often you create or destroy the container. For more information, see [Let's Encrypt documentation on rate limits](https://letsencrypt.org/docs/rate-limits/). {{% /accordion %}} ## What's Next? diff --git a/content/rancher/v2.x/en/project-admin/istio/_index.md b/content/rancher/v2.x/en/project-admin/istio/_index.md index c2755a94d49..e2d66e00b7e 100644 --- a/content/rancher/v2.x/en/project-admin/istio/_index.md +++ b/content/rancher/v2.x/en/project-admin/istio/_index.md @@ -1,5 +1,5 @@ --- -title: How to Use Istio in Your Project +title: Istio weight: 3528 --- @@ -7,49 +7,15 @@ _Available as of v2.3.0-alpha5_ Using Rancher, you can connect, secure, control, and observe services through integration with [Istio](https://istio.io/), a leading open-source service mesh solution. Istio provides behavioral insights and operational control over the service mesh as a whole, offering a complete solution to satisfy the diverse requirements of microservice applications. -Istio requires each pod in the service mesh to run an Istio compatible sidecar. This section describes how to set up Istio sidecar auto injection in the Rancher UI. For more information on the Istio sidecar, refer to the [Istio docs](https://istio.io/docs/setup/kubernetes/additional-setup/sidecar-injection/). +This service mesh provides features that include but are not limited to the following: ->**Prerequisites:** -> ->- [Istio]({{< baseurl >}}/rancher/v2.x/en/cluster-admin/tools/istio/) must be enabled in the cluster. ->- To be a part of an Istio service mesh, pods and services in a Kubernetes cluster must satisfy the [Istio Pods and Services Requirements](https://istio.io/docs/setup/kubernetes/prepare/requirements/). +- Traffic management features +- Enhanced monitoring and tracing +- Service discovery and routing +- Secure connections and service-to-service authentication with mutual TLS +- Load balancing +- Automatic retries, backoff, and circuit breaking -## Istio Sidecar Auto Injection +Istio needs to be set up by a Rancher administrator or cluster administrator before it can be used in a project for [comprehensive data visualizations,]({{}}/rancher/v2.x/en/cluster-admin/tools/istio/#accessing-visualizations) traffic management, or any of its other features. -If an Istio sidecar is not injected into a pod, Istio will not work for that pod. If you enable Istio sidecar auto injection for a namespace, all pods created in the namespace will have an injected Istio sidecar. - -In the create and edit namespace page, you can enable or disable [Istio sidecar auto injection](https://istio.io/blog/2019/data-plane-setup/#automatic-injection). When you enable it, Rancher will add `istio-injection=enabled` label to the namespace automatically. - -Injection occurs at pod creation time. If the pod has been created before you enable auto injection, you need to kill the running pod and verify that a new pod is created with the injected sidecar. - -For information on how to inject the Istio sidecar manually, refer to the [Istio docs](https://istio.io/docs/setup/kubernetes/additional-setup/sidecar-injection/). - -## View Traffic Graph - -Rancher integrates a Kiali graph into the Rancher UI. The Kiali graph provides a powerful way to visualize the topology of your Istio service mesh. It shows you which services communicate with each other. - -To see the traffic graph for a particular namespace: - -1. From the **Global** view, navigate to the project that you want to view traffic graph for. - -1. Select **Istio** in the navigation bar. - -1. Select **Traffic Graph** in the navigation bar. - -1. Select the namespace. Note: It only shows the namespaces which have the `istio-injection=enabled` label. - -## View Traffic Metrics - -Istio’s monitoring features provide visibility into the performance of all your services. To see the Success Rate, Request Volume, 4xx Response Count, Project 5xx Response Count and Request Duration metrics: - -1. From the **Global** view, navigate to the project that you want to view traffic metrics for. - -1. Select **Istio** in the navigation bar. - -1. Select **Traffic Metrics** in the navigation bar. - - -## Other Istio Features - -There are many other [Istio Features](https://istio.io/docs/concepts/what-is-istio/#core-features) -that you can now use in your cluster. +For information on how Istio is integrated with Rancher and how to set it up, refer to the [section about Istio.]({{}}/rancher/v2.x/en/cluster-admin/tools/istio) diff --git a/content/rancher/v2.x/en/upgrades/upgrades/_index.md b/content/rancher/v2.x/en/upgrades/upgrades/_index.md index 2be782d62d0..c2abe862d19 100644 --- a/content/rancher/v2.x/en/upgrades/upgrades/_index.md +++ b/content/rancher/v2.x/en/upgrades/upgrades/_index.md @@ -2,23 +2,27 @@ title: Upgrades weight: 1005 --- -This section contains information about how to upgrade your Rancher server to a newer version. +This section contains information about how to upgrade your Rancher server to a newer version. Regardless if you installed in an air gap environment or not, the upgrade steps will be based on what type of install you chosen. Select from the following options: -> **Note:** If you are upgrading from from Rancher v2.0.13 or earlier, or v2.1.8 or earlier, and your cluster's certificates have expired, you will need to perform [additional steps]({{}}/rancher/v2.x/en/cluster-admin/certificate-rotation/#rotating-expired-certificates-after-upgrading-older-rancher-versions) to rotate the certificates. +- [Upgrading a Single Node Install]({{< baseurl >}}/rancher/v2.x/en/upgrades/upgrades/single-node/) +- [Upgrading an HA Install]({{< baseurl >}}/rancher/v2.x/en/upgrades/upgrades/ha/) -### Single Node Install +### Known Upgrade Issues -- [Upgrading a Single Node Install]({{< baseurl >}}/rancher/v2.x/en/upgrades/upgrades/single-node-upgrade/) -- [Upgrading an Air Gapped Single Node Install]({{< baseurl >}}/rancher/v2.x/en/upgrades/upgrades/single-node-air-gap-upgrade/) +Upgrade Scenario | Issue +---|--- +Upgrading to v2.3.0+ | Any user provisioned cluster will be automatically updated upon any edit as tolerations were added to the images used for Kubernetes provisioning. +Upgrading to v2.2.0-v2.2.x | Rancher introduced the [system charts](https://github.com/rancher/system-charts) repository which contains all the catalog items required for features such as monitoring, logging, alerting and global DNS. To be able to use these features in an air gap install, you will need to mirror the `system-charts` repository locally and configure Rancher to use that repository. Please follow the instructions to [configure Rancher system charts]({{< baseurl >}}/rancher/v2.x/en/installation/options/local-system-charts/#setting-up-system-charts-for-rancher-prior-to-v2-3-0). +Upgrading from v2.0.13 or earlier | If your cluster's certificates have expired, you will need to perform [additional steps]({{}}/rancher/v2.x/en/cluster-admin/certificate-rotation/#rotating-expired-certificates-after-upgrading-older-rancher-versions) to rotate the certificates. +Upgrading from v2.0.7 or earlier | Rancher introduced the `system` project, which is a project that's automatically created to store important namespaces that Kubernetes needs to operate. During upgrade to v2.0.7+, Rancher expects these namespaces to be unassigned from all projects. Before beginning upgrade, check your system namespaces to make sure that they're unassigned to [prevent cluster networking issues]({{< baseurl >}}/rancher/v2.x/en/upgrades/upgrades/namespace-migration/#preventing-cluster-networking-issues). -### Upgrading to an HA Helm Chart +### Caveats +Upgrades _to_ or _from_ any chart in the [rancher-alpha repository]({{< baseurl >}}/rancher/v2.x/en/installation/server-tags/#helm-chart-repositories/) aren't supported. -- [Upgrade an HA Install]({{< baseurl >}}/rancher/v2.x/en/upgrades/upgrades/ha-server-upgrade-helm/) -- [Upgrade a Air Gap HA Install]({{< baseurl >}}/rancher/v2.x/en/upgrades/upgrades/ha-server-upgrade-helm-airgap/) -- [Migrating from an RKE Add-on Install]({{< baseurl >}}/rancher/v2.x/en/upgrades/upgrades/migrating-from-rke-add-on/) +### RKE Add-on Installs -> #### **Important: RKE add-on install is only supported up to Rancher v2.0.8** -> ->Please use the Rancher helm chart to install HA Rancher. For details, see the [HA Install - Installation Outline]({{< baseurl >}}/rancher/v2.x/en/installation/ha/#installation-outline). -> ->If you are currently using the RKE add-on install method, see [Migrating from a RKE add-on install]({{< baseurl >}}/rancher/v2.x/en/upgrades/upgrades/migrating-from-rke-add-on/) for details on how to move to using the helm chart. +**Important: RKE add-on install is only supported up to Rancher v2.0.8** + +Please use the Rancher helm chart to install HA Rancher. For details, see the [HA Install - Installation Outline]({{< baseurl >}}/rancher/v2.x/en/installation/ha/#installation-outline). + +If you are currently using the RKE add-on install method, see [Migrating from a RKE add-on install]({{< baseurl >}}/rancher/v2.x/en/upgrades/upgrades/migrating-from-rke-add-on/) for details on how to move to using the helm chart. diff --git a/content/rancher/v2.x/en/upgrades/upgrades/ha-server-upgrade-helm-airgap/_index.md b/content/rancher/v2.x/en/upgrades/upgrades/ha-server-upgrade-helm-airgap/_index.md deleted file mode 100644 index 3c68bc7a784..00000000000 --- a/content/rancher/v2.x/en/upgrades/upgrades/ha-server-upgrade-helm-airgap/_index.md +++ /dev/null @@ -1,101 +0,0 @@ ---- -title: High Availability (HA) Upgrade - Air Gap -weight: 1021 ---- - -The following instructions will guide you through upgrading a high-availability Rancher Server installed in an air gap environment. - ->**Note:** [Let's Encrypt will be blocking cert-manager instances older than 0.8.0 starting November 1st 2019.](https://community.letsencrypt.org/t/blocking-old-cert-manager-versions/98753) Upgrade cert-manager to the latest version by following [these instructions.]({{}}/rancher/v2.x/en/installation/options/upgrading-cert-manager) - -> **Note:** If you are upgrading from from Rancher v2.0.13 or earlier, or v2.1.8 or earlier, and your cluster's certificates have expired, you will need to perform [additional steps]({{}}/rancher/v2.x/en/cluster-admin/certificate-rotation/#rotating-expired-certificates-after-upgrading-older-rancher-versions) to rotate the certificates. - -## Prerequisites - -- **Populate Images** - - Follow the guide to [Prepare the Private Registry]({{< baseurl >}}/rancher/v2.x/en/installation/air-gap-installation/prepare-private-reg/) with the images for the upgrade Rancher release. - -- **Backup your Rancher Cluster** - - [Take a one-time snapshot]({{< baseurl >}}/rancher/v2.x/en/backups/backups/ha-backups/#option-b-one-time-snapshots) - of your Rancher Server cluster. You'll use the snapshot as a restoration point if something goes wrong during upgrade. - -- **kubectl** - - Follow the kubectl [configuration instructions]({{< baseurl >}}/rancher/v2.x/en/faq/kubectl) and confirm that you can connect to the Kubernetes cluster running Rancher server. - -- **helm** - - [Install or update](https://docs.helm.sh/using_helm/#installing-helm) Helm to the latest version. - -- **Upgrades to v2.0.7+ only: check system namespace locations**
- Starting in v2.0.7, Rancher introduced the `system` project, which is a project that's automatically created to store important namespaces that Kubernetes needs to operate. During upgrade to v2.0.7+, Rancher expects these namespaces to be unassigned from all projects. Before beginning upgrade, check your system namespaces to make sure that they're unassigned to [prevent cluster networking issues]({{< baseurl >}}/rancher/v2.x/en/upgrades/upgrades/namespace-migration/#preventing-cluster-networking-issues). - -- **Upgrades to v2.2.0 only: mirror system-charts repository and configure Rancher**
- Starting in v2.2.0, Rancher introduced the [System Charts](https://github.com/rancher/system-charts) repository which contains all the catalog items required for features such as monitoring, logging, alerting and global DNS. To be able to use these features in an air gap install, you will need to mirror the `system-charts` repository locally and configure Rancher to use that repository. Please follow the instructions to [configure Rancher system charts]({{< baseurl >}}/rancher/v2.x/en/installation/air-gap-high-availability/config-rancher-system-charts/). - -## Caveats -Upgrades _to_ or _from_ any chart in the [rancher-alpha repository]({{< baseurl >}}/rancher/v2.x/en/installation/server-tags/#helm-chart-repositories/) aren't supported. - -## Upgrade Rancher - -1. Update your local helm repo cache. - - ``` - helm repo update - ``` - - -2. Get the repository name that you used to install Rancher. - - For information about the repos and their differences, see [Helm Chart Repositories]({{< baseurl >}}/rancher/v2.x/en/installation/server-tags/#helm-chart-repositories). - - {{< release-channel >}} - - ``` - helm repo list - - NAME URL - stable https://kubernetes-charts.storage.googleapis.com - rancher- https://releases.rancher.com/server-charts/ - ``` - - > **Note:** If you want to switch to a different Helm chart repository, please follow the [steps on how to switch repositories]({{< baseurl >}}/rancher/v2.x/en/installation/server-tags/#switching-to-a-different-helm-chart-repository). If you switch repositories, make sure to list the repositories again before continuing onto Step 3 to ensure you have the correct one added. - - -3. Fetch the latest chart to install Rancher from the Helm chart repository. - - This command will pull down the latest chart and save it in the current directory as a `.tgz` file. - - ```plain - helm fetch rancher-/rancher - ``` - -3. Render the upgrade template. - - Use the same `--set` values that you used for the install. Remember to set the `--is-upgrade` flag for `helm`. This will create a `rancher` directory with the Kubernetes manifest files. - - ```plain - helm template ./rancher-.tgz --output-dir . --is-upgrade \ - --name rancher --namespace cattle-system \ - --set hostname= \ - --set rancherImage=/rancher/rancher - ``` - -4. Copy and apply the rendered manifests. - - Copy the files to a server with access to the Rancher server cluster and apply the rendered templates. - - ```plain - kubectl -n cattle-system apply -R -f ./rancher - ``` - -**Result:** Rancher is upgraded. Log back into Rancher to confirm that the upgrade succeeded. - ->**Having Network Issues Following Upgrade?** -> -> See [Restoring Cluster Networking]({{< baseurl >}}/rancher/v2.x/en/upgrades/upgrades/namespace-migration/#restoring-cluster-networking). - -## Rolling Back - -Should something go wrong, follow the [HA Rollback]({{< baseurl >}}/rancher/v2.x/en/upgrades/rollbacks/ha-server-rollbacks/) instructions to restore the snapshot you took before you preformed the upgrade. diff --git a/content/rancher/v2.x/en/upgrades/upgrades/ha-server-upgrade-helm/_index.md b/content/rancher/v2.x/en/upgrades/upgrades/ha-server-upgrade-helm/_index.md deleted file mode 100644 index e5abb94f33d..00000000000 --- a/content/rancher/v2.x/en/upgrades/upgrades/ha-server-upgrade-helm/_index.md +++ /dev/null @@ -1,101 +0,0 @@ ---- -title: High Availability (HA) Upgrade -weight: 1020 ---- - -The following instructions will guide you through upgrading a high-availability Rancher Server that was [installed using Helm package manager]({{< baseurl >}}/rancher/v2.x/en/installation/ha/). - ->**Note:** If you installed Rancher using the RKE Add-on yaml, see the following documents to migrate or upgrade. -> ->- [Migrating from RKE Add-On Install]({{< baseurl >}}/rancher/v2.x/en/upgrades/upgrades/migrating-from-rke-add-on) -> -> As of release v2.0.8, Rancher supports installation and upgrade by Helm chart, although RKE installs/upgrades are still supported as well. If you want to change upgrade method from RKE Add-on to Helm chart, follow this procedure. - ---- - ->**Note:** [Let's Encrypt will be blocking cert-manager instances older than 0.8.0 starting November 1st 2019.](https://community.letsencrypt.org/t/blocking-old-cert-manager-versions/98753) Upgrade cert-manager to the latest version by following [these instructions.]({{}}/rancher/v2.x/en/installation/options/upgrading-cert-manager) - -> **Note:** If you are upgrading from from Rancher v2.0.13 or earlier, or v2.1.8 or earlier, and your cluster's certificates have expired, you will need to perform [additional steps]({{}}/rancher/v2.x/en/cluster-admin/certificate-rotation/#rotating-expired-certificates-after-upgrading-older-rancher-versions) to rotate the certificates. - - -## Prerequisites - -- **Backup your Rancher cluster** - - [Take a one-time snapshot]({{< baseurl >}}/rancher/v2.x/en/backups/backups/ha-backups/#option-b-one-time-snapshots) - of your Rancher Server cluster. You'll use the snapshot as a restoration point if something goes wrong during upgrade. - -- **kubectl** - - Follow the kubectl [configuration instructions]({{< baseurl >}}/rancher/v2.x/en/faq/kubectl) and confirm that you can connect to the Kubernetes cluster running Rancher server. - -- **Helm** - - [Install or update](https://docs.helm.sh/using_helm/#installing-helm) Helm to the latest version. - -- **Tiller** - - Update the helm agent, Tiller, on your cluster. - - ``` - helm init --upgrade --service-account tiller - ``` -- **Upgrades to v2.0.7+ only: check system namespace locations** - Starting in v2.0.7, Rancher introduced the `System` project, which is a project that's automatically created to store important namespaces that Kubernetes needs to operate. During upgrade to v2.0.7+, Rancher expects these namespaces to be unassigned from all projects. Before beginning upgrade, check your system namespaces to make sure that they're unassigned to [prevent cluster networking issues]({{< baseurl >}}/rancher/v2.x/en/upgrades/upgrades/namespace-migration/#preventing-cluster-networking-issues). - -## Caveats -Upgrades _to_ or _from_ any chart in the [rancher-alpha repository]({{< baseurl >}}/rancher/v2.x/en/installation/server-tags/#helm-chart-repositories/) aren't supported. - -## Upgrade Rancher - -> **Note:** For Air Gap installs see [Upgrading HA Rancher - Air Gap]({{< baseurl >}}/rancher/v2.x/en/upgrades/upgrades/ha-server-upgrade-helm-airgap/) - -1. Update your local helm repo cache. - - ``` - helm repo update - ``` - -2. Get the repository name that you used to install Rancher. - - For information about the repos and their differences, see [Helm Chart Repositories]({{< baseurl >}}/rancher/v2.x/en/installation/server-tags/#helm-chart-repositories). - - {{< release-channel >}} - - ``` - helm repo list - - NAME URL - stable https://kubernetes-charts.storage.googleapis.com - rancher- https://releases.rancher.com/server-charts/ - ``` - - > **Note:** If you want to switch to a different Helm chart repository, please follow the [steps on how to switch repositories]({{< baseurl >}}/rancher/v2.x/en/installation/server-tags/#switching-to-a-different-helm-chart-repository). If you switch repositories, make sure to list the repositories again before continuing onto Step 3 to ensure you have the correct one added. - -3. Get the set values from the current Rancher install. - - ``` - helm get values rancher - - hostname: rancher.my.org - ``` - - > **Note:** There may be more values that are listed with this command depending on which [SSL configuration option you selected]({{< baseurl >}}/rancher/v2.x/en/installation/ha/helm-rancher/#choose-your-ssl-configuration) when installing Rancher. - -4. Upgrade Rancher to the latest version based on values from the previous steps. - - - Take all the values from the previous step and append them to the command using `--set key=value`. - - ``` - helm upgrade rancher rancher-/rancher --set hostname=rancher.my.org - ``` - -**Result:** Rancher is upgraded. Log back into Rancher to confirm that the upgrade succeeded. - ->**Having Network Issues Following Upgrade?** -> -> See [Restoring Cluster Networking]({{< baseurl >}}/rancher/v2.x/en/upgrades/upgrades/namespace-migration/#restoring-cluster-networking). - -## Rolling Back - -Should something go wrong, follow the [HA Rollback]({{< baseurl >}}/rancher/v2.x/en/upgrades/rollbacks/ha-server-rollbacks/) instructions to restore the snapshot you took before you preformed the upgrade. diff --git a/content/rancher/v2.x/en/upgrades/upgrades/ha/_index.md b/content/rancher/v2.x/en/upgrades/upgrades/ha/_index.md new file mode 100644 index 00000000000..7b899e1d63e --- /dev/null +++ b/content/rancher/v2.x/en/upgrades/upgrades/ha/_index.md @@ -0,0 +1,167 @@ +--- +title: High Availability (HA) Upgrade +weight: 1020 +aliases: + - /rancher/v2.x/en/upgrades/upgrades/ha-server-upgrade-helm + - /rancher/v2.x/en/upgrades/upgrades/ha-server-upgrade-helm-airgap + - /rancher/v2.x/en/upgrades/air-gap-upgrade/ +--- + +The following instructions will guide you through upgrading a high-availability (HA) Rancher server installation. + +>**Note:** If you installed Rancher using the RKE Add-on yaml, following the directions to [migrate or upgrade]({{< baseurl >}}/rancher/v2.x/en/upgrades/upgrades/migrating-from-rke-add-on). + + +>**Note:** [Let's Encrypt will be blocking cert-manager instances older than 0.8.0 starting November 1st 2019.](https://community.letsencrypt.org/t/blocking-old-cert-manager-versions/98753) Upgrade cert-manager to the latest version by following [these instructions.]({{}}/rancher/v2.x/en/installation/options/upgrading-cert-manager) + +## Prerequisites + +- **Review the [Known Upgrade Issues]({{< baseurl >}}/rancher/v2.x/en/upgrades/upgrades/#known-upgrade-issues) and [Caveats]({{< baseurl >}}/rancher/v2.x/en/upgrades/upgrades/#caveats)** + + +- **[Air Gap Installs Only:]({{< baseurl >}}/rancher/v2.x/en/installations/air-gap/) Collect and Populate Images for the new Rancher server version** + + Follow the guide to [populate your private registry]({{< baseurl >}}/rancher/v2.x/en/installation/air-gap/populate-private-registry/) with the images for the Rancher version that you want to upgrade to. + +## Upgrade Outline + +Follow the steps to upgrade Rancher server: + +- A. Backup your Kubernetes Cluster that is running Rancher server +- B. Update the Helm chart repository +- C. Upgrade Rancher +- D. Verify the Upgrade + +### A. Backup your Kubernetes Cluster that is running Rancher server + +[Take a one-time snapshot]({{< baseurl >}}/rancher/v2.x/en/backups/backups/ha-backups/#option-b-one-time-snapshots) +of your Kubernetes cluster running Rancher server. You'll use the snapshot as a restoration point if something goes wrong during upgrade. + +### B. Update the Helm chart repository + +1. Update your local helm repo cache. + + ``` + helm repo update + ``` + +1. Get the repository name that you used to install Rancher. + + For information about the repos and their differences, see [Helm Chart Repositories]({{< baseurl >}}/rancher/v2.x/en/installation/server-tags/#helm-chart-repositories). + + {{< release-channel >}} + + ``` + helm repo list + + NAME URL + stable https://kubernetes-charts.storage.googleapis.com + rancher- https://releases.rancher.com/server-charts/ + ``` + + > **Note:** If you want to switch to a different Helm chart repository, please follow the [steps on how to switch repositories]({{< baseurl >}}/rancher/v2.x/en/installation/server-tags/#switching-to-a-different-helm-chart-repository). If you switch repositories, make sure to list the repositories again before continuing onto Step 3 to ensure you have the correct one added. + + +1. Fetch the latest chart to install Rancher from the Helm chart repository. + + This command will pull down the latest charts and save it in the current directory as a `.tgz` file. + + ```plain + helm fetch rancher-/rancher + ``` + +### C. Upgrade Rancher + +Choose from the following options: + +* HA Upgrade +* HA Upgrade for Air Gap Installs + +{{% tabs %}} +{{% tab "HA Upgrade" %}} + +1. Get the values, that were passed with `--set`, from the current Rancher helm chart installed. + + ``` + helm get values rancher + + hostname: rancher.my.org + ``` + + > **Note:** There will be more values that are listed with this command. This is just an example of one of the values. + +2. Upgrade Rancher to the latest version with all your settings. + + - Take all the values from the previous step and append them to the command using `--set key=value`. + + ``` + helm upgrade rancher rancher-/rancher \ + --set hostname=rancher.my.org # Note: There will be many more options from the previous step that need to be appended. + ``` + +{{% /tab %}} + +{{% tab "HA Air Gap Upgrade" %}} + +1. Render the Rancher template using the same chosen options that were used when installing Rancher. Use the reference table below to replace each placeholder. Rancher needs to be configured to use the private registry in order to provision any Rancher launched Kubernetes clusters or Rancher tools. + + Based on the choice you made during installation, complete one of the procedures below. + + Placeholder | Description + ------------|------------- + `` | The version number of the output tarball. + `` | The DNS name you pointed at your load balancer. + `` | The DNS name for your private registry. + +{{% accordion id="self-signed" label="Option A-Default Self-Signed Certificate" %}} + + ```plain +helm template ./rancher-.tgz --output-dir . \ + --name rancher \ + --namespace cattle-system \ + --set hostname= \ + --set rancherImage=/rancher/rancher \ + --set systemDefaultRegistry= \ # Available as of v2.2.0, set a default private registry to be used in Rancher + --set useBundledSystemChart=true # Available as of v2.3.0, use the packaged Rancher system charts +``` + +{{% /accordion %}} +{{% accordion id="secret" label="Option B: Certificates From Files using Kubernetes Secrets" %}} + +>**Note:** If you are using a Private CA signed cert, add `--set privateCA=true` following `--set ingress.tls.source=secret`. + +```plain +helm template ./rancher-.tgz --output-dir . \ +--name rancher \ +--namespace cattle-system \ +--set hostname= \ +--set rancherImage=/rancher/rancher \ +--set ingress.tls.source=secret \ +--set systemDefaultRegistry= \ # Available as of v2.2.0, set a default private registry to be used in Rancher +--set useBundledSystemChart=true # Available as of v2.3.0, use the packaged Rancher system charts +``` + +{{% /accordion %}} + +2. Copy the rendered manifest directories to a system with access to the Rancher server cluster and apply the rendered templates. + + Use `kubectl` to apply the rendered manifests. + + ```plain + kubectl -n cattle-system apply -R -f ./rancher + ``` + +{{% /tab %}} +{{% /tabs %}} + +### D. Verify the Upgrade + +Log into Rancher to confirm that the upgrade succeeded. + +>**Having network issues following upgrade?** +> +> See [Restoring Cluster Networking]({{< baseurl >}}/rancher/v2.x/en/upgrades/upgrades/namespace-migration/#restoring-cluster-networking). + +## Rolling Back + +Should something go wrong, follow the [roll back]({{< baseurl >}}/rancher/v2.x/en/upgrades/rollbacks/ha-server-rollbacks/) instructions to restore the snapshot you took before you preformed the upgrade. diff --git a/content/rancher/v2.x/en/upgrades/upgrades/migrating-from-rke-add-on/_index.md b/content/rancher/v2.x/en/upgrades/upgrades/migrating-from-rke-add-on/_index.md index 72b9d6a74d3..fe49a4d2552 100644 --- a/content/rancher/v2.x/en/upgrades/upgrades/migrating-from-rke-add-on/_index.md +++ b/content/rancher/v2.x/en/upgrades/upgrades/migrating-from-rke-add-on/_index.md @@ -6,9 +6,9 @@ aliases: - /rancher/v2.x/en/upgrades/upgrades/ha-server-upgrade/ --- -> #### **Important: RKE add-on install is only supported up to Rancher v2.0.8** +> **Important: RKE add-on install is only supported up to Rancher v2.0.8** > ->If you are currently using the RKE add-on install method, please follow these directions to migrate to the Helm install. +>If you are currently using the RKE add-on install method, please follow these directions to migrate to the Helm install. The following instructions will help guide you through migrating from the RKE Add-on install to managing Rancher with the Helm package manager. diff --git a/content/rancher/v2.x/en/upgrades/upgrades/single-node-air-gap-upgrade/_index.md b/content/rancher/v2.x/en/upgrades/upgrades/single-node-air-gap-upgrade/_index.md deleted file mode 100644 index b97b966519e..00000000000 --- a/content/rancher/v2.x/en/upgrades/upgrades/single-node-air-gap-upgrade/_index.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -title: Single Node Upgrade - Air Gap -weight: 1011 -aliases: - - /rancher/v2.x/en/upgrades/air-gap-upgrade/ ---- -To upgrade an air gapped Rancher Server, update your private registry with the latest Docker images, and then run the upgrade command. - -> **Note:** If you are upgrading from from Rancher v2.0.13 or earlier, or v2.1.8 or earlier, and your cluster's certificates have expired, you will need to perform [additional steps]({{}}/rancher/v2.x/en/cluster-admin/certificate-rotation/#rotating-expired-certificates-after-upgrading-older-rancher-versions) to rotate the certificates. - -## Prerequisites -**Upgrades to v2.0.7+ only:** Starting in v2.0.7, Rancher introduced the `system` project, which is a project that's automatically created to store important namespaces that Kubernetes needs to operate. During upgrade to v2.0.7+, Rancher expects these namespaces to be unassigned from all projects. Before beginning upgrade, check your system namespaces to make sure that they're unassigned to [prevent cluster networking issues]({{< baseurl >}}/rancher/v2.x/en/upgrades/upgrades/namespace-migration/#preventing-cluster-networking-issues). - -**Upgrades to v2.2.0 only: mirror system-charts repository and configure Rancher**
-Starting in v2.2.0, Rancher introduced the [System Charts](https://github.com/rancher/system-charts) repository which contains all the catalog items required for features such as monitoring, logging, alerting and global DNS. To be able to use these features in an air gap install, you will need to mirror the `system-charts` repository locally and configure Rancher to use that repository. Please follow the instructions to [configure Rancher system charts]({{< baseurl >}}/rancher/v2.x/en/installation/air-gap-single-node/config-rancher-system-charts/). - -## Caveats -Upgrades _to_ or _from_ any tag containing [alpha]({{< baseurl >}}/rancher/v2.x/en/installation/server-tags/#server-tags) aren't supported. - -## Upgrading An Air Gapped Rancher Server - -1. Follow the directions in Air Gap Installation to [pull the Docker images]({{< baseurl >}}/rancher/v2.x/en/installation/air-gap-installation/#release-files) required for the new version of Rancher. - -2. Follow the directions in [Single Node Upgrade]({{< baseurl >}}/rancher/v2.x/en/upgrades/single-node-upgrade/) to complete upgrade of your air gapped Rancher Server. - - >**Note:** - > While completing [Single Node Upgrade]({{< baseurl >}}/rancher/v2.x/en/upgrades/single-node-upgrade/), prepend your private registry URL to the image when running the `docker run` command. - > - > Example: `/rancher/rancher:latest` - -**Result:** Rancher is upgraded. Log back into Rancher to confirm that the upgrade succeeded. - ->**Having Network Issues Following Upgrade?** -> -> See [Restoring Cluster Networking]({{< baseurl >}}/rancher/v2.x/en/upgrades/upgrades/namespace-migration/#restoring-cluster-networking). - -## Rolling Back -If your upgrade does not complete successfully, you can roll Rancher Server and its data back to its last healthy state. For more information, see [Single Node Rollback]({{< baseurl >}}/rancher/v2.x/en/upgrades/rollbacks/single-node-rollbacks/). diff --git a/content/rancher/v2.x/en/upgrades/upgrades/single-node-upgrade/_index.md b/content/rancher/v2.x/en/upgrades/upgrades/single-node-upgrade/_index.md deleted file mode 100644 index 52882472573..00000000000 --- a/content/rancher/v2.x/en/upgrades/upgrades/single-node-upgrade/_index.md +++ /dev/null @@ -1,142 +0,0 @@ ---- -title: Single Node Upgrade -weight: 1010 -aliases: - - /rancher/v2.x/en/upgrades/single-node-upgrade/ ---- -To upgrade Rancher Server 2.x when a new version is released, create a data container for your current Rancher deployment, pull the latest image of Rancher, and then start a new Rancher container using your data container. - -> **Note:** If you are upgrading from from Rancher v2.0.13 or earlier, or v2.1.8 or earlier, and your cluster's certificates have expired, you will need to perform [additional steps]({{}}/rancher/v2.x/en/cluster-admin/certificate-rotation/#rotating-expired-certificates-after-upgrading-older-rancher-versions) to rotate the certificates. - -## Before You Start - -During upgrade, you'll enter a series of commands, filling placeholders with data from your environment. These placeholders are denoted with angled brackets and all capital letters (``). - -Here's an **example** of a command with a placeholder: - -``` -docker stop -``` - -In this command, `` is the name of your Rancher container. - -Cross reference the image and reference table below to learn how to obtain this placeholder data. Write down or copy this information before starting the [procedure below](#completing-the-upgrade). - -Terminal `docker ps` Command, Displaying Where to Find `` and `` -![Placeholder Reference]({{< baseurl >}}/img/rancher/placeholder-ref.png) - -| Placeholder | Example | Description | -| -------------------------- | -------------------------- | --------------------------------------------------------- | -| `` | `v2.1.3` | The rancher/rancher image you pulled for initial install. | -| `` | `festive_mestorf` | The name of your Rancher container. | -| `` | `v2.1.3` | The version of Rancher that you're creating a backup for. | -| `` | `2018-12-19` | The date that the data container or backup was created. | -
- -You can obtain `` and `` by logging into your Rancher Server by remote connection and entering the command to view the containers that are running: `docker ps`. You can also view containers that are stopped using a different command: `docker ps -a`. Use these commands for help anytime during while creating backups. - -## Prerequisites -**Upgrades to v2.0.7+ only:** Starting in v2.0.7, Rancher introduced the `system` project, which is a project that's automatically created to store important namespaces that Kubernetes needs to operate. During upgrade to v2.0.7+, Rancher expects these namespaces to be unassigned from all projects. Before beginning upgrade, check your system namespaces to make sure that they're unassigned to [prevent cluster networking issues]({{< baseurl >}}/rancher/v2.x/en/upgrades/upgrades/namespace-migration/#preventing-cluster-networking-issues). - -## Caveats -Upgrades _to_ or _from_ any tag containing [alpha]({{< baseurl >}}/rancher/v2.x/en/installation/server-tags/#server-tags) aren't supported. - -## Completing the Upgrade - -During upgrade, you create a copy of the data from your current Rancher container and a backup in case something goes wrong. Then you deploy the new version of Rancher in a new container using your existing data. - -1. Using a remote Terminal connection, log into the node running your Rancher Server. - - -1. Stop the container currently running Rancher Server. Replace `` with the [name of your Rancher container](#before-you-start). - - ``` - docker stop - ``` - -1. Use the command below, replacing each [placeholder](#before-you-start), to create a data container from the Rancher container that you just stopped. - - ``` - docker create --volumes-from --name rancher-data rancher/rancher: - ``` - -1. From the data container that you just created (`rancher-data`), create a backup tarball (`rancher-data-backup--.tar.gz`). - - This tarball will serve as a rollback point if something goes wrong during upgrade. Use the following command, replacing each [placeholder](#before-you-start). - - - ``` - docker run --volumes-from rancher-data -v $PWD:/backup busybox tar zcvf /backup/rancher-data-backup--.tar.gz /var/lib/rancher - ``` - - **Step Result:** When you enter this command, a series of commands should run. - -1. Enter the `ls` command to confirm that the backup tarball was created. It will have a name similar to `rancher-data-backup--.tar.gz`. - - ``` - [rancher@ip-10-0-0-50 ~]$ ls - rancher-data-backup-v2.1.3-20181219.tar.gz - ``` - -1. Move your backup tarball to a safe location external from your Rancher Server. - - -1. Pull the most recent image of Rancher. - - ``` - docker pull rancher/rancher:latest - ``` - - >**Attention Air Gap Users:** - > If you are visiting this page to complete [Air Gap Upgrade]({{< baseurl >}}/rancher/v2.x/en/upgrades/air-gap-upgrade), prepend your private registry URL to the image when running the `docker run` command. - > - > Example: `/rancher/rancher:latest` - > - -1. Start a new Rancher Server container using the data from the `rancher-data` container. - - ``` - docker run -d --volumes-from rancher-data --restart=unless-stopped -p 80:80 -p 443:443 rancher/rancher:latest - ``` - - >**Attention Let’s Encrypt Users:** - > - >Remember to append `--acme-domain ` to the run command, otherwise Rancher will fall back to using self signed certificates. - >``` - >docker run -d --volumes-from rancher-data --restart=unless-stopped -p 80:80 -p 443:443 rancher/rancher:latest --acme-domain - >``` - - - >**Want records of all transactions with the Rancher API?** - > - >Enable the [API Auditing]({{< baseurl >}}/rancher/v2.x/en/installation/api-auditing) feature by adding the flags below into your upgrade command. - >``` - -e AUDIT_LEVEL=1 \ - -e AUDIT_LOG_PATH=/var/log/auditlog/rancher-api-audit.log \ - -e AUDIT_LOG_MAXAGE=20 \ - -e AUDIT_LOG_MAXBACKUP=20 \ - -e AUDIT_LOG_MAXSIZE=100 \ - ``` - - >**Note:** _Do not_ stop the upgrade after initiating it, even if the upgrade process seems longer than expected. Stopping the upgrade may result in database migration errors during future upgrades. - >
- >
- >**Note:** After upgrading Rancher Server, data from your upgraded server is now saved to the `rancher-data` container for use in future upgrades. - -1. Log into Rancher. Confirm that the upgrade succeeded by checking the version displayed in the bottom-left corner of the browser window. - - - -1. Remove the previous Rancher Server container. - - If you only stop the previous Rancher Server container (and don't remove it), the container may restart after the next server reboot. - -**Result:** Rancher is upgraded. Log back into Rancher to confirm that the upgrade succeeded. - ->**Having Network Issues Following Upgrade?** -> -> See [Restoring Cluster Networking]({{< baseurl >}}/rancher/v2.x/en/upgrades/upgrades/namespace-migration/#restoring-cluster-networking). - -## Rolling Back - -If your upgrade does not complete successfully, you can roll Rancher Server and its data back to its last healthy state. For more information, see [Single Node Rollback]({{< baseurl >}}/rancher/v2.x/en/upgrades/rollbacks/single-node-rollbacks/). diff --git a/content/rancher/v2.x/en/upgrades/upgrades/single-node/_index.md b/content/rancher/v2.x/en/upgrades/upgrades/single-node/_index.md new file mode 100644 index 00000000000..f48c1ad0c54 --- /dev/null +++ b/content/rancher/v2.x/en/upgrades/upgrades/single-node/_index.md @@ -0,0 +1,331 @@ +--- +title: Single Node Upgrade +weight: 1010 +aliases: + - /rancher/v2.x/en/upgrades/single-node-upgrade/ + - /rancher/v2.x/en/upgrades/upgrades/single-node-upgrade/ + - /rancher/v2.x/en/upgrades/upgrades/single-node-air-gap-upgrade +--- + +The following instructions will guide you through upgrading a high-availability Rancher server installation. + +## Prerequisites + +- **Review the [Known Upgrade Issues]({{< baseurl >}}/rancher/v2.x/en/upgrades/upgrades/#known-upgrade-issues) and [Caveats]({{< baseurl >}}/rancher/v2.x/en/upgrades/upgrades/#caveats)** + +- **[Air Gap Installs Only:]({{< baseurl >}}/rancher/v2.x/en/installations/air-gap/) Collect and Populate Images for the new Rancher server version** + + Follow the guide to [populate your private registry]({{< baseurl >}}/rancher/v2.x/en/installation/air-gap/populate-private-registry/) with the images for the Rancher version that you want to upgrade to. + +## Placeholder Review + +During upgrade, you'll enter a series of commands, filling placeholders with data from your environment. These placeholders are denoted with angled brackets and all capital letters (``). + +Here's an **example** of a command with a placeholder: + +``` +docker stop +``` + +In this command, `` is the name of your Rancher container. + +Cross reference the image and reference table below to learn how to obtain this placeholder data. Write down or copy this information before starting the upgrade. + +Terminal `docker ps` Command, Displaying Where to Find `` and `` +![Placeholder Reference]({{< baseurl >}}/img/rancher/placeholder-ref.png) + +| Placeholder | Example | Description | +| -------------------------- | -------------------------- | --------------------------------------------------------- | +| `` | `v2.1.3` | The rancher/rancher image you pulled for initial install. | +| `` | `festive_mestorf` | The name of your Rancher container. | +| `` | `v2.1.3` | The version of Rancher that you're creating a backup for. | +| `` | `2018-12-19` | The date that the data container or backup was created. | +
+ +You can obtain `` and `` by logging into your Rancher Server by remote connection and entering the command to view the containers that are running: `docker ps`. You can also view containers that are stopped using a different command: `docker ps -a`. Use these commands for help anytime during while creating backups. + +## Upgrade Outline + +During upgrade, you create a copy of the data from your current Rancher container and a backup in case something goes wrong. Then you deploy the new version of Rancher in a new container using your existing data. Follow the steps to upgrade Rancher server: + +- A. Create a copy of the data from your Rancher server container +- B. Create a backup tarball +Get the options set from your current Rancher install +- C. Upgrade Rancher +- D. Verify the Upgrade +- E. Clean up your old Rancher server container + +### A. Create a copy of the data from your Rancher server container + +1. Using a remote Terminal connection, log into the node running your Rancher Server. + +1. Stop the container currently running Rancher Server. Replace `` with the name of your Rancher container. + + ``` + docker stop + ``` + +1. Use the command below, replacing each placeholder, to create a data container from the Rancher container that you just stopped. + + ``` + docker create --volumes-from --name rancher-data rancher/rancher: + ``` + +### B. Create a backup tarball + +1. From the data container that you just created (`rancher-data`), create a backup tarball (`rancher-data-backup--.tar.gz`). + + This tarball will serve as a rollback point if something goes wrong during upgrade. Use the following command, replacing each [placeholder](#before-you-start). + + + ``` + docker run --volumes-from rancher-data -v $PWD:/backup busybox tar zcvf /backup/rancher-data-backup--.tar.gz /var/lib/rancher + ``` + + **Step Result:** When you enter this command, a series of commands should run. + +1. Enter the `ls` command to confirm that the backup tarball was created. It will have a name similar to `rancher-data-backup--.tar.gz`. + + ``` + [rancher@ip-10-0-0-50 ~]$ ls + rancher-data-backup-v2.1.3-20181219.tar.gz + ``` + +1. Move your backup tarball to a safe location external from your Rancher Server. + +### C. Upgrade Rancher + +1. Pull the image of the Rancher version that you want to upgrade to. + + Placeholder | Description + ------------|------------- + `` | The release tag of the [Rancher version]({{< baseurl >}}/rancher/v2.x/en/installation/server-tags/) that you want to upgrade to. + + ``` + docker pull rancher/rancher: + ``` + +1. Start a new Rancher server container using the data from the `rancher-data` container. Remember to pass in all the environment variables that you had used when you started the original container. + + >**Note:** After upgrading Rancher Server, data from your upgraded server is now saved to the `rancher-data` container for use in future upgrades. + + >**Important:** _Do not_ stop the upgrade after initiating it, even if the upgrade process seems longer than expected. Stopping the upgrade may result in database migration errors during future upgrades. + + >**Did you...** + > + >- Use a proxy? See [HTTP Proxy Configuration]({{< baseurl >}}/rancher/v2.x/en/installation/single-node/proxy/) + >- Configure custom CA root certificate to access your services? See [Custom CA root certificate]({{< baseurl >}}/rancher/v2.x/en/admin-settings/custom-ca-root-certificate/) + >- Record all transactions with the Rancher API? See [API Auditing](#api-audit-log) + > + + Choose from the following options: + + * Single Node Upgrade + * Single Node Upgrade for Air Gap Installs + + {{% tabs %}} + {{% tab "Single Node Upgrade" %}} + + Select which option you had installed Rancher server + + {{% accordion id="option-a" label="Option A-Default Self-Signed Certificate" %}} + + If you have selected to use the Rancher generated self-signed certificate, you add the `--volumes-from rancher-data` to the command that you had started your original Rancher server container. + + Placeholder | Description + ------------|------------- + `` | The release tag of the [Rancher version]({{< baseurl >}}/rancher/v2.x/en/installation/server-tags/) that you want to upgrade to. + + ``` + docker run -d --volumes-from rancher-data \ + --restart=unless-stopped \ + -p 80:80 -p 443:443 \ + rancher/rancher: + ``` + + {{% /accordion %}} + + {{% accordion id="option-b" label="Option B-Bring Your Own Certificate: Self-Signed" %}} + + If you have selected to bring your own self-signed certificate, you add the `--volumes-from rancher-data` to the command that you had started your original Rancher server container and need to have access to the same certificate that you had originally installed with. + + >**Reminder of the Cert Prerequisite:** The certificate files must be in [PEM format]({{< baseurl >}}/rancher/v2.x/en/installation/single-node/#pem). In your certificate file, include all intermediate certificates in the chain. Order your certificates with your certificate first, followed by the intermediates. For an example, see [SSL FAQ / Troubleshooting](#cert-order). + + Placeholder | Description + ------------|------------- + `` | The path to the directory containing your certificate files. + `` | The path to your full certificate chain. + `` | The path to the private key for your certificate. + `` | The path to the certificate authority's private key. + `` | The release tag of the [Rancher version]({{< baseurl >}}/rancher/v2.x/en/installation/server-tags/) that you want to upgrade to. + + ``` + docker run -d --volumes-from rancher-data \ + --restart=unless-stopped \ + -p 80:80 -p 443:443 \ + -v //:/etc/rancher/ssl/cert.pem \ + -v //:/etc/rancher/ssl/key.pem \ + -v //:/etc/rancher/ssl/cacerts.pem \ + rancher/rancher: + ``` + + {{% /accordion %}} + {{% accordion id="option-c" label="Option C-Bring Your Own Certificate: Signed by Recognized CA" %}} + + If you have selected to use a certificate signed by a recognized CA, you add the `--volumes-from rancher-data` to the command that you had started your original Rancher server container and need to have access to the same certificates that you had originally installed with. Remember to include `--no-cacerts` as an argument to the container to disable the default CA certificate generated by Rancher. + + >**Reminder of the Cert Prerequisite:** The certificate files must be in [PEM format]({{< baseurl >}}/rancher/v2.x/en/installation/single-node/#pem). In your certificate file, include all intermediate certificates provided by the recognized CA. Order your certificates with your certificate first, followed by the intermediates. For an example, see [SSL FAQ / Troubleshooting](#cert-order). + + Placeholder | Description + ------------|------------- + `` | The path to the directory containing your certificate files. + `` | The path to your full certificate chain. + `` | The path to the private key for your certificate. + `` | The release tag of the [Rancher version]({{< baseurl >}}/rancher/v2.x/en/installation/server-tags/) that you want to upgrade to. + + ``` + docker run -d --volumes-from rancher-data \ + --restart=unless-stopped \ + -p 80:80 -p 443:443 \ + -v //:/etc/rancher/ssl/cert.pem \ + -v //:/etc/rancher/ssl/key.pem \ + rancher/rancher: \ + --no-cacerts + ``` + {{% /accordion %}} + {{% accordion id="option-d" label="Option D-Let's Encrypt Certificate" %}} + + >**Remember:** Let's Encrypt provides rate limits for requesting new certificates. Therefore, limit how often you create or destroy the container. For more information, see [Let's Encrypt documentation on rate limits](https://letsencrypt.org/docs/rate-limits/). + + If you have selected to use [Let's Encrypt](https://letsencrypt.org/) certificates, you add the `--volumes-from rancher-data` to the command that you had started your original Rancher server container and need to provide the domain that you had used when you originally installed Rancher. + + >**Reminder of the Cert Prerequisites:** + > + >- Create a record in your DNS that binds your Linux host IP address to the hostname that you want to use for Rancher access (`rancher.mydomain.com` for example). + >- Open port `TCP/80` on your Linux host. The Let's Encrypt http-01 challenge can come from any source IP address, so port `TCP/80` must be open to all IP addresses. + + Placeholder | Description + ------------|------------- + `` | The release tag of the [Rancher version]({{< baseurl >}}/rancher/v2.x/en/installation/server-tags/) that you want to upgrade to. + `` | The domain address that you had originally started with + + ``` + docker run -d --volumes-from rancher-data \ + --restart=unless-stopped \ + -p 80:80 -p 443:443 \ + rancher/rancher: \ + --acme-domain + ``` + + {{% /accordion %}} + + {{% /tab %}} + {{% tab "Single Node Air Gap Upgrade" %}} + + For security purposes, SSL (Secure Sockets Layer) is required when using Rancher. SSL secures all Rancher network communication, like when you login or interact with a cluster. + + >**Did you...** + > + >- Configure custom CA root certificate to access your services? See [Custom CA root certificate]({{< baseurl >}}/rancher/v2.x/en/admin-settings/custom-ca-root-certificate/). + >- Record all transactions with the Rancher API? See [API Auditing]({{< baseurl >}}/rancher/v2.x/en/installation/single-node/#api-audit-log). + + - For Rancher versions from v2.2.0 to v2.2.x, you will need to mirror the `system-charts` repository to a location in your network that Rancher can reach. Then, after Rancher is installed, you will need to configure Rancher to use that repository. For details, refer to the documentation on [setting up the system charts for Rancher prior to v2.3.0.]({{}}/rancher/v2.x/en/installation/options/local-system-charts/#setting-up-system-charts-for-rancher-prior-to-v2-3-0) + + Choose from the following options: + + {{% accordion id="option-a" label="Option A-Default Self-Signed Certificate" %}} + + If you have selected to use the Rancher generated self-signed certificate, you add the `--volumes-from rancher-data` to the command that you had started your original Rancher server container. + + Placeholder | Description + ------------|------------- + `` | Your private registry URL and port. + `` | The release tag of the [Rancher version]({{< baseurl >}}/rancher/v2.x/en/installation/server-tags/) that you want to to upgrade to. + + ``` + docker run -d --volumes-from rancher-data \ + --restart=unless-stopped \ + -p 80:80 -p 443:443 \ + -e CATTLE_SYSTEM_DEFAULT_REGISTRY= \ # Set a default private registry to be used in Rancher + -e CATTLE_SYSTEM_CATALOG=bundled \ #Available as of v2.3.0, use the packaged Rancher system charts + /rancher/rancher: + ``` + + {{% /accordion %}} + + {{% accordion id="option-b" label="Option B-Bring Your Own Certificate: Self-Signed" %}} + + If you have selected to bring your own self-signed certificate, you add the `--volumes-from rancher-data` to the command that you had started your original Rancher server container and need to have access to the same certificate that you had originally installed with. + + >**Reminder of the Prerequisite:** The certificate files must be in [PEM format]({{< baseurl >}}/rancher/v2.x/en/installation/single-node/#pem). In your certificate file, include all intermediate certificates in the chain. Order your certificates with your certificate first, followed by the intermediates. For an example, see [SSL FAQ / Troubleshooting](#cert-order). + + Placeholder | Description + ------------|------------- + `` | The path to the directory containing your certificate files. + `` | The path to your full certificate chain. + `` | The path to the private key for your certificate. + `` | The path to the certificate authority's private key. + `` | Your private registry URL and port. + `` | The release tag of the [Rancher version]({{< baseurl >}}/rancher/v2.x/en/installation/server-tags/) that you want to upgrade to. + + ``` + docker run -d --restart=unless-stopped \ + -p 80:80 -p 443:443 \ + -v //:/etc/rancher/ssl/cert.pem \ + -v //:/etc/rancher/ssl/key.pem \ + -v //:/etc/rancher/ssl/cacerts.pem \ + -e CATTLE_SYSTEM_DEFAULT_REGISTRY= \ # Set a default private registry to be used in Rancher + -e CATTLE_SYSTEM_CATALOG=bundled \ #Available as of v2.3.0, use the packaged Rancher system charts + /rancher/rancher: + ``` + + {{% /accordion %}} + + {{% accordion id="option-c" label="Option C-Bring Your Own Certificate: Signed by Recognized CA" %}} + + If you have selected to use a certificate signed by a recognized CA, you add the `--volumes-from rancher-data` to the command that you had started your original Rancher server container and need to have access to the same certificates that you had originally installed with. + + >**Reminder of the Prerequisite:** The certificate files must be in [PEM format]({{< baseurl >}}/rancher/v2.x/en/installation/single-node/#pem). In your certificate file, include all intermediate certificates provided by the recognized CA. Order your certificates with your certificate first, followed by the intermediates. For an example, see [SSL FAQ / Troubleshooting](#cert-order). + + Placeholder | Description + ------------|------------- + `` | The path to the directory containing your certificate files. + `` | The path to your full certificate chain. + `` | The path to the private key for your certificate. + `` | Your private registry URL and port. + `` | The release tag of the [Rancher version]({{< baseurl >}}/rancher/v2.x/en/installation/server-tags/) that you want to upgrade to. + + > **Note:** Use the `--no-cacerts` as argument to the container to disable the default CA certificate generated by Rancher. + + ``` + docker run -d --volumes-from rancher-data \ + --restart=unless-stopped \ + -p 80:80 -p 443:443 \ + --no-cacerts \ + -v //:/etc/rancher/ssl/cert.pem \ + -v //:/etc/rancher/ssl/key.pem \ + -e CATTLE_SYSTEM_DEFAULT_REGISTRY= \ # Set a default private registry to be used in Rancher + -e CATTLE_SYSTEM_CATALOG=bundled \ #Available as of v2.3.0, use the packaged Rancher system charts + /rancher/rancher: + ``` + + {{% /accordion %}} + {{% /tab %}} + {{% /tabs %}} + +### D. Verify the Upgrade + +Log into Rancher. Confirm that the upgrade succeeded by checking the version displayed in the bottom-left corner of the browser window. + +>**Having network issues in your user clusters following upgrade?** +> +> See [Restoring Cluster Networking]({{< baseurl >}}/rancher/v2.x/en/upgrades/upgrades/namespace-migration/#restoring-cluster-networking). + + +### E. Clean up your old Rancher server container + +Remove the previous Rancher Server container. If you only stop the previous Rancher Server container (and don't remove it), the container may restart after the next server reboot. + +## Rolling Back + +If your upgrade does not complete successfully, you can roll back Rancher server and its data back to its last healthy state. For more information, see [Single Node Rollback]({{< baseurl >}}/rancher/v2.x/en/upgrades/rollbacks/single-node-rollbacks/). diff --git a/content/rke/latest/en/config-options/_index.md b/content/rke/latest/en/config-options/_index.md index ce568009de1..b942e5e6f3e 100644 --- a/content/rke/latest/en/config-options/_index.md +++ b/content/rke/latest/en/config-options/_index.md @@ -74,14 +74,11 @@ Please refer to the [release notes](https://github.com/rancher/rke/releases) of You can also list the supported versions and system images of specific version of RKE release with a quick command. ``` -$ rke config --system-images --all - -INFO[0000] Generating images list for version [v1.13.4-rancher1-2]: -....... -INFO[0000] Generating images list for version [v1.11.8-rancher1-1]: -....... -INFO[0000] Generating images list for version [v1.12.6-rancher1-2]: -....... +$ rke config --list-version --all +v1.15.3-rancher2-1 +v1.13.10-rancher1-2 +v1.14.6-rancher2-1 +v1.16.0-beta.1-rancher1-1 ``` #### Using an unsupported Kubernetes version diff --git a/content/rke/latest/en/config-options/add-ons/_index.md b/content/rke/latest/en/config-options/add-ons/_index.md index 8a659431c83..bf58a5b7f14 100644 --- a/content/rke/latest/en/config-options/add-ons/_index.md +++ b/content/rke/latest/en/config-options/add-ons/_index.md @@ -37,3 +37,18 @@ RKE uses Kubernetes jobs to deploy add-ons. In some cases, add-ons deployment ta ```yaml addon_job_timeout: 30 ``` + +## Add-on placement + +_Applies to v0.2.3 and higher_ + +| Component | nodeAffinity nodeSelectorTerms | nodeSelector | Tolerations | +| ------------------ | ------------------------------------------ | ------------ | ----------- | +| Calico | `beta.kubernetes.io/os:NotIn:windows` | none | - `NoSchedule:Exists`
- `NoExecute:Exists`
- `CriticalAddonsOnly:Exists` | +| Flannel | `beta.kubernetes.io/os:NotIn:windows` | none | - `operator:Exists` | +| Canal | `beta.kubernetes.io/os:NotIn:windows` | none | - `NoSchedule:Exists`
- `NoExecute:Exists`
- `CriticalAddonsOnly:Exists` | +| Weave | `beta.kubernetes.io/os:NotIn:windows` | none | - `NoSchedule:Exists`
- `NoExecute:Exists` | +| CoreDNS | `node-role.kubernetes.io/worker:Exists` | `beta.kubernetes.io/os:linux` | - `NoSchedule:Exists`
- `NoExecute:Exists`
- `CriticalAddonsOnly:Exists` | +| kube-dns | - `beta.kubernetes.io/os:NotIn:windows`
- `node-role.kubernetes.io/worker` `Exists` | none | - `NoSchedule:Exists`
- `NoExecute:Exists`
- `CriticalAddonsOnly:Exists` | +| nginx-ingress | - `beta.kubernetes.io/os:NotIn:windows`
- `node-role.kubernetes.io/worker` `Exists` | none | - `NoSchedule:Exists`
- `NoExecute:Exists` | +| metrics-server | - `beta.kubernetes.io/os:NotIn:windows`
- `node-role.kubernetes.io/worker` `Exists` | none | - `NoSchedule:Exists`
- `NoExecute:Exists` | diff --git a/content/rke/latest/en/etcd-snapshots/one-time-snapshots/_index.md b/content/rke/latest/en/etcd-snapshots/one-time-snapshots/_index.md index 6839e95c905..b98f7e4ed42 100644 --- a/content/rke/latest/en/etcd-snapshots/one-time-snapshots/_index.md +++ b/content/rke/latest/en/etcd-snapshots/one-time-snapshots/_index.md @@ -48,6 +48,7 @@ $ rke etcd snapshot-save \ | `--config` value | Specify an alternate cluster YAML file (default: `cluster.yml`) [$RKE_CONFIG] | | | `--s3` | Enabled backup to s3 | * | | `--s3-endpoint` value | Specify s3 endpoint url (default: "s3.amazonaws.com") | * | +| `--s3-endpoint-ca` value | Specify a path to a CA cert file to connect to a custom s3 endpoint (optional) _Available as of v0.2.5_ | * | | `--access-key` value | Specify s3 accessKey | * | | `--secret-key` value | Specify s3 secretKey | * | | `--bucket-name` value | Specify s3 bucket name | * | @@ -58,6 +59,12 @@ $ rke etcd snapshot-save \ The `--access-key` and `--secret-key` options are not required if the `etcd` nodes are AWS EC2 instances that have been configured with a suitable IAM instance profile. +##### Using a custom CA certificate for S3 + +_Available as of v2.2.5_ + +The backup snapshot can be stored on a custom `S3` backup like [minio](https://min.io/). If the S3 backend uses a self-signed or custom certificate, provide a custom certificate using the `--s3-endpoint-ca` to connect to the S3 back end. + ### IAM Support for Storing Snapshots in S3 In addition to API access keys, RKE supports using IAM roles for S3 authentication. The cluster etcd nodes must be assigned an IAM role that has read/write access to the designated backup bucket on S3. Also, the nodes must have network access to the S3 endpoint specified. diff --git a/content/rke/latest/en/etcd-snapshots/recurring-snapshots/_index.md b/content/rke/latest/en/etcd-snapshots/recurring-snapshots/_index.md index b45a5548b7f..624f2478dd0 100644 --- a/content/rke/latest/en/etcd-snapshots/recurring-snapshots/_index.md +++ b/content/rke/latest/en/etcd-snapshots/recurring-snapshots/_index.md @@ -38,10 +38,15 @@ time="2018-05-04T18:43:16Z" level=info msg="Created backup" name="2018-05-04T18: |**secret_key** |S3 secret key with permission to access the backup bucket.| * | |**region** |S3 region for the backup bucket. This is optional.| * | |**endpoint** |S3 regions endpoint for the backup bucket.| * | +| **endpoint-ca** | Custom CA certificate to connect to custom S3 endpoint. Provided as a multi-line string. _Available as of v0.2.5_ | *| |**custom_ca** |Custom certificate authority to use when connecting to the endpoint. Only required for private S3 compatible storage solutions. Available for RKE v0.2.5+.| * | The `--access-key` and `--secret-key` options are not required if the `etcd` nodes are AWS EC2 instances that have been configured with a suitable IAM instance profile. +##### Using a custom CA certificate for S3 + +The backup snapshot can be stored on a custom `S3` backup like [minio](https://min.io/). If the S3 backend uses a self-signed or custom certificate, provide a custom certificate using the option `endpoint-ca` to connect to the S3 backend. + ### IAM Support for Storing Snapshots in S3 In addition to API access keys, RKE supports using IAM roles for S3 authentication. The cluster etcd nodes must be assigned an IAM role that has read/write access to the designated backup bucket on S3. Also, the nodes must have network access to the S3 endpoint specified. diff --git a/static/img/rancher/Google-Credentials-tab.png b/static/img/rancher/Google-Credentials-tab.png new file mode 100644 index 0000000000000000000000000000000000000000..06174357b5432935c3cf5a2b8e5f6940e730c0e8 GIT binary patch literal 65960 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

`wa;014+ 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 KQvIeN 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�>h zX~T~mg&O>hk3;PmVYDcBT+3vwn#$~`9$?bQpPCAoY9jlyKpUa=9b?N>Rx^p5l~9e) z1*ju<(urvoZ{db9V)95T>TKAPF#ah8PC5SiJdu4z#{$>ATY1q!povegvwJ)2?4Rr0 z!@%&h=GYw&`-cZor;HBBZKOO%SqOjXwpu&mM@|(HcM01Nwcg;#$gcP5WGE8Ech0(G zKNKyn;(ETkDm$5{o@A===aAmxQadXC3HM=x_I;^5@MP@EkSouTBo>?!h*MP(0%ru_ z(fk$Z8J;Js)e2f#zHzFRfK77F>t&e4d1)oZU@)A#Jn8jkIx_5|TWts}UH9{I)=rIG z>}afdbb$})v}jW$v{Wd6bY^(ob1Vv+LKL#{DH?NX<6=#f49ebz&UA{k?(;a|XW`6I zeolfp zuGI~l6)Cf1Z|=xhtVHllF?C0}b0lP_n~iz^ z7o*}2!K7h4O292%Y~oZb>#y4P?`^hpf+_;VNZubrq8dv=C7=Jgz|QHhqMznYCiGx6 z6dX7D{=@##=0uR?S@HSipe|PkvJsRRfGg0f>MkMeAB{;&?ft{psfW_iFo5pHFT-)P z5ttnSo$Yb1$|OjCJqUNd#Cm;JV!Gnd2_URz7V9>9m*PawiSL!9cL{vnw3whUq6@Qz; zOvY^Cm!voKCwvj1YtL5eh5pk1!r6T^kBiS~04|8F;AkKG-2wBjzkECffI&FEe~M(I z4K^|lSjF{|ee{_377J&G&ls>6HNdKJbUew;|Aqt59%%q`dE&M-Ev4c=C!SwFgvS8w zKZH0o(JC3LnNZDWF%09jm`1bzP*>*T>*5S_S6|FdH33)27||8_Id?01l-f}>MoLOC zZ5E|FsaVP#0cK2F{hmfYVK*uUu%v?bHTCi5(Qfr(sV7x`KhHl$S5!x--5$@#*p|1) zZUOMgS;7DRIR!Ag=1SC=eii+hHb}oOnev6(UEs~bi};yUEs;D zPS1w`EIxR=$1dFcACdkrKH;O(8Dw!-((mwDUI%ER#|fi9{o(iY@u&bQ<;;*HEg|wA zVMU;c${b5e^*X75Vo|8N=F&nJ7>0^ z(oc}va4Jalys>LA{Vv`XQ!14N6n1_}-)=h2{*f4P-ltUE_=zXK3De`RVJ`G3{{k%j zm-hWPn|&ArfYop;qB5B_iqd*2O3z_L^QX<{w=UJe088?)jRs501=qse)aS#4MtR-Hv1E6 z&F!QV$csi*^*b6w=u&zduuw(5y3gAzIVoLcrLv%0AGa zwjAA0uyC^(fc7HAk`fl%j*cS%n9%@4LV_O83#A$mwSy;qn)PoB<7a)t5d<_*X22}* z>xKJ&OTwj}HQUEm3|@0FM7D&DXWS0@RZP6}nA2}P{oTYP>Rm4voI8D#bASmY37y}) zRSc3Y1yNKQhWaf=QXfAS0#1tXPInK(ZOM^AWiVD+nofYoM*xE_@=I+ctMpZ0X9Tb` zs$>T*ErDuy3eZBU5m<|!E&1;W{KDv8l%iP&FgnXXZQ#c3mLveax({q9__viRv?+Yd zrCNxTl_-U6nZ;}hjP6@z$PxN|10le^$u~bQyW8OfWk_T|Y^ciyvs><4F~tCPNSHZN+C; d`RgX*%Q}Or9AWMQJAi*G*EO$YTrqp{e*lW8sEYsq literal 0 HcmV?d00001 diff --git a/static/img/rancher/Google-Enable-Admin-APIs.png b/static/img/rancher/Google-Enable-Admin-APIs.png new file mode 100644 index 0000000000000000000000000000000000000000..4f0afbf7db869536cb2a34ac6aa5f22fb9e23110 GIT binary patch literal 237808 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

&uRKJ{ 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 literal 0 HcmV?d00001 diff --git a/static/img/rancher/Google-OAuth-consent-screen-tab.png b/static/img/rancher/Google-OAuth-consent-screen-tab.png new file mode 100644 index 0000000000000000000000000000000000000000..e15132c50ee783d7cfe8df538e4d3301bca9e6cf GIT binary patch literal 132493 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

gTjU>7H*DxKizK1*9S^=K{LFdMBSyRv?^EtS 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

_)%9gGm<>d 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 literal 0 HcmV?d00001 diff --git a/static/img/rancher/Google-Select-UniqueID-column.png b/static/img/rancher/Google-Select-UniqueID-column.png new file mode 100644 index 0000000000000000000000000000000000000000..c4aa7011f5442fb2307fbd9d330d6db456a9b17f GIT binary patch literal 64625 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

ac*J~F7v$F2@M905Op?F1& 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 PzzcapM>S8`(*J(|iFlMs literal 0 HcmV?d00001 diff --git a/static/img/rancher/Google-svc-acc-step1.png b/static/img/rancher/Google-svc-acc-step1.png new file mode 100644 index 0000000000000000000000000000000000000000..f8c225e969181c0ba83e128d3c3ab5b6f3798092 GIT binary patch literal 131120 zcmeFZWmr^g*D#Eq;w-KIrPB55Tc}XOSd!(T?0tBbTf1}3?1KG z_jNz@dhx!0zMl`rF*BQe##-mfbDeAL9jK%rg^%+L2L%NMUq)I|83hFchJu1NkBy1E z(<+8XhJu1eZXqF|BqJd~tKTrL6HuO(ZEtwks(ddP{x*F_Q95Z*!Xa`;6xui z%Qqw(9s7l!xKdf%JB*1hLD=d}YLYFLDA1n)%uk;_aMyeM@#A>=7yKBnNR+xgg8{F> z1U`7Z<9_n~Jm2vE9tw_&b^2=(HFR3paF!sv1G9D}2B@?M3dS>U0#+Z&#Hi;dK>^qp zO7E|ldh01rB2F~e7|L!1ZVlcA_VzBKcuR^W_4O~Byz#(8(e-`)cokKA!y9}vRr~g# zCvI5~HZi)lbnJpE`FQk#33*lIw4~If_zo^gLXTOn@`E(lrSc>Gyw?PJ*kv)^y`d~GC9sM(uB@o$q17xnykUcm{%Pow%3s9K@AS#M8Q*Ri>#9Pb7lu7TY> zkHZGiu_$=tACtZ8CLg!)>L?_7=rI5qz-w(1!<2 z4n>SFZkGa;qwqz~WAirGkWUm<(p$K@L$5t;l}@k~p7sY(28OLY)lVx>UJefl=Sg9@qS`+#_NiYkc4hVe|1$FxS{%sqWc@az73e8xU_?8V`dP5U z7fs9j7bEJmS0=8H2%#C%B0X9EqK@z{lDABYj}`^f6YVJ4zH|;VKUe3vkbNii+T5o* zjpF?=O*cDv#|}khO9-u%`z!^>_nHor6ljHlJ4;};^v%6_b|?MR-EWD*7H)a5>_I#Z zU+2omO&r>l(qssOkf(AK&}5!_Xgp`%k?^c&Q#X<-Q{TaJd1TeLg@P*-GG=TuDf5t8 z=V4eji=k7M^vh~IGJi2kV>Qz;bHoKrdASr>Ko*>02vO5eFlx9)eRzLkF}`M^SU}PBVLCu-p{11cMSqQ^E`o3JX1u(` zqZIwIH+?CAHLB?+tV#S+Ux@|mpJ*Wqc>ILyz65quv)`;TNgGhm7O2SH5`F#pn+P)_ zbc5C}K)}eCpKdRJhB!!){-HE+WDqtH2Pch|-($LVX>urTo}}kH1zPj)U}+`?3b%k0 zx{?S*WH#sIo@nxnqckDZ3MsZbMVBO#e9G-`Yedlw$&!4{ zmvIlrT*+ZHCG9!~1?LhTD0d&y9&tZhLnnPpM3)l&Azq%DHk#;^IFw|drEx^oRf>T) zLDD$m`E26DHm4=wCCepVBmAkjDx}Q4TT~S!`LpStD8O%79HY zt&~EED!QvEl5W%^Wrv3sC>M`wgRi578FHD;nb+w_**jwrS*q1-!*qRTpVaEt(ghK> z$1lAP%*j%TRr>I9EZQ;JJ(}<6=m>l?aHO(waTL5NyGqz=5bni%7m+W=lX`>}nL zXB0BZxMj0N@hrql@;K|ou!Duw=a`D}3ako3C(OA>YRUCs(xKkX$`kfWSquRT2@JqD za-0jC7dTQ+ikVMXdR{(zdC3fYLi#F}B}J(rkN;y>Wqeof0$Vq%NW0=b{5*h(b z<DiE#{Vj8hDKjKr(mS7`Y?`7Zfo`Hrf+ zYKr+TTpT%%xB?Qob$f+>HMCrFD_A8>@Xyz%E$4SShq#yU>i4UJhX&)*-vk*10b`3%-M>2FVThZ@bQge*DZyFw0sK?w|W%^TStr zTKj?a+afk?^UBN0gz1#&&1s5CMT@h|*G{v}=YkZ@3fscwdC&&UghFL?Tq|)66+R`6 z!g|?iJ&^RECg43VPd{WH0ttdec?R9SzcIUcfJWupjd_fpkGDtGLoP_3LvG7!&Eo+y zv3_h`@$2WnMnc&S`*3@heaxW<$&WyPnJSrY-8?E8c~KUAo4g|gT%&#Sto?@uQg3#wb1Z=AnVeiwji=FeTZ#Iq zdV;!p;hr{&4wep}(zevo#@MX2>}7SWnQS?tTF*oWc-1p78){xXw-+nY>IuEUxiY%~ z5QGxY`&;^pN}+W!bQXp3C95XUC#ehR*)j6F3jrK#oo+Xl79zJD+ExJ?xD$92XvKq! zIBw2-Z0J* zx*8@vx)3G++xB6)pX9gbZ^Ae{xKFs66-81_qneuFh*?U_)Kr`c{< zFZ^{Rv|)xk;a5*O%)- z`Ai7|-b%VVh9_+bAZlM7{2XEAeRRj*8NZ&Qk#c6}va^%v7`=wQR?*LsSZ}#E;&FFv zu(o*2fBa*8d%%G6ZV|Nvqy8y9ZWJjmVA!C-Y4v4jWhtqw%AUu%=iT?vIz=_+0ADwfIW4<1w7Gu67v|M->(JPG~Z5@ z^`h2~g62SqTBmon1Gdq(Z41vdo0>H9_?v3XTUYQaDYPhX`CxP0jw9{F^^sJGFB97n z>t!Wmx2wslwW?PgwX~-Y4*N$xihk&5*g%>>>Wi%E*H5>ow1t9PJf^$hZdMx2#nU*M zL6LK9b8hviJArc}m%$@|7$#nKXYua(=_51lxAnDbPXf;GhMO&g`Q-Ha;QdE?Pv$im z435N)-?Y=@c#S#&20xT*ffo~gatMT)W>hqzj=St536f5F*>ao2TJ*44(^)=|(^g#KSW1d-Q&-3HLp{;P|Vl?c72yb`Sh(7}|J zhn<`KHN7YfEiJ9EgNd1-vgG@J4@dqdLjT#x$xaXe0D(a4ATD;GgE@dhKtKTSniIgu z$%gE~=ICbYWa!Ff>-hZdN&aIVNmEB-2MaqV3!p9SU-KFo0iB&h=;{9g^q+r!<7w(@ z@n4W^9sj*7;nRLj?r>$H@QI^6!ztfWKDo-&XWDx&Cz*NiR_xVZeXVUKEG5TNDGy4oVA2 zMOEZ4>R-G;a&8~_#r*d#^7;WzFo)T12nvcgij3qNRo4eQbA(Bc#}YPf{8??AKclj9 zETpR8F*c9k_jk-T>&a$lyXspR0fb@g?F0(xq5Tyxi(i+rhs zPR^jQJQcWO{^h7ju0n|HR_cL23Mw|O_dk6#lRYAnT5$g!&5-ExPwju*3nwN!J7^`$ z1$)qldhjD!DlA6Q-k>}{ClddsuQVf!4#?FEobf=ftX-<((LZ)V4%GFrhu`dhRDAX| z^xa+{<}TJ#_Xk?t@0k@j;MMz2vu90rH>wNuO-*7ko4D*XX-1ri@9%{`WQWmlbKWVY zfC0O@yi|tkxh{U&6K;_DC#?TPnEc(nLzz(Nc*6b(w&YKO8yW;1_P59LafcJoI_yJ={S- zeSo^0;&toBav%b^Jn^17$G(s3C_X(zWD{_>;zB)VPmnJCeHc8Zd%f2c@jS2j4B&Yf zJi4>*c~&2+`CaRunfcec`FW6J+|p?JfB_?<5{&Ly{7%lL(4Q2^azCqrh{!-E8y`{O z@5DK9?-M<7Q|#|o{XkEN|2M|$5z<8G?5IKaWBE$LyBTB}O;Rg)AFG&^kv$@m`uy$_ zb0u=rWj{YZvaPKDCjk)?222Nf=#R_)S*ef^RQ*tV_IsF_90KnJmxb&>pB|5YA4k(T z(Xl-=-U~#?-bZL3dJJq2(ueKV_li#po%mnW4g9~z!%JijX=XEt`{?!)?*S@2=A*(2 z@x6#j``7~;4&M(ap8Zaj$a`nj7yof3<9nyvDh#z z=xsjx9pSk-2Y(Ln_g8+w>0~XP8fGS=)|fJMN7CIGs2xn;jS(b|qvwRdE5eLC>bv8DkdWWsS&NmMT@s9>^D& z$1;#T^CaDs5Vjz`2~cd$*zvM#l)E~Z)*XLp9n%*23=CP9j2C=@5gJHsfLSh(=rqm{ zF|t_mW6tPLkP9Z*-*1}FB3!i22dqq_ylp+~L;C8(R~F{kE!;AMyg~&MP14-6KgXNN z-61?7>3#Z(xb4|2L$5fD;JLa9gtxAlaw*k=OE5-TQ@vAU9F-X56PS3cPJZ=k zHobDRY>o;hM)y12A`&TgkT|g(YX;#XB~()DPYDfrL^k5HKkv_-R^LXrkt6V|9?PUV z>EN^B9mt74&?;n+fq~J+zdpaCb}B<8_WUhX3U540|B57Iz&uKro3?UGt22wg)B;C{p!h54!|nXw8M0=4DE6fQc? zFjs?`83*P*8H*_|mQNHzX_HKc-jD6Wxyi)n7hHpnu$B1Z{J=2-xa&wN^Z&rWZEOB2VbN;YiE$!HAj8v7{toGRxEA;tDhG?&SUE zxc(CTNS2#Hx#}P`8JEdVgJ~L@7^<);=_{CMacV7Nh1e+T4JQX8yfy_ZuIG};!5MaX`#xb? zkLI^cV%BC`Cb(c#JhQa4o%H4d zRydrGZ&N)H^jeo?mVsC{R<`9kdBi=RJ_GByMKi%TiDW-$gJU&%v!2gEFM<&cy>STT zUP_>vv%@FzMm&)@2CADS8QHfvJ@mi;Dj}xRdSmUd+jKR*3R|~ZPUG}(|GZ7N@8ER^ zAEGB)nTM;yspv%63_etMdO}b{bE`38viGHiRSPPe&)%E0>-FSt+6%Q;TYo!lAa^<& z5ooqK@Ag`w`l)Jf28L`l*k0F6K4jj-O2rS8r_s#fCUjg)e(-90{spmtu*T8^AmZJG zhD=#EKGo*f4amRZ^KG5-RY^5g@Sdan+&VY#`A>g|n?`7BuL>{QvSz7kM9!0_haXAP zF%g<40bZ=cB2U>OG}}b^Hew9TbN0Z9L(HNuv&;8XvQ#soIi0*k^uAX@*@r$h(A_|r z&1D@+u?gt8YRKp;*TLmkq=Cj_&nX? z`b=e#8p({g3+~q+E zS-~iXUUwaRkJM8>26vo@AGi-uYd&2Ao)V0y4b_ zGg-DVo0>6A?9CkyoWpR4WmeR-O`aT0_Ubz<-*23D=1V!*`gyUQGf`6ym@3Q8@it)1 zlaMCwW{3=F9~A+nCX}nmCW-yIBS^bO$dC5zNzFE$frHs!a&dD9DCN|B#f10G|a9K{zq2JXqL>jmPeTNTgY z@)kjAKjrmhO#aCt~t8CrB zudRO9r~ky2uf3kA_D{1+t_oAEH7&H^+JfjwE6o>?>~VA=O1EvDp`C$(^_$;TneH4# z^r=oKVx?`_#)F!x!#Y_0uwv0#pR6%qBnn}>7^}N#WaN}TRFVtz)S|v`TNOOA-g9Sd zny~N~8#n3POEFOdDnggb$e?*&71pftLLo~` zHi_=|o8qzUXHj~MkZvCzACuJaB0ukxJ3~^z%W1SKM|%jgs9x$U24*riFm7^VRDa!Y z`NRn%t%Nc+sAB;4F^N09tllS<*(aqM*vrh0w{|+^118s2T)rK~8Hm$i3N>HQ@fZK# z@>5R{q~l;EK6p0iH%o;L5mdBVJ0JFFf~5ZhOE_-TLO>vM!(+I-rx(P9wzL*1JiG`4})M0GZ9 zWjw$}f1x8(d-W2a81NFD){Q4O#^Cl=1_*lbDyCu|p>Ux3Sr#Ory}z1r9qQ6+XC*y&Q+!oWq<;bxPMZMf&qbK@$Lf9> z50`ea0iC`q11Qw&&EHbTS1@#<@byqVd|j+wY>WCt2J9=qtG!f~DW zlf3KZCTt0NGnc1zB;J~aoK1ncHd@&({$U#)THn0+=v?2f0S#X1CV?6MVxqjAU{noA zNS^UaXX8R$=;u26?k)$oolL)3*BCsFAL)`i_lNlUKemJY@psdM8C<5{@Ph(kp|L(fquocSh~9_SYX0b-cJRa~fzJ8EM+H& zW(A~GyW?x4#%HKLF-hZELf$2BPIkVf`!p;n&*JK+YlHJXM{%iFxvziKVfuAyFE;n~ zsxC1Fw8-E=GeIX`c#T2$ay3VbIm}bv?H{(@A0E*jh~S9ug-4NkR}4G(>J5qHt4Ppk zwgUKDvc3{rq_uM6QH~q3IDL-l5@RYQe`@#YG2ZdS;;DL(MG*GF_S<3=)rDyTf5aAn zR;Gx%gv9!@6B`>#Io@h+CJIEQajJm1TW|B}@O;w)LXOHR3AFgr^WP5|;d7sg9a~yu z2N8V*AO$yB)dT*RHz3wEc`Z1J{`e1?CWYKBkT~J8YAn|s&yOo<@r4-z6WL)(mN~i3 zRE3?YPNP9l22MbDQDgDVx3~K4h4u7Cwd=Si0;H8eWN^WrKf3)@qoi@0To5l{jAZ&DCQ~wa9e+r9f%qe* z+llzJcxU#h@U@|p?(thfCImFq6(&2Pq)7F=Nv(7K4A4>o`XqTuc}D!@>XD88-F-QPufaQ!QqZZ(J%XIe zEK8r|vdOp+y7PSs+7A!F2#K65lVm*Km-V2Uo?##{XY0?&XrZ&v7iGDcPa>PnJl0Q1 zoVY3mtA)sU_9ykG%%38x2UHBW#ZsfUaCh94_mSJT(|vB)k<1yBndfs4xF%^Vnq@56 zdo}(YVHlWKo-q6{RiC$(7(NLMgq}Ql-Y+nw?AUIyjAnj>(LX`bVP2s9;v&1|@XccP zUI`$wmPPx>eAIaY-XOi!AKX2gP;N4;by0qv8eNZP4TyNH;dPTY@qCx_EO{cp;Dc@Q zW&<$2&!GHyxwIYm<9v`U%;__^7AIE;ZILxblYoG!&04mXMm@LKEW^y+R4flyQ+3YV zjn3KKySh7btA3-oI~wY_+f;Ly-Wh_z_sp3^@d0r5=w<%=XF)cWj_!<-tB2~caeJv{ za%FWFEYUg1{@38Oob_=PG16PB^pl2*S#I3bA;m-SoUDP{yEUcL=Z^n)Y6{_pnEWIf4z1xn9`4T4mMf7jDJbG; zXk)HwrOIiU|9JqS+H1u_8>iCIjkDgXpuybC)!gGOZ4BBzOkOt^-5H@u6fy}Q1_{lA z&DU9)_)7Lao+DOb5aJ+5Xop*~RSP6bJPbIIcW}DCX4l_(nm$XssN!vIgLj&(OT(h7Xp$lI_X}g({HV%;tw`tU?7J~d!W3M>-%m*zdT?i-ZL@(BgUCiE z(+6NwlM@lM6+M)S{0x&~x$INR-wE~pTGlVU@`ORT6A>+Qy_4T5*Lh-mUM_Cy%J%Dy zzL74l4C)W@vRtnDcs~0dqbr5D6^r%TBgcBJ$`N&Yyz3c?>CK?gRukU`(A2uMkiB<5 zcapv_?HqA*+_IPc6#0q_Ur}{ELjF7)$wKc~Q({^o7$b@+&MYDhCL@sWweEn2S9n1( zolX_QACmZSSH>4!>*_L^uGsqLtrUf_`zu)G$4D9AB}C=PP} zE0U}n*Q94pq%Mfd*4P%_JKY6F+Q+T=X$_^sno@0Ll{LzmCEJ)}|6b7=dBHoP!OHE} zbtd6ETwkqG2Xc{~Pzix@*agH13cS_@jBuIRy2WT?o*odqBXC}_8BnTb{lU*Cgzj$u ztZS-MTJxNyS<6yCo)7P@&s(tdZ)y+=OD>78pxTSfe|cN|+|BunCSuuO{08bd%gtfs zVm+olb(;5%I5EP&{D&w9JKv6iPr8E9_H@>EXnq8W$+~mD^Nw>~J=pT}Dnf2@_4#lE zfNqQnhw$Bq=ap{lTFMTsz_^m6?d@M~EY*dYY^x2l_~egctB$nhc*-q?Pnw}i)C_U8 zl#v@Bwxmbj@6T>v_0)<0`-5NEh7E1)wzS&E_kLBZ7qNG)`6^ekm}WZb?2pg!=}fZH zJ$h|;%o)HZUm;a?R@xGE1F8T_RkiQQ6xCZmb6&3R2u7=8?xEcT?H}%btSsilTelwm zkxvNV-qN;~(D?az-o<*eY^~BAGmOKFneS08e%OsBDC?c`xt;jI$?zS!XV<#`r5jT6ie>sO7 znY>(ECH!O2M9gu`layPM&X_K|nm*jX8j|Pwk2m8cYrFMb)Czc-D7pgi2sT}pO(|Sn zEM{dJ$4TApmiq=G-ILK5jd?J*YDOZ&dRl;}_ENcta&jVOXJhAs%kGXeGJ_n*+T@e0 zv&+fV=?pL@&!XH(=l!MYTLmxHIW$=|)`{YHelS-9Xo!89586B9d53p6G%}xLZEY!c zV`V#tG5puwWqSn65%bVgth^%;ga+4N@GP_Uc@tD4?O4Gy)gZF_yQWcqPgkK?lr)(O z@OviK`eek?QkKAkov3z|L}wymF6DQi4{w2IfIch7nIK>PrOWZmwd(GI`@bA_mvJJa zL0?&`yd%Sv?CsNohku$7rKIL~d=DmnLI$f4?~DoDn%iy|z3MD=Y-Ay%Pk-QFuKc9s z8$v-e=ph;5iOUPZ8V*)IZ!1g?T2*0g-Z&1XKSt8df|_f1>3%nuMT8HVH2j;1gR3~& zMD6^9&oR2^&(%*NE2YixU4aBbK(p5sNv3ITm5o8WwTV+*-r&u#{*xw5mY zLb&QyluN&}3T5eb4hQ>LAltUbNLO<;W~LR?%#yT}rlKfV3z7btiUuv&Wo~{YY&BT} zWYj(WdDO(ea?iEc|5Q8<@<{GP$Xpm){k5)Yk~DGFSl*}_(!%8Fbxwt*Ki$7Zh2`LY z3Xd?|Mm?bZQ&`Bdn@DfX4`T)WF_-k4(NesnY5T>a!=q*+T-5Q&<2-^}S&ICZlv?S$7xMmhOq6+p`zlhRob zMrSD<n53)%O!-h1y@0Q}I{D)2 zGqhxkBXn|oR=kdcXrMp{m-ofhTfYl?e`|Z+BV?#zN)w?zuZKt63x{I~9{HIH5=B*F)iu>roRdeaU65E8s+d!2&@7hI5mwruev5n!qVKP#N# zlMU@GN*;-Wbf5#zWcfsZ$s;o}Q7&i#wt&9t;jVqeE`|^V_4WtGKH4#FKK)9H!ii7H zF4Q1wEI^o`t{=h22x$i8yGtk6@SlBrzWHM@C$q>wGTtQn zLmW%N*YC!J8c`OohHoY&^E*}^l$)1@2G2LN?8)r(&uo1s^`h^cp5q0G9nL(967e5F z2&P}Xk0Zb}4r@%Em-0oep-$#W0b9}pyr2-;ttY&!OH9_E{E_20)K>4_*0}K8aVwJQ zsxMeM&_pAct0A&@q)~^#Z4~0^T?}9@%DJ}R_H}o}qFjE;oi(dGCKX17Hh9KBF;Po; zB3yqhUa3Q1*ooI<`Si)T3pm@oGnhI|;W+m7c6KWBKgF@+=pC*LI^Qbz%o|C(5ollZ zOF5oiCNmgUW1I<6S=ceFDcFXssM4}i)dT~I6*?r2hJIV1Pc-z~Q=`Vu#5!qz-1kK@ z|6vC5+&{1uTnnd5z*#4F9+3=E5Y}qs=igwTE+3nZlrzH6KLU4M+RoQK{aPry;~!zB z@iB+9)EDv`=}BS|(mt6ka%=<_fo%6JnmmjgcNWF22OB3!4ZRg~wXpO?U+U(L%n)&! zNb4)wiiyna-+-gf@>^R?0Nkcl3g@1rhRyN;1a?zAd>uv_09f8?$Rdyb3;BNtpVI6a{6~~_%bZ;>u6W^ll?`iu2rq&I7hmgq2j>;2sa5Y zlaZmoHds{vO0mr|gNbK1ugB;5-DZg5nSer-SZ5EG{cyMxH#fg>xl|{|{dTJC1jR+| zNpHnh+qxTcDGm-=ZD167>#yH({&UEYMD4TxUC97s1?A<$ekwaY2e%}|eUw#SGWAR$ zqw0mA-Djpn{J_$e^czoP$88V%Tub8|;BIefF5Br^t}!aR$44g@23m1_JKmm>C{Rk< zYEy^nBR%sD{UGQCUlGo>bCJjz56%2**41;0$+=i-%@{FZDc+yCEx+Z#WxoQKzZKS1 zaN2c-0z+{s{8wn*COwF3`W+HOSh%3F_roo zllnB%&+FCC6!!;w9+-DgxqBR4<8MBsVtnV@=4criqPS)E<|262D}!`sdXI41u*lid z4Fa_RMHp*tyRP%dAhjF?99L5A$ku z0T*pkp0WhcDaojqz=$k#Kvpx0Ou_*WDNLuis23dkv?Ptfa>K%|Zm*7jpY4<`FRx6P zx$ah8j+kymKYYiYEH?A$?oEGGPL5l=u*DC#ADl9bk9!7xr=5sRFx9=_yeRyNhbJFx zp_1E^Rem%AxQH^A;B=L&)@mH~A~88q9kg+p(GBHfc1sKep=yg_ReJbUq`0pNE*4s7 zi@uAtQi3U{YPqi#BI@=l<@%|`v~moDEA8~~ddd$Iw3(Gzm6X0wJysrn7>9I+~k z&EPOs;Ga)X@4hCeK=l-FSyG+VWRN;GcNc$;U>P2 zD0pACl=gMbU&j!6OD4wuoQp(4!S+zWy0@_-8kzRxP)oAL`(thYk?!*WZrz8PcXK>3 z@?a<@C@SRM`V`s&d8&U9wZAbUQ$aSRUHFjm96mo6q83Dez+c zxx4ursCP4;^L_bh@lSHdd^EL6dw0iwEcOp75S`}`+}rs5B{EfSoXv@&{I)qwn`AE77ahdlOB! z&PT{}U^p^eF)D{N@7T!+fP0Mt5&sy5vayG|&pr$WQ`LXyk-GKn{q4QoGmxf6YV&~V z4;}iq{)o3DwXL{@{(0-Y%lL>i2boUi1ox>-+7c3mhHgZJ;e86{!;Dn9kAfb5CPM!W zRLLF*gQd8u>-D{O{$&%HsbKe7^q>4l7*8}zOvvuTlNM>0K+y#7f7rnNjfQFx5=IaU zC+Gd_LOKSa5B~f2lKYhc5=Q$Ia`N~0*|z|sai+>{1>H;TC&;p(`lX=nc=y)NNg`Pm zI=m=!FS&z|RY7|8@80{}TNU`fV)36+^1ov7U()=)V)6gGSV)>LY;as`4thNo@xPVO z=Rfj0xpC0czg(rrs~x;*gg@DbU#JX(Pmw0S)adg_Y*@BgmQY?Y{#&;dAU+fN?(%1A2!qu6@$M- z&}Z^pA+kuo$7w~Q_2}U4PWEDGFB5u~JrM%LQ5Xbk6Bbv;o7wN%~vhCpuRxtwOJL?@r=GUBz>)r)YPJVNssG8bKC` zdF)glWdjkiy3W{G(oj$E zxHUGFG@fdci=_m^I-mS#`|q}T;VZ5yXb=n<0E2#04~h*G^klkgW5T=;(;QkiVqSE2 z4hv#EnVPgQVl^vr7U#k6IMDCodhf>u|MD4>gg%*4VIPc*Gb#D)7F-!pM^8V zuP|+1Br~;Q{fF-nH^srDnF6?94#rNJ?&tU6^M^PlZ@^jHy&%PH^Ns@+g-R*%cgX7G z=kW6mz7=F$>#9tt_^Tw1Cn&F$wnx|xAUpk8*Q;@aU3s=VKYJ3%Ny98JP zd9H)5!(6GhQEzW|ZJ4gkH32qN|2k1$;3nq3Jf`WI)1jGQgMAS78kAb4`~k|f-E6Wj zVN+44Z>oGxeI3}FuT zrbFcA*)J+@{w^t0`wXEH=KR@7I0rA3=nAhWjAssprLZq-?TQS0EEkScRw!<`R993` zp3NNm;_a#zDXFUy+}V!0z4-lU4Fo7J$=f| zLu=_=D=Rg%Mng)e-4cdEuJP8;&9jsFC5*<#rrs=<8~LMRoRA~}CSr#jwq?^L9Tq3F z;crBjcLnv-5$=gDIZb!I6ec%b!P#GC>+j+)VRtWX4&9zz!_<7?*CD#z$N8vc63^V- zZJ6gCyf+TM;P651rO7Q(ENHIgOF6qchXZ01F2)ZX4%_%vYg<+VMlKWY)`br{ZbVIQ z{Vq*AeP>LLgDRoV0V*7MbEVp`^O|gBc~8Ko({OgjT)pRWc{T-OpNu5hF-eYt{0Tc^ zy)i>#Ef(B$EDQ3Hb*`*sA7*w#5xtizIo;EGn;91Kap7C!x9{;}Mwl3ThNXt#YQUl9 zGvqOOXFV~<#ib`ROjPjKSP~nT*H1rZ527y$o_hH>?%_|1%!`fHR8e}0ri6zcO&Vx$ zp3Ua!hKqcUvnuy&k*E#Lx!a-mC-r?B0|nfO>J&CE^ZsZ@#*_#!rt;E;EEF{1DWJU* z6mp@^c%1LFb_v=I_nVpM>0la;;CtRnk85eNZBP`QjcdeI^nA;L!e1lUju?YAlu~2S*yioUD2SVYntHOT)y6l ze4U^kxBgT1DX?+jPdCN9gj2rm8re9r@`^kmI+peCi+(aLvI)$I-t!#4OGM%un;x3W z$HRz9Vt?{s3*Na>Z83jrq*>Yk8^&jTzLXWXlC(rytPplNJ0huHwTca`; z0#&DXmgM~$I|~xME0HfYd%ftNfFHazSX=QjiV1PI7QL8yjuk_vbU>y=p7@5{7yU#b z(X+%q$|GwZL;AbFAUiO;O#b9ZlXl_?10Aju&ld|2CtZ%)SH~ zeEvP<9KfK~J@{Pj4G;$L?Zf*#tTud_^0OiIy5WQ4X=wbc>xk6q5w7oPf}va4I@VD$ zAB-;p<@}|y{_3LDdQc9Jz1HQbw>LL?7Om@0DRTIJdX#vbG9M?utJjko%n=VM(C*HT_5QVzS76QS1W4ug$e{(X&3hHC`0 zV)l*Y7IVr8#bXsfP<`QDo%_Cu@5u|R?8qz6I8*op#63M_yFf8$ zrP4u4-)Ty_2}JL#cq((_uaF%3R?G8@3ss$HjEwjBvkemuA=bH>t(9~+JF~S6?b-{m zrrz!VkuVR}Z0qx=;3T(KcSUMuW?}n%IZrNOM;M`lPrvUpd^ol%4*k}o-T4a;o!sU* z<*@#A%HXr;@|DU`Lr?EunJ>8d?8Q`l;|;5NNq*cbk=kcF+p(2r=TzF)Kpw`4T#i~2 zk1k<0R5*azP2wpW;plc;E$Xs3Q4L$yy@2-)#vosek^qVpfi;dQfJ=alugXuqTR=tY zE$l6J<{4$zCM$uTy>bingyCD{6Vq|gH6l8^F)Gd(UW&OVCofEnPHKr0TV9^zX)EMf z!oW1TIX>}y58UlD8L0J@(|z`l0(3>{(?g?q)(iaEq#@{X7TDler`n&e=T%sO4#WSx zEPByvaI3smzb|^R3k<$mtlulAFo8K*D^fz#h=Bq+18#{V`1^N0g%^=x1IG4=4#VzD zD>r)P*>PmLmX)LWx^x%M&7swNV!O0T zLFX>Zwk5CnC?Z88Fo}s}uTITu<7dR0!DOvk#=3p&F$MA+BOytmo9k)`vz2gBh2q-I zuKannnd9aU38wROUe-#2G?w8Pe5)B@P;nuWJ${Achao%hQMvCH+~-b7vk<9R{k!b^ zki##sD~UAt!Qkzs7wE9YnAA}$J?+M{cfRw2>{^otG!k>r&r7p?XlIf}6oSa7V~%ky zInYpz-!<1E^wHol_#QNIO>|Vt?nbuX_lNLEh!Ox+lc`aM2XYF9^u4)#2A;=>@aWXr zlic=fa7${BUMlRpgH8F@>y^d+qat$y88)%w=PWC0uZ|z^m-IXb&9Vp?0NCBUilZ*l zdf!k9fuUk96=pxx_di(%)cEGDmM@zO#oZ*Oe!poq0FmqWmhB6@De0Kc3N_za>Ho2Q zuBYob-lKzj)b0`L_-)ZT!JAHRk_f_adtLOuDpJnyo>Gf?>V8-JoUwX7H-SfUa{*f2 zD@u5jE@qc$eSW^m2dHbdQvV!3>e%)C1qEp%N-yl3(Y)^COe01=ryqrdM%2yn`G}CPipuW3$DD;SP92! zG?>r{(=f3W2_@SyJosj7;Z-LAPTeMfXhOT%EI7|3)QImE3KyuMB?#HG6yMF=dRoRZ zT**2bo9MOV&A}YKGU?c@eXIRPK*=Gxh*9BzqA^%#XzT1vVJHi?{<<*l8?#0)^*Yj2 zeZwu!Dn5kj6kVehM8EBcTM3`)tGlZ!Q*pjeOKshpH_!`ZM7kU2ScBzi$%xx7e2jf} z(5bft_CUtwc4bN#QC8E((%P(b<6fU_oNF%hv+76Pn$2mF-27YV!ks+l^^x7-%Coc+ zeAiyZXbaN8VVmIILV9Xl?fm`)+-a7#+wadDZ#J*30&J>I*9wL&A6XWNyc9em%-J4@ z)=Fa1vVO*@e_UCC<=TV0r zrt^4dgpl3&Y=qq}^v&}n-P#w&;_rcdQ{%~2ra#83A8ON>>nY*Ew1``_!?rJT6$P1l zJMJ0FNRR9wn(=>0zu^zb= zO5`^@ier?En>1C>FaY${g*4Vz^a+mHA(P#m|w!x|K(o;(=zj*x8C|1QRxnTv@wXupraV}a z+PJ=eyr196AaBv&k|nU$WfuqWUI^&OF2-%FYCX{prOkz~kr#cOlWasQw3Z+=Y5!kqAc>YMd+^Q#kWw>R}_k^Bm6CP6@dnI6`cOenz`)*e1}z(RB6bl|W4a-%LmM4=n4^ z@T&GYgDxQ7H=4v`$q&{5>7gdY0dTNu;#OsGlZ^h%(A{n#udEkE1=~kC9Y#d`X<=;t zfc~ap|A#k(?(`OE)7-2MM8Ps@$%hW;Px|e zX727mRn-W|k@DHYWU2(?*qlt8(~D`w?_R(6Y6UZly(5ypMCqpp3XNuHAfGf^yBSwZ z;ng`-%HCb`=9LluGEbGfo2=(hDh8Qfto&%!Xb=X_@T>j^?an%_C*JxceRjMPDpLpJHwfF$ zSbtNt;BvXZyajD~Kv%N1ueSwK^Pk^=)V*^N9(z6yC^%c6Yous`X@_NRp6%V$y4*3? zoNXT@frXLJDwzqyTfS0^dUt78*+AW^P2D*7S#Q+Xju}h2?BblG$h0IVAlgvw@r=BD1XO+dg%dCV@>_}CaGH+ zc<&KS!pflVx`*4oX76wk?8mH3sfF(rNN5I{0XqO9kMpGmrv~NXpz6nQk%wpXJNE<;wIjm-C1dmGsQf zb+R>71YQwPfo1f!ywq-6k4GPM!#(#dj`q$PbmpC1>;St)sPH2Ss_iRwuR$D)aL>vM^A;%dSalL#T=E7oeb$?so>{niMyU$C`IRmrxOTAG z%PHHIWoBP(-HS^HG#{oCjchHA=v6Q7S2>-pJ298H*Q@u9T>+Y#??H|GB^0A zp=-dc-}6)sy{wrn8(xb|{~uHD9?$gu{_(#{r4sV)T|%f7m5_7JNl}C%XSQ-?4mr$W zGpiJxP|0CVOHMh?c}_D@&ga8shSAtCGt3OL`T2Zrzu)cl`{VWh>!0iSd|r>oHiby)T%k9#&yY_rl&_QHeQK*HU16ZahIgVNf%6b=sr?rXX!t9&h|Y> z{j@0mPR#nU+X=~Ab(?&EGiaKbVD2zhz&l9eW})Ttc6NiwEJSl-2rkg)Gv#cFDp@#= zm2%;mB)cr-E$CNo2ndQCbI#K88Pm}?w=5~av;5jLFvfZL(E&puT&qU8NZy9-8U;q= z8Dp$}pSYz(tCp5^x;G1boOl)VBjM_#b+}o^80hr1zk8Q2lL|ZSP|X`3)YR1e!&Iv3 z+sezAN7;q(q^GdPQutQHjwYPo5G&vxQ$Eb<6Gw&AlXh{6)f30K=6jjA=U$Rql?2PW-&?Og zt+Bg-{>rGybA$-yN>|;zD3@xr8C%IH!~6JQ&bO3!K=TPuQO|40(j*{N`aiP;)IEtZ zCxwHC`-f7R$q8tC`$izzF_X#J@{z6(WBIY3Ke)N$ydo3jBV| z4x(m|Q$5&Kw!g5q62-gMP`A*SjQsL`f8(9*=A*TazP+{nU^24rRCGOsrqnAeMYxve z6&tY5^lTZ}TZ<2FA5WzU;;o*}Iw@)L+=*EP0g1v*BeVW^{S%`ydMHz`b>{}xY`Z$h z6JxhKs6C>kJ41fvPu3L4Mt=2cqG#vbhh5=#(seqv2L|jLd#Hsn^?0On_K$3@0)jL* z(WtT1*#2JRnBN^L?4x`1sNs7bkl$)yqkD<+w>*OFaFFa_w-|y~S^SUxI{^2$=b!I1 z!68~NVR_OR8x2x;Q8P)Jn|BcRx8xF<=J&a4Iwt8~MyTij_=s;l`f6xY(WJhJe3$|X z+*?&mr9e*HyNNGFt3H(w)YAD!y5c*Vyw~N9h*T_IF58SQ zw)qPDP?%DQ7dicC>UMCfnH;sIGk)M0a4IR-O*(=bNXLsDZ83TF1z>i^WqiYL_lX_OGIazFQo5g>zo6^ztqsW}Y19QLAP0A8!FTSSP8_^N-w zjU|@)VD;EF8JF;lI*o_Xm1~J5O%qESyrn{9id=St>yZp-U1srlmr2e!p3KqDrYD;hbPDGLRnx%4;h7g(HiB36Z}jZJ%GwexKG9 z5!BCE@qx{bJU{sUV~$$+AMQUw)nsmKHW0{m@-i^AlEYOY9fip;NdDDvD6RXEQDDVndz7W4n@vR8+s&imEO8 z>$9(V=kvT)qsx(r-qWiw*aRbq?o(2z_mhG7n7eSama zV83X`H^7o@C+ZXUXYJ#Yh6PthPF;J$V-QMyKdsng{Of>-Nzl}RQV|_clE`Z|kJH)# z?8Y1xu6?Atf2M(1Lh4btplrkH9_%&oBqnmI57&zH?gCxbsmL#X;1SWw^ap&Tw;hKJ z=7?2!w&w=Bk8W5?Bu6}vYG4M2VDMZ)VTj=Qg5MjbBI@&zeI-z-R4Cf3Be^B`tx&jY z_SjCyy7mUM_;TNjHc%hV1~>2nm-!SWHV>uBG$U*+IwEa+X`2z%58O`iMAR0~+rN3O zZq`=!0X`S-js8nndYd=3uY1K{J9X1uJ7wh^>6^hCH^(3c5jo?p z`3n^K?u&L&!ugX|;F#T9>|M(b@yAN>s*u{PbXKh4?d?7dg#VPdLWoB99k%H@8TTp~ zYFMV`8#quzu1)2>)jskzL9gWrO15kuGXk$yVA;>JFVHMOUZUoB2z(pl3dS9D3Q2m65lrB580J zdM|XZ-La&wmcTbO2w5x%81;qyPCI;!&py%wF72RsY?5mISbn5x{~`XubPRHO z7Bl{j5S<>VsY`!W%ypU6R&+v^rru|c4a?`6h|i~=)$&-kOlO^&Xp@O4%CTtFcq#_Y zvw#SpECj)q|0l+agqx;$(2hNIEfLQTiWfqu+((98cs3_k^j8Qx!uhQ49`bN?j6^HK z`k2=~V(PNPyC!>U+16qC;@5_Cw3?fwjwNmu1|%||p4D4_0T~Dx*?x@9h#Z?N*PZte zak@_cayK#up7YRaJX=wcjrtZT3gsjT$!-4jM1Z!A3}#>O`U>7U0fGk|mI-rMS`#Ea z!Gl6Po}e-20S(d7#VwnR0}Dd}RVh_N1Lk#=B1Db8S5`iW-l|55A-`!X3BA3H3hSk_ z_2-Xtest>O%&_$x8bf`8R8xJ*?_&9K9pb@JJy%Wx$1kc2gg(f}$GWErQAILT>^FjR zz4c~Xgym64`O(mQ{q0B9TdpoCf}zXYhvI8xmPeyZY8Y`BPYDY3d>NS-@c*60ggv(*M)EmX$59C`iPRK>i=Q)ZW9d$r>5VTuY+v=$#2!$TS<*Nmyp^ zY7rz@b-%}fQ}M(qRlX8)Ymy|V%6LAiv+3G-x4pc)$cTv0ewu*W&*2657ZSpg7q}Xm zAPgdx79f?O=3d>R`T4e7iJIf^)o%y5;*x^#C=oVdaZi zp^N*gjAnd-&$b^#`W)s@WG4wVmOab!sd+G?zf!}-oK;_RNmQ2}eLh|jAM`lxc%#RR z71 zEMYxC022L7@16OSfbv%3%2v57?LvqNB;ocX+2X+VfqfH&Z@%248_>-$g0RPVY&uP; zXG@2NTV8@qS2;HPoz|{-zf}>v^Hy(Th!XdEg&9Sr9{`*;iy${(@{coi=XH0sKS*3D zXwU7c%-tBtmhPqmdUl9g!j!81CJ3su(>^O_e$F+56f;wRW}Pk)SI-oSHtc#f(6Gyo z_X91@ZO}2QF)b2heDcg~fNy6SO-y!#wsTfQ${TnzE zk}_u2RDH1narBXPXMMBV>^t$Y5Do3Ktu zN36QVgO#B8P>cx}V{vh;r^)+;cBOg<$6Fhov#*2M;GQ`Rik90iD65y_7r*!*symE1 zvOG2;bfCCNelpHV+IrxBtn5taL5C@{cNuhaRMV7lTmcFhO5voe~L;V zUVrXls(+Dye7#1fW{OmT*sXvRb9)6<4EqhQ6{vQ0$OUj|y=2)orIr5aPR~7VBBd4+!W8pv``AqJrMdA)8Ld^ zi^rz^O5e!r>!mL;qnbobM?SK8Cxb?-4&4v$>yq64KKT~7W%u2`_D$V*X0gt;o1SrB z?**AqoU>)5xs%Q%_n72Y9umVT!I0U`&4B#!mrco~VecBEvl9F|cQf))VUl%7w`YYp zbUyz;O$oGU;n(3{=REo;gB8DVk-%exH#ca&8_8Y!j+=)*eB9GOl7?FyTsys}zL6e^ z2?);n0WY+{=An#3RLS6badi-{0B`wf>-!JEZCYXRp$6#QJBgzv8P-{6`ufp>VtsB6 zn7~wQyn7*I)u>1}B}XxXD6Zx|{+#}3Y%8inD9L9~YkNh5t2cPG)L#IqV@2n+Pp+a@ zXV*p~YP4*KRB)?BzBYU7jkO7khI3 zU-Z5ZY+t@AGEN$&Zy5lnw(_*-KKk4`WS{cc4+{!WyuGS>ZS>?=&m)H*PQOY!@0BQ8 zZmZ9L^J&UY(At%{Q`H*hq|LlJ!vBotC0Opo>%l5qmc~~O8_a%+*WVkl%v+Tw^^~$y zcKUWR=A)1+{izFIh#Cj-Cy>>xGoM?HIgZ^4f7;SS30PM;T2J)--)V9+C;Wx);6~qq zpyU9hpli;r??R@#h|TjYc4^-5mzXem?;KpFcs++ zh{>+Y9UbfCU-37At_IsmGGo!4+w>C|k!MC;vRc$7Dk%@kZ5qHo;}1#tw(rE7$(0-K zHi+k0YQ`|*bd)7TE5VZ5Ekn(Z3Vv9gFFj`ad$)`@U(0WE7g}aH#E(G8IkxF!c^U

k(scyXl+=G%B#At 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 UcZ7I;1Mo33w)nl!==%Nt1Gtf`8~^|S literal 0 HcmV?d00001 diff --git a/static/img/rancher/Google-svc-acc-step2.png b/static/img/rancher/Google-svc-acc-step2.png new file mode 100644 index 0000000000000000000000000000000000000000..683a4264984274ab554e2fe647be95e5bb9f7eeb GIT binary patch literal 114257 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%0D>7|0@q`%?hN8WZYCFZupJO`m>^p^hV#i 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 Qp1!`Ra_4%UvdPo`0(7~5nE(I) literal 0 HcmV?d00001 diff --git a/static/img/rancher/Google-svc-acc-step3-key-creation.png b/static/img/rancher/Google-svc-acc-step3-key-creation.png new file mode 100644 index 0000000000000000000000000000000000000000..19f72ede5a99a7ff0aa0ff80b5c32f580ae52d2d GIT binary patch literal 340484 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

  • #VosFcVq6eXa5W~0+DmEIeWB{1#2Q}V3u{In%FIQYMGK@Lt% z$~14`!z!kKT)L{N|A%v!E~&F=Ra`Cs*e+6rL>Q;BGYv3i;aK=spBhS%vD@~ zPN3O;p+K%BcT5y`H^?31ZH||ny>nST{Kc-Q?>Nvjqu~n58Gae1^xw8 z4V~lRFvbr>P-9RTX#-k`>0~OUk^-YZ__rGV;jCYrcWm%Io=uy2l}F4tpQ?KY9G?>H zye19e`6wp!KoX%)lKC}GEa$_i3f~Dqjay|T^8YqY%vi8;WM+xg3+P+a2lXdRiLxHV z^Pb2_nsUcn|6!4tDUge_@=`NKCW34Ev)P44N#>ca%HRpiKWkf{i?`>hJ6B>rJ@MRzE@`knQ`e|LFU*0;RpSiE{E zNfNjx6rtL#W>7YE#r?jM=vm%_;}uanLIu;wq`5ro6Fl%5;wojMf7hT7%u;8DfBE3I zyGia-xs9o-(kL*^@FS52qu5^->mzevY^^rlL%!J&{ra~U-v3XGM_B*Q8Zcn{?>ZH} z>+uNJJt9sdF<*V`X*J`+DHtCMp)@2{-1wKGRY!gLud!AC%+&j+iiH{*Q=>-pPq! zEP#0_vz4kjH0k}a;#8aT7h2-~GqhAnR+X764SO(w_CHsulIGz1Gp!-ABG0o2o^r2K z=i3+n6pyW1rhz_r%E^yS9?mcc6fk2@TGc#gbpKaUzm4Jk{{v%)$tF);Izeh%FKl2P zFBs!?p1H_s(v435zThUf?OjP&A8nTYD22eAInM}S+Ku&*3Xels>q7zBMEzu8`;UOC zmhd)I;?ryh14w!ZTlRQuw+bV7nJ!x7TfwW+zE?uD`p4EDsfufLf;+DxU@0N@pQHr; zS7gIm@%4rEg9R03@grrlmNo^0@3w$)AUiWzDykUa4HRd=28jawdR9Y6JIP%3%#0yY zw*NfM`_hi`D<_r>|2_6#Iq{*`gQX9af0jP*7dq3=_NpzW)vKG3#KFLkq!J+>8Oi<0 zfVd~t(*hY2hui!6(+4}HNaL7tenf+3g{kJ#E`(_EB`Ngs7;#n{g~EZ^chW{tjn{Hg zZRW4f2w$;>XQnib2N4SDry{%H!KCx>+8T)Hn8lz7ZGmLO~zZ_Y(0 zfPJi(mWWLp{x({86P%WjU&wKpIASnPp^CYQLG?87@3R~KR}#OS-uYj2`VKN2sB?e8 z6+!jV$1k*ir}nV`AwL<(mKDpCo9EOFgu9=r?jB{9{Xp~|-CV@AO~S1=O4|wK ziK89fLR8L_{aba%9R1sCeER=YuZizWua`>yZWe^9(Cjd3zd#n}G+-TkM!n!FA~)hH z5*ydkz%>}irQyU)r;7&z-i?ttX(O8FADMwP5uDe5eonWhYJIb1AM^A5MW^oW zfmp(EM%{LBl()?ym6eNztGMLAyEHu6y>G%18G92)7je~lhh-B-os3Bh>N>h$6|hc3 zy7Q_GtChFwbERwWeEtTt;^1_l?nb`;qIuJmO%%U@wPHF=U3qB^?(SA}qEx*sWS4#w zfxF$;J)hm4{!K%14Rq-F7pA7R2<~bP>j?&Qff@2Bfwqy;e2JVnUHtP9cW^0#DZ#~*{(Hnm@p>LQke5Btkivk;y{^g>U$MYKM1wAj%v^3IGcG*aGzlb-f z&Mj}aTOhXbvWN5Z+|x(a5L>@b5}7vx8dkSGazRb%s`P#Bez9-(SF{MYSX&RO%AH*s zkLm~G6dRki2Lr&W>edR}qSjOjv1`-{(WN~uZ41!yWl;5LA>e4}$5jsw!+vUsPzZ0$iDr!%YN_b$pGtRd@8vsND&8m zOAiu?uXDq*W9HZ#PK;afeA}P7Nd7v~VP^mP5?!VHR|2uW2YvkSphy2(xAfQS^NDd< za3#t6n>^={k_{`th#A;SgB=wt93J^lZSgS{;YkK_;YOsVwl`Pe5M*IEpU`Yuxi}Vi zWE(d;qb}pPtS+P2X()ru-1!{d^%tZ%0ObYmhb1tMWGAt#7}fCdNA$-j;+{r@A?c7> zC0^l3GRHIZAUL^9xbHbrpRqU^RDywFwtCH4oE|QovkNO`R$2n8)|hNTF7<=4R;MwI z`P_c|1s2nER@`i4FPucK z>GXA0-}NA#d{0160Wls8)_wXJS!D_K`VFjDz!zj+WlbmHXY0xp67hHBj_qBiMSF3b zF0&(noCDz!JICWq+7T1(7I;E_OH+-t!TYs0C@(GT6C$`~`VcfzUmPnY)0RNrBsf}l zc277e4OAs6Sb13HGPJp z*%DXPO|?r*kTlDYaa zwzpi;PY?XqBi#6;yQT|2$C@pkw(MRuOJ1p3&yYeze~R@17)iPTl~r9^H#s!o$BX)- z;5GX4?01RyM;g}sU!>v2KprpG{@!Dz#7-6OBA5M9-oeaQ=)=% z6Xe(fsJuCmkRSTYFnQ7`2^)-{dOk%q5!pu)vI35#v!Z z8Hj2rHJzwDdL2;G03DXGom3bnPNnpdT`cxgF!p%^vDH} z>bu8VtZE}wA7rOs?+k8s@T>l?;*f!jA^$Wa_=aa?8GJLb3U1KQ;5q!p-CET&?CWuN zIncN7>jHrowm#?KH3#3aYsUrQ1n~?=r-=SNMrnS>XvWaLnwa%E(-nY+7O7S4s%xdJ z>?axO!C!lJ^vd243yIEU?nl#}qU9CnqEFs+OQzJZx4kd~PwVlVcS%X<4mh`bA#VWa z?|jfN7;1*{Hmrm@mfPFtEw5Hb>!jSzg3UX1rT7k&3Tr|4*$efyJ}spSwzFTj^XHqT z3u^^$vyKKyG|Ow?zn=A*03!;N`i6tTC>uy4`8M9NNXgliR^2F5c#5{YOo9B+zU)5V(P&x1Iq-r{on#goB4~El3;Olib4+-Dfus-wF8sQfeplbFdmIlbv zpw4S+^wrg1(M#kFh2-6CwaCxMQvID{Uk5B_R{|yQ2#uAE-qayef74n+AiS)Kh|sRG zBxe}5N`f|Pug;sL`fiz|aNhx(gbPjUZymK;=7v_La5#!PO^H`^_&{yxUY!U8duJ)z z3$s*0E%%(-2igj@s#DIiNf0C*{+x8 zIjywApK;yl4hEaN`Wa{Meo$$zX=4tKI80}Z?pN=BUD~d{^wiD)HS#V@za5&{0M>mS z)glA75TB#Y9NzZz2j)r=TA=^I9&~*F&4Qe<{=JLZfNJ)v-U@lgv0qVkrbQ&p>qjp6NVH$$ReT9L9;n_PZDK9=nrDmypw=(7i*L`Q2v}QN3^k9viHR||tEWyi zUs8E}*FWOi`LVcX?}Wax?~a>F+ttx~hOaF+v__-)vo<}8+LZ&kD12-x7&=7h5@%*c zVOgEwpiAp999v(rZ5yFGlhXVXH-)E)Oy}pOzI5^=wAabNmth=}TBUjMLp-@0Re?Tn z4e~sf$qkjJ6PUg`vj*~r z30MWFmY36g-A-+hIKf3dFsYc+cc&l_4YVo7%o9^tJ`0w%>?ymK$^@dS)DoUvS1tFxYW zBlySg4Q$3!m5%e8w6#;F)Pzs0Gvp%V3n;`_?^WT>3M_y;zRuF-MwKSy_F0d%5eINH z0R_w@;@$}A?S!6wyzZ!2)_!VzR*H0Kf~^=G^v*j|;&_zMUIx2C902YN^`tKC*R@Oq z$d9O!x8ac5%w$F;&FAt&*ce^-zBUg8W>Z=_o%`vwDQPxJ!gr=Oev!;G*01?WffBEm zk}<|(Bau`#qWM>4w2+L80!p7swE)&pWz}$hfih5x4Cy8e%9yI=ex$K-%YkUip;E6e z;Ce-D>F&BTgFY7MYgBT+HZZ*9QMP96-L$Jh9%HJojKt9)4Voiy&FPw=%b;g`nsUP` zS2ter?)@Kh1ar|}EX3fyn4)0~d!*XiASf&?C+X(hsfJ0^J!nr;`czzc28jo28IxfSln(oz_e6Q)BP&0e!6}{p6dN`_P-}(e$=eqw6~fn`qeZXHI_Du2)G!-W=vRqR*M?fur_FTT z@2VKAF$~{Tapau#_>pl^|MN9!@%h-x;lH{WJ@dx1 zXRiCU35nDCG=p_s@o%`P@IGXCqiGZ;x*Z{2<&M4e*nK^U&p9X3SJnlTMPNr}`XaeyfM#F3~^C)Cjud~{YK{6nj}6i;+b620}Zn{-mV z%|d%JGs^WZL3Vm~H7^&=#5o2q(DQ1WK^@y8oJN-n<@;Nt+HyQUwN}=3adlrFYV`sNP|88yo$_nbOYoT$GJGyyZ{>ZBqV z2fzGQkaF@GTAGs`UrF!&Ug?6n9lu{9yUh@G{l}y0l`)7rBvb-V$JWKF;AX|*W0PjR1Ui0twYaM0 zCUbbax;8g?mY)!`eRFif19dA`^T=lP>iSZV)%Pa|eEAImdw)!|20oZ{LgLlHvrE_r$oM?0_Fh_!<+p;U# z)WQ4A3XfG-9TLV6k-|{@;}Wr5E4k*pZ|(zV+u}pUY*P(%kP`S+*3R}YefB7bSNqb^ zE$ne85&iJczs-Q1E0A7gU7py?$ShvO2+(9la|jBOquJTT&Q;}02m;)`4y{6_0-pu( zAm*U|q5Y1I*T1x1&;PG#KN<}zzAXq*C?Jh<6j?-}N#uSMBulw4TRn;*AW4NR;O!qs z%rzoUFvYkXwh(7%8U;l3vF^&lYy8W zx9;CeP;HQF!7jTt+w`TFvVkB}S7XcHsHljOYmAP6I%5nJW0iy>ZpNYTW-^+l;IKU4 zEi-WB@|eP2wNH_0+ulihd||7nUhA)ENPmND^+=k+Y>QcH>A-Thbw+*$qK6!x@3pM< z$%nDU#(tz1H%Alupnk(oElMe~R}pMme|A=W{wCkN68}zc{BJrd{ee7oU4=ldf$$(Y zHwT(UR}Fa>`c0hCF09ths{rRZ>k#jN9MZ=@9G7b(0D}W7Y@61{do*6UWeS?pwH_W} z^iG}LR&6FKZTb@af_2FO5*Hh+_H}b!&r@1$1KxOeRdK}SxW*HVADWcZwlY*72tv#o zYBZg@=ldul4f|@+7Tqgozpj5{=iwZ8Ki|M_e7R~8n2BPv3NDd^GJQ($N-Td~_nviG zTRA1(NFpDWt0t)-fOKf)ZYf)SV|`(Rtc_RFWx>kp#YE*b$dRUJ>FpJ?!j%Y9u1!Z3 z0DYl7JV-|FRVQCBxI~xnEOn27vFSsd{(LrKdDBgc?Dx4#?=ah235Ya>4k0Z^pJE7u z!R1<9nrmy#I@np1c5$2-pdw`I=<6GT4F*}J$6B`9T-6b#OJuFvurgxiFjEr?s{Yxp zKls&JIglGQF!?)wBl|yRkUKtNL;Ev{tM6{Y%;U1T7qv%<>8&{W8kAnKx{ULtc<6ne zi)`=6v{pBXn$Ow1xxf|BMgS0xHORilmJP4B*=_6S4pn?3#PRK{-!r8lN0@9tMMBRq zmchi*?~}HLK9G~}NE}|ret3EERayIX^uoNCHD!N;?~g#q?nR1UM0J`D5S^8A7!4(C3HFh_riOO)7l;SIu+v%jQK+PkB2+0n2dS1q}-}RNWMw zI->!=nGUHA<7oqKx5Hg)!Ew{b=!B9;v<6#=^2*(|SUWs*I;?)jj3^8=gh5xhqJg@-k7a}|toFZzu%#>I z4}fOP!rkIuNPi?>o6DN}fdFtV$=A_tvGac;Z7C_WgPWqgg$kx1+hqfO4@`)f+XA@aGjGM~bq8yrM2=d4Jlv>^eUusBD^UUL?w)peW6HbK3!qo}oLQ~5Y*%ol+L z>kaj62_fy2c%?epXnbYokSar9uV8*DIlYoXdi}Q#?@VUA`dqbH*FJr#_iAVaol7Fs zC)@aSqU{)10=Li>BEh1VZ! z-~VE%MSx23+8edsY-*bk_iGa!K2v`^=j|$1C-H_k3&p}+_kE!a2qB(ajW(MUlotp9 zHdiGEaQkJ?HkkPHJ8qUjxkbYCv81ksB_dciZg~jG!+sFMIJ6%E)fXD{R8C=wZp}T% zG>V0`m!0g|1lW{~d(q_?v~^NZA3p7Vo262;TcWYqKjU3hiJO~+mO2gBXz-+ev)Es5 z-g8?>6wa_?EAqb9BiK`f^xWFCWTrFgzJwLFO)-d>dy$(0Tuh1b!9Ee#PdE?)MU=b5 z?mcuJU&)nWUkvjfYXN17lx89gK?(D?6PN(os43b~_`^rc=udocT zAEXNxkD|nv4rOo{;wq$3$W79yyF!Jaa!v?X^Wx*SFWNu4-V5#OYFZ;-{%eqOZ&?uK6|N?Ll$|pae?1uYK3g z=ys|gdA<^*k|?@eC<|-W7K5J@6=NLjooD(<-0*De<3P*v6!dAO-=7f!a3?O-qMgS& zW*t%jc{0^W9nZtm!FtyV-n-6_B8(Z2S#^qg>Oc5+5&7SIyxHIJ{C}|`=ocT)9XR?@ z@;Jw%dK_6C)d(CrR3~f0JOWtDS}S$cQ?kVZk8u;~X%yRpE;HYvZdWRn!v^x86*879BA4UViG=KDfbtQr z?DiY?+FP39+!uKYWVoX9uBG~Fp7w_a+0?Nh3hiADjKsS{s0Pf()(NdJH~}KU+?!E* z5;ax~T=O+0lOMB8I8jT64t3Pd_kg~<_;XP-GyY!-2>zQqMb+oEyOTm8i42d$9fO$z zzB=F-$z}Wfwa_du%V)i=!UxoDc~GtoS?6lMl>b_Ad%kQ4TVwtDdJpf8a%6uIl50~Z zRJpGR+QNH0AgLDEA>6#IhR{#;DNkrA3+efi?_$E8r~cY(3wTq3K+wA}oQOwd=?2P0 z-Ntt^BY3joUtzRH$0C?el>4qfSWo>5y>l7qf-hT$ceJXFFyS-(@FN(XESFzkW45tq z753FJc@mFPc2S(c77tPi{~?FX&@SP0W~#5W|HTH&bGD4Bq+*s5CjAefDBF0COb!gN zj-VD;G{UxqJS82wk3G1Xh4|=g4MQzwVBdVG6q>z{d+XPV`a~ag%I}4?GuZum5-zes z0z+nwMmy9@rsvu7)jyz@tj4wt62wBPq~Rh5K|F2wF>lRr+86g5sgLdYRMXa1cUGr$ z;Uy%MC-D}^UHWiJ`!6o(IHxP>2YS(D<7{YLDtA zi&1J%{{?65x?0Biy10??OOvqD7Bk0p9oNk127gL=&&hXs*_(+I3HdfFlszMRKo({1BW9%lYKAT_B&fzFRXExqa8*cg@AK-?;W^B2rfEYRK@8RR`aDM|WB0 z!}ceGzLJVII&5l%@ckiRhD+l2*>}J#BL}TrAJ{XmZzLH;E@6;$1a{;KAv0V*UcPhJ zzrWcON@@ac4nFn$89*)$dx;@|zM@4X7=tiTklD@&Df_lL(CZCy-B;XGXk{_Kv%yO&9f~swZ_WNfZ?s+*`;Rr{n+^a+ss%@(Da3a?h^l<{%oTys58e~pXw9zE-j`>>dBM$iyHLHvDCKYgFBcRqI8Bj|F0r)|KgOD=#*8N?E%=W|# zJRXJd%tel7lpQU4aShISbqRyZiGf)H+Efvwg@y5ZZu~RkY3=79OWV0@-5#4n%x-4T z7xJGW5H9_3LDtPTqy$f>w&8X7;fDD;ur6wgRpKq z+)~oqs0)T6N%LmMi#z7>ofmI1ISmUkHR#uz(W*t|C9(%2>aa}&T4bgxmhfv&SzR;& z(!C0fsi44v~P#vc>6_H?dh_P}vNkjfOpYujQ4=R{8u}@zJZ8VL%&SIxbtJ&=fw0=UT z$r%)_yC1maG$5gB-aW>Z+O)HeMG`it->(*i4reUv;8%KPSEUj{rnEG8n*r@hyPZ<+UyY_P{V)K&;YWWuy+x${{YXu-W!U?~-!*Amvs=U; z^DdH(L+0ED_V>M!T8zWPy-lsGWL2t&_xSYE^sLG;kizjPUoSC>1}9l70^ipje4{L< zcIxnjY$S~On8&k~aOK2*p(uWCb?C*Lzjj_e7O9yuuZf9|Vz+VH#MDbx)^tlg5;2C! zB?wvM?`zzLEYola67+I>y^xLI=$#$e(XVhF+x5YWWV z^ML#6DsCH?2IwtGlAF&Wxcf&goeHuw6C0}s+k9`T9qjq~7qJJelON4!intwsx>~tX z-$%|84w+4B?ius^(V0{-{)M{^byeGcN8aF~2iN)3W|Iv+!git8D1D}7O~BB8H{<)6 z)ROeWl!=1$g~@eYLzm&zM3UKPI*&4ky?Ym-*DaoV`RWxT3F%;8$!xeVW~$#I@c-1_zMy|1ltlOo-g`K$b1_g`MuQ{}kU`y;jM z^4GgcQ<*7N=Wm^^6P+`0Aec|Wcq${o+r@>bxQcQ-%X50gJ0I0NZUL=oepiz&5pHTB z5ou`Yr{2PeOooi6eUUg?WnCPHk!~%ov2?XZZ;PMS>!Z6pFY3NHNjjH{^kDT* zOvLrLSb6{2Mzivb#}^T#4YqSAfm$)pl@jVm(*Fz@oz{5t8NQ-x%pbFwe`^JO%=+B~ zN=x`}G=VTUjWNYZ8kT*%3>x1W_L`PFw!zq_$+|7o^V+Ku<|tYazLs7f#Z_>?&~qM_ zh`~pSTPZHgj6H{$fpSwKKZxfW9ooC>=#b(G&?BOoRD$$MePKVG#CW1^bb?C6UdYmE zIStS-l-2ioei@Y^#>gh|dLN>A2erSW60@O8%m0f1wDwxQ>7*VspNN-f+~O=4uWQh> znZNjW5Wu$8vcwQdm7rbbzOZJDf;2t*oy<s&5wO+f_nkK57-?mtBJ!a2|Y`CJIdpl96 z>3p1^?xPXYC;_Uvy1L6ruVeI2U)dm7$J|fNkP&Ex3E%^U8UI+>@DHk6E$SCxI`gg( zpQ@PHY7hOdmvWV}9$w=>XxmA2vyDaS^&W%p$qNspFlrYUm&>)0G_IldLN_ZnhepWg zwNc%-<|U8xJ3e=kGNkN64%#RS#qxWY=XznTH}DI|`U#gWdc6th7je}VW@l;ph~4yR zlQW!0HVC=jKK@lyP$UgW2sG~1&m*jcWUtCb91260(N7%ZAV?=J%bqnfb2FeVkOv3^ zI!bJ4p`?3~L#QP@X`?gL3;D9p1m2j|wU5XtMXvbj^3fdqMf-361-xdnE+1oxMD8Vo4<}Wun zr!(LP;=z#`Mg5~4_K){;gRy?k!^i#`^YA$%Y-k<`^2i2>^yo44@fs~+$OV_u0Qp=5Mw84)L1&JZy4~scG=U+ zQb&J0L{r)J77$a}AHu2>C8Ss@KP^Q%-aga1?{djW?lY7KaO!{czTY2-geF%qA{4r% zEJciy@oDwBR!FCoarzgjaBQf2suwf`m{aY0f4wXFc$f$ocaVQ?701+hlzYh=eyVH z2kODkNTj8O$mK&qun>D!hFhSJ@v`TBarrib!JtKpnXysB=RKG#wNtCh*tX+f#NM|i zi(?KI{rKrID%$&gwD&vMCSY#U?P&*~fU-G0JDmYYBU#YBS4EkXQZSktYfHQ-PB&A90?x`ovG@h@OgAAtTVCj zG$N{vevO!WD>Icc>P#+($Gx!Q7!Gvhe@zH?PS_GAl8!W*Utb3}C&oN?gR8kPDfoL@4GLzU2T`-TDCwkUFWRE z*$_c>V`MmfYxaN^Q!)(3E&ErMhgq}ZC{UqcPz&{z7t&H!r8)`JRRb@z?@TY8dP(j( zv)~=RS<@MdJxip+m79#S(cMsNpV>i!2rBq$?@Oie9~HuQM|?YQtF^HX8AEWsR1w85n2(a0=Tg z^MT(RHGCv*Yo2 zyB3w(Tbt{aeUL&dMpRexF~nVHo^!*TY%%Y4kncoO4eP z2=Z7E^G;$?QC$`+<*k`>QM@uQFs7bIaSn87wrlJ>b$(>*9Z;yR2Q#i6M&2 zkQv;IbKXB_8o9H(O5`K$hWb1~Y* zhI(#PXkI3Gu@NG(I=X7@Z9KtNP9huvF=w>bV#ocw=9gKh$LT`~MeL`)-!8EwGJA@=~d}23b0Y9@SF5vI@GbdDP{5&?fHP5k^$%HJ^qX z>!l)tn=_b@9{)X!`UozDpKIrL(@@mqp6b33Bv^xR9X_K!Nt+}Wi>D7JfK{AqsRrn0 zo87d9;ADGB*?(OZUHp`-e7i2#ObPL{UM1YyDjzF5*(cYplGtZc@Bzz7h*6&!Lyqb3 z?qlSvHvaMiO5$8!z^fz%Yg=a3d@(nX4Pbs4xyOU!`o9XQ9^gV*El)K%eJ}MR^5e&5TgPe9gg?{FykcyTSxoM2U4^QF?-}4jQ)&_n{?T3*EYknXC(>)&vO2xp zjHOBhcFg4F_r9K#Al|mT>Yl_pUa?huzSS5}*GjSjQ>fgdeo4_7SlG$ubR@%sN)5MGv$9#=ehZ&bTbmk8?tKd6glf@ZfK^*M^F*x~d3hc9OQ*w!P$^Aa#dpro-TyY#TC zp=W;0>jmpM?O@r22-1pc#Z*~=eaciK;TS(w zpj#bED|rB&(%VmsPbs&KaMxRCbWVqoQjo4s9m_5k2H;444EAI|isx{g?0s=d-4xzt ziVBn@KsMv~xWHxU9+W;TCZ03k(t#i2y8gnpgu5!u3aj~IyFTbuEKU9M75aoC!Jzf8 z8B-_lkBTx`ZNGv3`F`KH7q9!N9`<#tG{Q*jQz-r9tGzq;YkY{LP6pvwt=vnlK5r{Ec48d;v;JwMYX^leU1G^^?h+r6BOfb`f+k ziS{qs$g01oQ zaKINb6)n*aVKt^;PnNcJnl3*S8<96jf+i2F`Z~D_&o>2hH*va@ie5}}mmha`W#jq` z#8bW0&8!3Rx062Kw|r`N$LWLRBxCBTCT7>AW;Sy}d>u{nVh{SQHXP2#8gn~=NDQ{e ztyC0-pVoqzOA(T{X;>3Asw)y9wfF9QjwVtmO&~)`NMVK|B&s4?w9RxcD!tu^DAzW% zeK8UD(e15J3s`Fex3ie{Sl0|4_4e-heEv>qWE^mPIyyZ3jzeLH5mR+sL{AvfQcij< z@6>jDKVq+@x*#YdPuO++ITVKdt}1R7DfgCkMIh3@{$L@{hkdZK%BL=5I+@=tYsJT>$YLudbw7W6Ve->nVvo+? z#cBfs)SG}iRKm*1u?xYn@@qT(sGUDuE@^BMQgKWUfh8Q!8HTRmk%DG?prmf*O{3V-qDNOxpr#k!=Wo_+b`wol-EvR^>Kgo&-<-1Y!T8)!wmfU3zBz8BrxJl#|qC8iASPWJGSKE{29DJsZ>d~)R;294Udz~U!u;eDs3P1GSF zOp3*mZ-PJff&N9&Eeyd#Q`2IGoi?=ABs;aENofmSo;{THtD`jqif72@P-nc=Yts8P zl`kHcaxZ*XrZXvrE2K0XpRYU8BieB>We$BuJQX9Me&-$T+52|+lD}olQ35H^d3Hj@&CwtM~P5oWO7>E-9T$>Xvzi6k~q`kMggpT#o+ zmlW0#s(q!=-_c*sKXX+C#)E}*xjGeIvym;CSL%DWuCSA-FTqYx$fQnWfACaltHFAT z47z~kQ0VF)JcJU_X8=S4o{tV8d}l$(Gx#hzNb5RgM0ZZwr>H!F_bkYF^9lFhj`CvR z2e(-(NQ^R+P`Wy)ZRJT7?Ym=gaYAU!&$=am0z@zVdzbTvEDo=LxTaP9tB$Sv(Ht4( z>Y7Fm$8tJ3ME!5PvR@gxYR4^cZrU|Al|XPy%OI^Q0%WklN;<=1*jz9eYxWpoAge8D z(ujrgG|3!5fR3*B1Hfmqj?MWtXLE#t&DU@3$wNN*pE_(r>qo&ND6LsLlys5hgB-?F zht=j`RV!~{2{5x1wV$dYKBhi@ zg@|zZ9WtyyjzZ7(?jz1M=P!&DyW=SYdz_vUvHfGZ5?cehoAdw+5 z-Pd?3EiaZU zZsXu}Y|I zwKz=}YLYQ$l?QhXqu(As(~b5>qf^~98Xt^TyJb($K@`)1!W8HR17FA5yDi-W@v~!^ zFU$02p&h56VW~Hfig!$(%duitT;tDsep*=GJ*IP;UlJpIH0=Txl~G-wXY=VJ^b0D# zZsC;<5%zc`V?L4ST2=7$=WX6;YZd5e@H*J>h75avets11bZgN9lSz2izu~jY@9Y5Z z3QfaKiGC%^8ONIq%Y3{{yIWvDJb+`uoxrj!Lpz~iW-S(Ll_B&$@G({q zBt2PrQ{=TY2c#~JI*%5#36mGX25(f0@z^KR9BcKZvlci{X-*-J>fz9D28$Efj~{~F zEIK80gFE@d!0n02)cH)$Vu~j9o7=9HIz4Yr_4iIgJ%YPv51kTpz`P*`XxiACChx9f zaKhKBmPZso0|qZ(?_VP9ONR``!Nu+G89O*_2U-$>tVqcYh9nU7)Tvjms?4wuG%=)0 z_-xdq`gE!@Nss4&4s11?2i^c5nyg%$7(Rad0X)h-J1GXI3GpHwItE5fB+4-~3pz71 zGg(|6>4cwWHsTr`-O?X=*MM6!sL_7cBuW)xk5Cov0>e>vXNGH-CPWw& z(lKTHFZ8&7I7bHFlS2W0`42lU#{NL}Nb_i6M*XCAGgP+qB~)1Q>ZFjJI_j%sBtfSw zq?>~=KNlZyNR1OiNMKbz$bqC!(R9!d8&oIX zelj}llDIAkuNbqqI@uyJXLI>c`9zs>Ezh~NcFjd=9nuf~LOPcb%f2Rw6_Qk$!1ZEG`Wos^KDu7-h%>wRo7 znG%DxFo3UQpTDxt+vMDv6%KMWIc*PE3>HF}rEA^t0d`P~?Qrar6K^CUUX`xWyd|%k zWZ$k`31>Yra9F0m4=`V9!bv=Bvg^iN(Z`Hq<3%*lkft1fN9SPEMQXC?yk|{80#<&| zF^^gQnYtGtK3Dj$eBG6gME%cbi$1wdq)*NWoQ_?Y%z}~wn4fGRbG!l~jNu*F z=w{OL@GnjK$NyyL#%~&Jlrv0#JVWKG3cOr6Zz3o8wDctZCVbj|^FcR&HgaB7@{zS1 z7RZIE6GB7e*?LW>QIReb-MTHn^k%?7xpdZZs%lDvt9X02+r;RVls@x9f)0Q_aG+t- z$&p5XPT@$&90bN%0{X*psZ;l#odinswS54SSMkXh&{@B5Roa!=uojis2u{kv6^*G_ z46D9$Htd~t9Xqn6mW_~5f|Ra3O^pE`+_Xy~gZTLQr+4K{n~gJvCX01ZinwRka4J!xzo8iw~Tw2yyMKqz|94(QAN z-39ZH`fY04HX6hTSkhtz)rpM$!?oJ(?fcj4fhLFdKtD}KX~-np?C`^|02Y)YZjAkG zl`t_*&N=Eo;YFTV?>-~$(6vEdjj*_sQHry46 zeXoPu#7y!AA6t8gf@uif z08zXY(^=M=-s*Cymb%w&b+=@s^w)F6q#)!BXm&xv{o83Si9vl4&2}?jX8SvmcQA|% z-_%Y-mt1`$8t$l3t8~b0V3Z$|`~cKE-j&q)7}IyBrPCqPbPVZ4MgE&Tu^{?s?>nvZ z^M(y^%m?#>siIFJ%--(fTC)675m(rO|D0>7wYly%)~rq%1{b!wppp5Ou3@v4o5ZT5 zM$<-*L>Ep{AMMmuU57!(n&{^yU#WlFZ^f+C2<_uIMP*|pvds3UHp8(XMez8Z;X#ECtDe&|7PR;S*t_(_l*_|JKgzK zar9Y>Q$f?{Cc*5YsR@<}Ba+dj;l!>kc}i}x=i4;p`!R%dtB;L$*e9UDo1t$n@$*kAGDIHo;eb5^}GSAo{|`s5-h` z6uoeNDeav%KD7Cl+J=+|;H><6#C-OTg895_5h&W%z`hN6um5ZWl1WM<19_P=2B_!LOLVq*ZUZFBHpZrzI4byP;F*} zzW5hv=4?&LB4*-dGblO>o7WFH0f>TQv0z-Rz@E?NXWLzk_soRqQ{x=wL)>Z>Dq4+S z)-VARG6jx?gSPy+g*gT8J&KraP=KK^;GF$9Q&Us=JRnJdg%5VlC)#W;rcyp6$+o^C zLFz(Co^OeYXi%hn9XCe(Ez^UJqexPblYjB^;NmQ#a&B0qhQVLSZ;BeSYpa9|u(vv2 z3L@xwPHRovVXwVgNM^cX1&!(T^GHCvQlhegq$;Zto7nm9Fh#|zkDRMu5+3;DMreEa zw^GdkjLYI_jq99RQ`J!)!IcxE8JE4EjopLnx&z~IDTtr{)WZ4OD}43vOj^)w(^@rZ zw~zT?=ys{I4d9A)a~I$t^8&cs$G}MP*XEa^Lzo-3x?ytp=~8WOg8HfBE6mwL&$OFV zjlIee2rK|~**~ng6lTQIb-q`>kFWpsm+SvnthAUZ{b%q_T(B@O@6BZH?>3qoQ zM;f_VVifxgv`JJo=udK5UG$C_?J)^*=KPM#=SC$_F-ve#J?9e9pDH>@M#=8wziSTa z>xM_gj5Kb2O)D^PYP>lu8LB1?)G%?_tcq?y;;>xc_#tK8pn)#xi=&IV-^Mret#Cz61d2(mYH{ z!{9}#<7~JbR+xTa`!zko8>uw56G#$20ibLro*per@Eun=Cht7&JompaMd z>#8aN?>>WthqU@c$>NjInQ4g=;Brc*a%AoHlI?fa1lc*TUBEz@;(h0Ns95_J83 zm6a|qh;X}Yt&+N_JOuF6o=oT?D$*ct2f2_cduo-{_r7Z`oh$MB^omq3<6`7q>Oxr7 zUQ`lqnD5|MmRSV+H2y&#RIT}_kL>c-<$2?Rp(8Ud-=4lsZqf{U9-Bf%b~WUpSEuQr zp2e7iDZaTqeaA6+P;y?Jy8S|x|X`*v&ptyo{N4R3RqO40*PZ-O812N zylYZ@!hW)lw{g*wO3l1~hlE+SHZEs_uB|Jc5tP|OeE_I@5|)1I?02K8ps)TVgK_Z51+THZWO1%-Ee1ziIy z18QO9L3=jrw&~6On7>b1)nXHLg+{khcq7F%YYd)r@_S~o?$nV+ccE;u6PTj^1}0ZI zZ>V7sK=e{gIU*WNdVZ44cThi!hCRafzgS_VB`q zGP%9lAhD_#5xe1ITxd*3UfNq*2BDTxqm$a(8^rO1yGay!Rx%(+08KxJcCwLzgF6_L zhps&6?~{FK(V<=Ec{K!#`o+S_aEOwbeomsN3=3xxAep;4K27_}7CN_KF+C^a{Ya3& zSa^W#42Q#Aj(##J%DVEsAOt`QPc zDG^k*>{}ok)}9dJbtYx~ZAiO=sg~1k>t!tZqny=gd{$I?R%Jp8DQloyn)mPzDMqbN z!YQEiB7ni$++#XDg>EH&m~VG0e3=huwEVHA3vlFK40!r9HQr&MGl-lsrVn5Z&{bVj zfp*cS%i|4&fxu0S<93mH_a9ZD^9b+b^`8Kjj>NJvC9v`->tp#x4J9j0(M6>uez^c5 z%CX+Q63O{Z7WKq90+tF@T8;GGF4U!(BrEj1)0BLEayuxxPoitn?vuZ;@wrPuRWnnx znAW{c%Y>|yad4zIkZVEuP{Mqu(+>p@J}>*@nc|Q74eBi}(=q#Zi!KnwV+?u$O9Wk8 zj&nY%gfAq<^DbO#CXJ1GVv0J{5bXGdQvrA@Gm<#{;<=l3$rx}EAum5UZUl1f_VV2B zUY=dEki^(w2b3&bqo{=FRzarTQzQs2!`7Ip+?8E3-+o-Y83=IpZ=Q|*YzTM9Se5W9F|5@% zz%lZ*=q`CuQnP|>^0WSCK-iUV-N)y zDM~jO(R7zy=Q2cJcZLqj$bthRgvEYSBoL#nDVECqk=A^ z_&6?dStRreNQrW`9*2;*=IL{gp&WW=R1CV{_$ zYPCCNs2aU30RV=cC%l05VA^qRs}V@t>~JEAn9(iUW;y}RU=}*ZK=#H}6Dg7oZU;u_ z127a$Sd!xvj&A@F(P|Vs`?zTz|Ch}BK` z>EX*AS#Z@z08=0{&i*4pLpnTDcMp}z$9!`LSm!gc$ngDQZ^x)d`J~gUO&QPu;xN_wWXxatU|D=#gvu{otuy4E)PsrUt>hsF(z} zK@x6M^E%$8h#((cWb4CybeN$z0v_Sm>jy1&e~-SPe#iclJ1@FpDi19NX%2_^7z4e~ z%`uvJxTjD9&XVz)5D^a~i?~&MKu@)qPgwPVAUd1UN+Vw%@@2Au(&5b_uh)LdqG?jM z5XOqXP^8gl!uKkW(kWfcb!MnvBK!HwTc)!NPUu=vV3M2d(-6a@!m2(7o3x!cT7x=Ty77C17p((YFOAIRLlf zWwhv?P%G!>LsLNu3DE4oX7}Ro{aPcw_U@C9mJvBItxAX12DN@T?6z4AAA?ZVLa7~k zm`n?}u0z};cnDEgG3j1lxpIO1`bYv-vY3(gsgOnSX*mtHq&*zQ)(Z^Za?wb1FFIFV zCfDCw?PPbl*%{G4YlcAAN6_mvAkzNu>>;WMYrR)X=G=YNdluxG70N)jqiYc_6C*3p zMda5E&=h5Vs?*GT0J9m`X}~4|JHHw@Hu4{eF|@curFtf$HV?-jZ6;|(3(*;VSL2os zI;U7wS1VGL14E1w4jVR8?+0c4i9iDEEb&n3V|l%oukm4KOL*EyYH?Sfl?#5^aaz7 z2*_NdkES|bjbmAn^TXYz;**h*9lV4K`iE~c9N3&z(;GSSj4+tH!EAW(Q5*NjLW?p4 zxAdzv&J(_~zihX;Es zZkp9i;yEf|%C^s|+94IYS|-hyu4%g;`4 zcHo_pMbAPm?PFZc^tO~h5f^*Gf6@H?V@XuYJGyrba!L#H?ro5HX2z164; z%TYc*F$70~v0dZ=8_}|u-SYF}U|-+ert7oW?6(k+E^<&Kx5q_%l@VLjrHm&4YI6MHww;tK(rvDYaGah{^qn?q@Ue>=RNpW!B{7%om|`E%FE;J zGd21N*oDi89C;_%1ngrdIM$pS*T(7QKFWG0I=LYs1e|#qyk7C`Qi2RjH+VpP0^`Rm z&JMyC>5+UY(lzl&NVN#xh7ogtqZxUmD3tAdP!!e@ow?rXp4oiWorSj^V zG{j+?h0Df~=@7PA*se?C{W~^xir_HGs%}7e6uAZ0&0>d9g!+8kzvE)Dzlg8Hm^mKp zs;M?qC#d@Io*!gc;0^{c^~{f zdcZ3uvG+V-RcnqRP`904OWVF-C;fmIM#Q;$iTT+jGqxr0;d144yC%76wn=+%CDHYK znPr4YQ`^G`_nLjFCFeomjgGWu$r#79`|&p^t=?YRQhd~PF>%Mc9imU!RxXDO8k$>@ z2@2(>&x6>`QQ+NoI8uJPSJx%SiP#X2#6%lI+E9&SsP4t-R;jVUCNUZbtOii0O*Q-X5H%OMrVD&qg>5 zUneb6SjBk*LOv@Shvp$!Q3W6vy?& zJgX|?NzMm?o3oCv9IHeQqwRHG!(Z_`|ah2>9$!83$!mqD^{M)9lT?+PjQ^p-H{ zGY{gi^+31Gj4yA}U_*L>Bv=O$vLakI-FC^&CX1hiw$SXLW?y8I7}rw2Nhl35b&}Q> zDtVJq>Fn}k!4EkX-9MaB78VRMjTKw%(tKK<|8Om{w}Niz zzkG{|u0bgoLWb#f!e2|)Qui161XAm2D)(%ai&}X8xC)R@ z?|z-0b}#m~XR@DOF%J@y`|rp%YDqtEpvI`alJzib=(T;zlDC|kUP+|T39QAS|7*@+ z9f{`KNn;4LP!+R{bhnMR?3zKFR9@zzHk8Bcq_H0#1%4Kv-h!WF!~Qks-GgH&fq*OV=FZ{+8vPPQ#~s`ERA zmmym5=XQ5@K7hbE07X$b(JOxwRe$By^O3%IC6iVDD*@3&9GWfWk|u+pXV{LpGrxB7 z4goc_D9buu6`8sBA3<*_(tBED&nz>?;^>taNj9K*&F`0Lx{b*h9cQ&oC;I$g{>O<)=rld-5 z2JoP*CD4FyNK?BUN?pbxW;IAN4Gg2o+cxO~*Pkx|C;UQ(8v)@xI!;{x3x&)suV7p1Y;pkM?wa1M3?06TbE#JW|Qwr<*9Q2?GU{9{y!grr!f0z9=&>xq6)i7l{)vG z3EhH`-QFnv9^N6bC#*Wfalinn?*_5Y37@TY^q|o-1)iC+&MBa<5FP!dOg-%h>};5Y zR6iwqXnlr8#%avP*?95^Apip;m@oGi8ox3S1LxxB8_V23{^A0p_kXZy^d9B>uP)WU zEflp@ysz1Bqd3$5$6Y}g(?oZ-LtE@`59WWq9sdLk{t*hKWFKajsmPALG5#a1c_8|) zBeU|qJ2Lkl{E~K0qQim3O@H5u@c&aThd-j_Cyjlq`0~dsYEtD-GI}597J4P~F#HT& zL2~U>JB%BUS}avLI~7P;baxgMe#>*AD!$aCcGd(o?NI&k`h?zvmC&4lhJX8b|Mk~o z+P?xp=l?Dc{98cgW4H$#Dh9~9+@E-*!@HRIWs1*O)4t&<@ni}~_FolIpK7C1)<9_H zwh5-44_OMfzNduR`A^8xkOEsELjM?3>9N$f^XP4OIsf<}-zZ4M%e~M$@A9*tILru2OqJjs*) z{$)NgvqFnVe$9{a6d~{%UOqt^UcP0ZclR@ZI^(H!^BEAe4MhQQdlfS!sc2&sN%#jo z?EAnt*nN#n8$AAk6OhcZu(0H46=;_Y2+Z~X66_*%>92l5VIhH0VN&kyl}Lc)KpOdd zqR61HYSw|3R@B4(IlqazQidDa_KuNe9ToS643<6iPM~roZpcx=j;pdMn?Q)jcqJ|M z@iAp54O`AXlHh;8^5HL0UeM#w{yCQ(vak{sfM4tBJ-bGnCjuS_vg`d{o&fSz zt5hCeK2!#4@w|*MRL2LUkL)CkKQWYK|VUmI$%Govl+XRlz1?p-e&{E ziFKa)90vBKo$^O&J(nXf{tR~vnhs#Ivh)#9QYg-SI03{w#V5PdV?R~X#PsB&X})+@ zeHY58$UNqZi+A|~G{d5?zyo7TFev7u0E^uRq>N5**qDkaI@d1WZU}Kg|F<849KTvk+c-#Siv948f(~k^*#kw~E{X84Lah$kwld zL{>gh*X?R}vi>$eLQKb{4Cfxu1^Z{Q)*?jEe+d`<{!u+YL8|F%=2-<3GWlvia51i^YKEnK z?Av6v0)aQMFMMttA8kd2N_y_wIMi8V0Pu5Sx~ryrPYb|+KehT@AbVAel z`3p%9Om9SUO@$fbau56cYGN|pN z?bZi{3!g^&d>%A;txI5!ZON?lWDCKTPV5RJoAW!LH;Q$AW=5WETzg~8l7r8zBRly7 zOm5P7{KR-40yQlW_-G7+hPVEZKqQw~>?Me7u)%44LZFbJJ9i+x| zenpWMefNN-NGO0h_Rj9Z<>%AHo)Z7l0=5vM>v$fQp^fA!N&1xD!;PKRO*@x(=|#Oj$X)1?*K~Q{{FEZVn}YD;xaZt%45>Hl_H70?h2)hQsSO- zqw%SozN2p9DUu1)uQHS?Sic-!NdTwjC%{i<7Mds6?`{Sd0Y`Ah0E6u9&cV}jjk^;> zUH9m+?R&|oP1Bk+rZ-Sipjq1C_Wb&%7r?soAF?*XuszmYeR1zUtXT`d*g^6?W; z)aHQwz)(2)_i*q(3%UC7TWK+*)9VMqtp|qbq#R3HT z{?s#=*P)qolTn>pEGoWG%k&3=WW}6PAgE4SIlo1#xzl48`>(C7l>zn|6kEyQycG*l zSQ`cqrx)}d;L|V{8B`B`Iu^H12hve{Y0xN|3f1;x2{`M%9FR3v@r+F#ozwhY@H;os zfdXyP%W8*tiPiP6l#4R#$MeQi}EaL;G3C z>Gm%mQ(=3Ckk+(ENgy|~W9lrH27ht#H-AhWl2_O7q^V$y^IQnHz3xYnO%6$1ETOi} z1+kXOxMFvSuXD^6S3MGeR@qH*jP3c0t#jqv3$kN(I{L`J$&^psC2N>I?9vfWyw(#> zaMbU~QMPt6zv=igfz7#jcl3bt$ydOY!X^9W6Q8GviWE5X!{@%IpH*j{qz~7~ z)ld~ZS?}~ki1dcDN_|uqo%`W^d5yA-MwNmEwhF_$sMD>Ci}H70I0h6jHr_=SkA3L`OrD z@1@H*#~pAWxbk6Rv_}g682^gnih5n4q1rc_2eVtu#PWb~vPjZ8Q7`jZN3icG(;Vi0#iMU*H2#?4UdKQk&}EW(gkQ=sVL zDgN;5T)g-Fd808k^?3^3P$lEYx_4^Fb5j*2jPkT6Ywv|MUW3T@SAs+a-onK$4pi?P-tx`Q3cSh_CaW_AID%SW24MO-esg^s_3wUH4`EYmAGI1!UslQq6t7whB2l>e=0Lj zut)-d;6OtE{rzXfzcr*Xe{M*NpFLX#915RM%8@(49)xq&aM<>-S68$;xE=-*t2lkV z)gy|pT^AQ{c1Yr3BnuI((kMUS8!VA%&?&#iS5OB4G%% zYal!7gc5)_fT&tRI#hF*BCf?mY)a#Sx?HmwP0SpgLDN)w*hOtQp0Dl?JI*!+$a}tA zdw^kzv%)yWlg5_%y}Fkw;-{MAZ>LP5!fPbVLM^Y7xLQjCsX-GZO;@&_qz{o38G`}9 z5GnP3JRX#~mxC$QO#|ka!Ej%WxDmf!0&z#l8qSoRUoQmynL1}FhG2+mN_SK_v!);t z_Wd26UJ}5M*M8)C&>E>hC}0A`rF_`Gvmtp~3s`qH|C|{vzuu@AQ~3;t0q1igZr=<6AN8$*f~)ENHgE4ls98DKyo@FucdV14YvdjxZQ;%%s$)pDx z_fQ`Q<$kRJ8hX`qjys(_*X*5J!JTIZrhtekSM}-%=*0D)O+H=gqRnRspeTC0(3%?V z6e@qAI7K28pa356aGWm7eMwC%ly8s^0bKQ%YfmQ(=DQlNb3F~yr5aE5nR`r9G8?#T zj-A^^0;Z)FqFxR8gvDA|D`op zbUS@h0yiaf%`l1N{|UU}Z!s436+~CKxa(wvYbIS$)J){YUYV}5w}ay6hPA+`*k~A- zsi3W?ht)d()yDUe-mnPHj{Y(AW#~#~tYTGpgCr`b2z&0#XeUOG zm7p4qYBP~_a~u*~Ei)0bgb^aooS+|c`N;JNiLa^5&OKJgc~VkRz&Ues>M*ooP-Lf2 zvlrdN2%dOvU$%c=-=iVB^uhRSN!wR z^UF7@z5>_JU8HRq>3GwZIaV7HYWg=cpZ0aDTrt+|k$&sc{gh7l7$ykAo+u>j9!@8v-KVr}1$*DH{qgUg{TTWnf`ny{??3X*2z?*K zAAnp1x%v~H3o`B=Pe24G?Sxfjw7ihU3Zp;$rRUjVOQv&okCI6f;yd z^S~^_Uy?7gl<;I8NfDvs4PJEZPx^}?JzO82CJ8{25$+B1u#rV#{-tL6>cdP z{YbtH%#eYKVb1Aj#Wwiw%0omu7pov4j8fIRY@k=);KZ^aI#QSr7Kzf+8FQp#?uv= zmJ*~q3FsdAvQ1Eg8^CV7;Pmoiqs+DE`uhILlQUPw%oa4$ZsQOH(+utobHOI`b(hl- zQDpO=Oj0U_o7nUX#utX5OSFA%(Fd~FA!-h-2#S4B1GL3>LsrtyVErRc>^!X6Ty*g? zWZiD30GAKH3hv`BVYsO|cD45_Q6ka@@T*SSIX;a%c(~sMNqyyjs!8d*XGBx1MK2emE&C z-G?CdDtVOdZr=~xoa>&!?w(c7fXj%bZZz9R0Z8ZW`!_k(LO6b{T^MFzP>Y~W{J+T*W7ti&%ZqSbJ7L~a6Mq# z&ws;3-F5zmiyFRG>u;5B5+|c=?&w&jS9#YGyKa@@94gxQz~0Fge><|y{Phh`q$|J> z@f;+a0*k(`o*GzjFZ?h2z;#0P&w@~HgBT^&A4}TvnS4e8&A6{pH4Aiv7V--@&|I#v z5Q@v)1KB&*VXvG7HT!kd!J!txvR^g z&(~F4kBd&;e&7JRdjq^wqw8yB6?^^F-;^m{CqPG81O6QYl3WnC5`1wGVPR$rZ?*P3=ojAhdqeYs|CCz{QsmelGcbuIJ2vgMfqbNU*to;{xow-TO8 zMcXs5HAX-Bl+f6KQVK~{*b0`+1U-w|q%$EPK?lhE>bA9I;p||Mm*kRngXl29$cRG9YL#J5eO$j#XMtl&hd*|Z7}@(*sc zFQ<#`kcZ)UMP`&M?kWlfPgH94I~Ds062bnp1_c?Cnf^l0u;n*6bI{T4nQ>e4U5bvM z-%cMs)TmMyo;vd*(qNQBqynVEJtD0Pm^liO%_RB90saO1#pA_$UJ@2aiFZwDZ-6i{ zlRJF6`ZUq-lX~6r+isyYt(+v)!{X9Bjm{{Y=Kqhqw~VT?UDy5=6pkvZv3Nu@!$K}u@UNFyNKIqB~1j`!ku)>_-WhwJ~Y_v3$zJ%%6D4?4K-`-<~C zkK=b-ACnkfU@mU1#oE=JnWzADvYzWFHl~q`R}P{=T*8qTS9QtDi60`VUNO8<*2DC9 z<8*G1+VZ8~=bHE9>k?POBk7X+f>z@pyMaAED#)&Y%H6SeKl3=f^dTe4gvBWnzFwW^ zI2Eb1XFR9nvu~5Up&L8snx@O=&SD$0kAtrzc<>;O&>7l@jOCpPpY&)WSG84@W5+j- zP$-Y*_&(=SSbqCPsM(ucUk9OC9>Q16l=xHg<2AygyDlztWn#bG`m6rkt)FUn6a(i% z7ne?F6Zt*FVHWWPOtoKLK(Mv>`BVRAr(c3Y_5d!)TR!Hs)3KKkm4HUTCn?bw*_wba z*8vw~d3%=Su03Wps*VY~9^DV0RHH&VVf8uof@L>j7|s>8Ed3oSKc*m_`xr_6+H-D{s8vLkw@3W91aR}Fo#q6qa1(!)nQPlc@S?@O9O)UG+H zOY2pHsXK`bi+9kss>?~pK$ShgJbvwMGxTEky#d+G zdeDrkCi~h4walXL`GCzrOMExuFL?0XiXyjP7pVS;Ij_)OD&D*mbbb&*pA|)Eu+h$PoM^lRaUn#) z=g~@`^EzReF3Y*+Yfl&l6XJ-bicn6`#!HM6+aFM)rql?;m)1N5v$aO>)NvWsDb9&Z(*t?Oe8kJt(~6>p z(PpW1WxREoADry8Q1WF0n4{qKeMuV9c!0huw-iFRLTPm8=9z{EZ{-e076DIt@4+ZGoR{ zwJ2Un4KI*HG3NDk#aHBVbBlEpw=t*yWMy5T+~w?52{g5S_oUOy;*tiBVo0m5W(udz zExmr*7Xqs~UCS1LVX1>6lv^haAI_Xg>P5>wWucj{bs(E5q&*ILE^HF^^O)?>x)z=h zX3UE@`V=0#BpnpJt;Nz^MdCh6j?FTINl$e+sucY0xMC+*AVf`F4%$GHe-N!H-ECUd zmH9Nls-sR&tJibP)m1yX>sv&m$hn7hfDtJ5JlO?uBQy9z(}?NjWrpGh_o5vdceep4 z102yv?2UnAla3gL)+cmk=(^izwJfP0kd{O=NDVl$ts^rStW7ky7MAg83l^~Th2R*K z9sVo%dSAAT%aipdU+c=QJmLL({L94r6(<1((VidnMu0lI%ktKF8{)cJ-c-+%Jm1nBUub_^C8=?sxKihd0 z1#VeK*$>2x@gs6b<9HyH)dveFkc5y=hZeO2Hv?unRPNHvxOc%4NUWYI~Ph{GMwo0od_RfMis%l*glbY zQD!v)9V|P`4jgIdSs_H`Va0p+^mcWG8MWcWX${oKuBx;+i#d*M{Df3O$3fRDnAT`x z5X{&4*O;Myp0CT?A$1Xl{ywzX{f7(d(Y;6CvHp-T)vvEQsqKWWG;b8~^4 za$RE8p1&Eyf?v+_AAYPEH(659+G6eX;a}EEtC30Oj|=3H5|Q!ge+?m?@1S~8U7532 zmuPA&6=}Rn?4Su?jwqNp~1 zzIG>y;~`Ti+WHgbRT)uYOYeZ<_+mRmiB^$SM~EBH4Z#>XI>z|(#hI$kK3@kO|58+u z{UtQ>Q_%)o<7iq|W8P9w(Yop8?_kppg1&rQrIG}P(3VJ*;&F+%O3p7Yn+M&LGj;if zm}6ol!x{CXMfsGmW0k+m9N-ySgAq*G!Q>R|=nwo?MLDk!wgT)aaAY20>R%MnORSPW zH$sdLVkO8)nN!c2qX)qOvaDe!OlUb7MW;H?z6<4-t!P|xl(ie)cmZ_*#T#Mj{zNGn zi6}b;m~Q~st>a2!v@LTqO{6ZYSwI5~B`pgfdmn)_*NSX@f%6$=OS#XM%$E{dp}1Mo z)&RaD)P2jAV?O7^NRljWbG0$S5q#ThbB#0WBM;e|;-lA9Can|uOPy$H0`m`E>Um@BO-$7y%>!Px=Jm}NtX|#OI>mG z??0eZiJ!ef5q?7DHb(maEQxJF`0MeI%hG-`PBBIUI>zedFK9nZPW9E{vq~-YE8@x< zIxE)kB9jM}b3VnTj%xO)YiD_zgf)FdfuseC^FGBZxsyg4>R*5Y%|~|O-%eg$Pc9pD zv<5tj`mI*OEhLKjm)J*moF=WjTjszg=(GhE6MoqL_(+g_xmcu(%z?Q#vF8MW|^wgROGeh^nv$m== zy15m?hx=}97U#)Djjuk7xQu2I++Iah;3{Eg)Zd z)}`)*8@}YflKSF~FfruU*?ki|eaF+?xgvPJN%e%h$ED4{c^Sj#ZZpNia=iJ|3o3T# zrpfcFGrg5B6@%fSRMHT^WZ!mfJr_hIu%WBIftvb8bh^|!>$53Mmb3w1Fhc6S@niNqcDnXNqps2OD?oOO zZo=e|tUE3%;4-Y?*{*2n?gTeae>XsFw)E$AvVGyOZtF-T`dIWAWtk6OhG@ZNk#gL8 zM{0%L>+zA*Y&{gOc@&(0!z<59BLAjU({kSH1jE4qb?u>yI(FBMo?&FctIm<8Ox%@` zJr8?R@(occ%}p z1EJN-_c~U-xq5iwqQSXO=lwD%fW;@>xHY%8qXncRHPOdw)a>56(HT@Y8b8d~COMsl zfT{GosP;dm8id|Knf3aZE%m!XLG#ZdGpRRBKy7erNhEaU)-{3^uH%apRpF%f^V8jJ zcn&8aX}wl6qvcksWZSy68|S>vSN_A1cSD!SN z1=GY1i<1vt1ScMY#;SBb0k1=$vqC|PN9!_@Km-xD?fO0AzSnMz-lzkqLZ1_^vYvDm zdccTC%U`o^v67C{({72D_bw8mv72uMZ#0!pEkp!_O2b@=V*TX{cTHXSnuQKN3*O_L z<>raeupL_2FSCy9&%{^0--#L@dP~IL)F=26SrTs$v!J+lUmxMpmrA3Q3=`&MVP{7tfzeWS*6~ z#xYY2_v8M&=*{$_qKZo?*aV7NGx;+R#A8cIov%{#?D$tgAF-#+k*1H$-v>ZcA_s&9>n*l zV4rMHO_WW@xb0*A)oV}K%JRu$T$h`Xt$dW3w=g1>3UbIiSOb&Rkq*jaWMXv5KqTK-FxTW0JYv!>XmSg|BkYL`ENoxe9V}F9hl@;8qd+CPYZh9?G zRRTta+5gN98gYxxTO?L941;P!>{4gas(6_@}A0eIB_8(*p6^p zY-;NKit_yp;+586PFaZO8}&D5*l?JR%NVxs`oM8{VBLOd6m51ejXqS}4C1+vtT-OX zbJQO7lJ)cG=?foZ^(c+)inC^Ze8S{%y42$NGnY!hzG+K*mqCd|hEYqH)o1lANcQXz zEVIuty|;BNjuE!qK&=VXYPKU6?=Mi7pLD$hlb{?4@q&Z_8*9t1VZ3M!D?j;6UqQr? zH@8zH9_S(%w^;7H>86aXb-Qx1pL#NVBujY9I=iL9csO^#R3VNJRJDi7>QbFPsQ;=( z7P{&z5FIZ=!zp;6D&U!`W$x>U*}?MH_g&;RVf3A6zppr3qYl11%A6v@2mT=h9|EeZ zrqNtUwvehorV9>~2yF{)vSo!KN-=8HgPzu&vik#W-mLGl!k&v(vCC%&9%^bbn$$%_ zYg+&E*|09$a=LQ>iL0Nm%E+~CGp0+Ss~qqNWUEwB8)MzpSR310uMdZ4)a~?W)X3W9 z@+!gE6bbPZy2OP1nExz2ktMs8AMNgar(xdwW+DcceN9@wPprj;JJhz zW57J#TnSvC>N|n~r6FiJcP5k~j#Xf_S6QME+&Ga{&v`kpkt0z}?4&#?f@?WvJ49{4 z>6LG&@0Z9rzW)w<4Td-h^QWVY6IeIbnRgbghMO}Dr^>M=q(~;VEdkoy!E(72xB890 zls6Cn$@TS`SFL3R;cP*wCwQ%g`=fYB?fD_|9iJ@tr0yL&tng{cGm}em8I}Bn%koj7 z0kKy<4TCaamKAXdy-DLUw)Lx|ygeC|LRU%{be9)Qc!4g2j zAygf6CNV-uL;cL;*O?;ILrV6!7mwJk+uzulT(A-)i`fn_t4>@yO(#9gWL9I;Xx3Zt zXRUdVD8XhvQ*Qm8WJ5_>rn+$Fgw+tkvgt`EpDytU@@Z4=_8XCkNo zweuGEMN3U=`Ee7~NxvoVQG!Bj=dY!#UZ3?8%ff}E5H!Y!jPAiIG$}?nuS%PWNF^QP zt6g~HsZt6&|IK?0_!GS;m1JLVcM^*>`Q!f2>Wpworuv^waEd4cU&k&-shhRS?e_(l z6gG&OL*6Y2rPC~XCl#5D2l1rq3VhHLN(Fl+N>5A$RxN>t+UH1#@l|OjOv{S8yYa{$ zfzp=cY~)8>Z}KmvjU*GS1!t@ScGGupEP)eW0J-wl#N08ydgan4MG~rY$zV}3~}FU zpH^DNqsWyLqd;&)E?RX~Aom3h_nP1Z_0uwa3Mo|~SHz>+;EuKF=65XV#Co`cuQ(Rc z>jgXgc&)k_L2oKO(O?r*o#t~WZaZt^}+OU7f4de6RuWWRb(@q(jJ@zZA) zSAzfByknOBKc07BMSs5mIay2WD3;F}K-lTCiVh(Rb}x$;JUFc9$6N7diX7}0pRq`{ zrJa9f@<*@?oz`QHV8z)9$r$Rkx~`T1(_YB=#nzAHNnmj^Ya;P~rli{9-ji8SkJsw= z=KBcQ?<+vJ&FM&8-w6I`@0@DR#4d7Blm+h zAswwEi2OatAlW9??q@rP&fT!#r;7mW8YS@*1Q0X?Is7aqhB z%@*{2grz(9VjQ#q~6Osp$ga4SHfVAe07|<>ch!{HA*YKNkKY(FN@M< zW2BopYgYMJxqy!Ti|rxGZsjeP(HE9l<&an&4Dmq{W`i#pZf8qo&mUjCl|g!4BiBYF5Xph1XK(S zWCFFB1>l~T$a)|_zJOvvNl@Q)O^DcgzQagWI$H~oA{LDl8^q%zfC4Go`Il-!%&hT6 z(?Yys84R>q(yOYKlDb`Z!fJ?$z24<4j%e<8Y$v$ydPFYPuUca?67y^4XItm}CX4*)l3SB1qoTifNmeAO6S~LiY|GTR<&@OZ>b=RQm{s`&2uK{ zseClkax#PA%Ckj8L}9zGDHWmRD!Z=av_Y81{CQZxP=IM|ii_W%%e=#wMFgpBBjF{$ z#l*>1h$h4Bg+FZnWFgm|nMSCvY0uJR+!%V!&b#OaLXIboP}ngaJUjL#A<8m?Q0bNY(&9_C94RMaNDZQk z^ci@>e@;PAip9=#h~mE6&=R8c{Gk(`^2Zc(*+#jAWdF3ekrv-OZtWY%7Kj9aXpqJE z=>At?q#3EDx-zMjSPnO-Qd?_mmFFS+S|}_K8(l*M~=+HIZJE0qRmFng~(ud>o_lJAN_iM>t_l$D3=#VuL&3108G>msQ@E zN^5uaj&bg5*Y%a3L^@sC>t+pQnZJ@C2tl z$S^^3mU^6YfQ!kN&sxq${!C0ag<%8D89_`gR&ZxL)CI;LdYD9SQ-fRV_G{83{7GtP zc<1TDb7_7X1oZ^SssXz;yC1FrbRyM#mCYC&HL_p&!dnD^!Z!XFwfXrGl>tV?P{_PA zy8nV<(^c`A+bi#9&V*iPKa=YGj5j9}6_DG;|N54LjUVXxt;|cNu9=V)uC1Tr==uaM z$;Pp}+Ujd^S&3N@bhi&qg*7LfC0&-y>Q6o(54 zk`~)NpQ&fQzc(`Lgcu=#>%aNgh}L-O6eU+VX;%3ROoKAyUlcKaXNkbFVHs~}2x9%& zaV<_X*G5Y8P*&yRa1O5LoEqqii?+cA$$Wj8Pj$|BJxn8*xnQB@>ztQG%0Cxnc%8z1O&1_=K6b2`?n! zv9IMLjsjIx4Mp1#Rb#_t`k;#jEVtQ~3N6#LxsMZet&D9TBGf(T!8k~9XT=}mgu-=v z%RIQR=Z;$apt%+DKfVr(a0ZHYA(<@42u?gb;5`rL3qv>yA>!!K4Ena?ULUL`GUL17 z4(2g5oJC!PRI+;31g_ZD_m)+=G%NVgC||yLg!3S(QaYi-o}tVTr810Cy0K)(zHKfM zVTmPy)%bQ&FSSnOpsl<0=?vbB9hmaVv)gcHQC*rhx!3tcG7z%TFa8jJWr@((g>ogLD~Hc zy*yVe5LSdASVk~XX1ODZk}545-0Xzdn}(6sFnIzL-0(#7&lWc}Rf4TgU@-3U)ih0| zIzhVqwv*51_Re!%p7To)=^|nfp_~(+3#Jm;S9W}go(^hGu3h zY^J~#)BYmFO2_2|wY8!5##pL8-dK9#%zD~89ZyGWNI(DT$*D3#KF}p4@H2)6Rp4vX zJMjS-tV*eO;-h4Z#8{GX$B!NAb)*p_0#mDcknH%SdCK?aG`lKsY+KkIVvu!SVWlSu z?NgU925?<~si=K}$@0uOgE3P}n0Bk&#a3oj0acj!SY9J8PRM)&8nns>#<;81azSu^ z!3}g$B-pN@)6F*c+|xGv9mZE5HiA#qlxC~&m17}MO+@diFdf;-+kD3u;FQa**^&lgjHgA*;d?aSB zA3Kxm=+uG#g#ZQ}wnZ3dBD}j$MUL_RZN#_n`p=B`FlvC?xcfJ5;|}U5cF4L@j!4mm z@r?irJp^f@p?+Ke?6S18a>pBF4ECukR% z>;_8t{@xTv|8rCPH)cm1jR$3tL!;&eo5k$UuZsONC?@1)^;dQT{4Nzvw;h;8vJ|2Y zB?w4|F9x2g@stF!+|!gs*$A&^-nG*27CwZ(Wqg*oRPqcwg_t?e$vX(by{J**VJ=+VN*zkg0)-Eq@2|r<+|7w#%#N; zz_A0~M>{(Ut;nBMO+?@mYx52Dwg3Icf&N+8^cyUP4E#8^jy=cQyY>YM+~jC`s`{E) zzvD&UThv*a3ecVr9S7Dzz!oWhfE@y97-vH}L8RDfNjwXu2+(Y+<;xz32V#Z27Dvcc zE{FodLnRA6c`zQzaKE_@n)lC%7`D~}S-Dp33ucu|QBopvRLSQY_s78Y4bEE*vF%Ku+24L0HC1YppX#G_YRF$_Qt>e2tfecq7qbAgn&PBbYAq?{N>0ujrqS{X*A^JyDEW_)ewl2eugrY7=QHD8U)W2Y3zyBr$75gu`*6-M{ ze?!;0ZC@OK!&Ra{t5(((q_%iV0_+Ot>9DM#hF{!w;^2V-50X_^4@Vg^m*CdfLLCC&u6Wk<~D=v+pT-3s3`Bv#$?N3%`kLIpxYNGtN5~ zyukP=`7d(b{{tlJR{mO%^AVJE+YfRZypYq*nLiFu0kU`CtWz$yJ$2%#L*^Qf>etsl z#&Vb^%|?*4%^D;EOvk%=w=2)AO&7qb*#~JpVt^)}Zrq#1Y`?7mB3ObYw!b_N4uzJF ziG)wLiJaXo)Nz}vL^~_xkKIXp>eG%ZB+*(E<Q;h%(K@nOave195_LQg|AY;yerC6g6fVAlVwYj9<<`0YN^?MXn zQy^ejUMIJKbm8TetYO}POl@sQy= ziXe7cO=Y+SFX@&U(@}X;51MttJ)8^ZE8U75uDGXsrxjisipk1R^B~Na*R+;XrH(04cLMrhz(-_^h!4P)zda9}_FVSdLAZ2`jM2(kj?MQg!$IP$b+6QWkmq=cqqbH)I)W|(#ZUJ#8f&H3gU1VtD$%EE4WJpQ<}%(?;~htY8U zmmdHtN@VBdMO{nZ?!&%zB>5+{?5$H^LMfbt!}Q%&87cXqh!H9 zqx)Nz>$_p0D_R$<(&`ePHsfYW}q76YQKHQpcRp5TrnHY?SwH}OZuU7VP3CAIr|NH}`S8gsQ zh%sEb)nC%*j4mL2yGe38H{n`M@k+4Yo~$HTqR3rMEB@y<_S*w}m!fhnE=W)MDEcN` zfVWsfD6(wJx+j}7Ts z;n)p($4tlb0f11n%pt@6DnAw)R9In=j+Dmy@wwzJ-Z0)v4|Cmd(z3OZHZ^6D8L(Hu ziHR6R=QU_}ezdXDxar4~6XPXsdfS?UA4w}QA^Wp}hi|Tw^bhjbPfa4E=0qTbstk9~ za@iBc$DCu*Z)sCh){HzN=KUV6#fMa{`VXuE`8Q2MPJ%YVgllWiCa5CQ&^-dv zDcP@2#*EkgJ_-KYb;&~zm6fPD0Xg}qV!EKf-}Iiwj^(6>db4meZ_RpuxT_DH57 zk;xRyw!Kp!0zpAp*gmKroSlUGov9fP9uhTnHZsC+z|uN)Z{!%m+8e8>+O%}h=UWAl zxwIKl7awX2rN|YTFP6iX)(O})?$rD9~+PVIQnNG8b) zHqq+h8qEkXUcN9*?!>##n5x+Cl6+DfzPxrY!xUo<{A(?d;d@kdWy?}g0nx$z$TJtm z^avJ2ajsW9ZA@9j&l1%j8px3aVH1GQmh((FbiG?mJa;w6GU5jpuv^k5Y-Y2LOMg^< zNk9vi_2+6k0L(Hg;E?f79xE|6j<6}s`}i5hy$_c2d3@gTV=k4_g?(_Btd;s1y1VNc8AUiYnD|mz#AEFAnwc&<_)MrjN_bE_AV=M7ez+ zq*!M8%q%^I<&|9Dn1Q6CPtE?Kq~qpt^-^Te14Rn2&!n`-q|CA%+#CZK#r~DdPQP9j z_YFfW(l;&C(iH7RzdJtZD@A!5KOX+9IUyFNglO1!$Rsy1>Z@t%GkJ6H$jZL^Q#ccc zbhO9B$Co*av8K{de!XzkiJvUbn-iKqYkwv&W~cVy9F6MffWT7Sn!JG>RJ%-W=`$&# zD2ZEXgnL;DMkWuw$FnYg@Ys%i6g{OGKFFkRaE^7~zlW@{*w_WZ<5wlu9GA%7*S&iv z3LW|jzMT={0!h8qZdJrXeDyyf3w}OsOP}@{h-he6a3gbf+T9!9w+Zt?CZ*=F`?!Wf zaw&LjqE>Iaz{OYjKN-<&J56UYZ6)Rkuix5@*@te{K`)F_WAt&&ETDrRAblI=Vnx>F zE<1ZmF}}TPY^zZ#ex>%&3s$Tsg1?WQ=gvy9LJZ*xTfuTa^-8$)B_GD$CIJZy<#cKI z_{h8K*iAq=jBnE>20#+0Ajl4@#g#%m5mbroukV*)E2#B+xCoQx*~KIz1OT1(gy9?aFT=N9)6M5$T=+?SemTTG+yh2B|Vsf ze$>XNUOsHwA#(5WR8&%Uhnucu6WWvLpTIfLo#XZH>Nx;Bz!T?)N}}2m@wOOzQsVC^y@JD^`yr6e9^riuh%_XDV7Re8R(C`NYmt=Hs(Lf zXu?Z$Z2a&g3?pE9XyUoy`DfFnVtBREtLglXXM2xr1H=xd0gLxW(Ve1T+O@t$Nj;&? zD>%9U3ZFg`?7g@p!oEvc_2*LDSPVE~YrQG|IHjcaRvAhz(|yv(m}}5pPa1|llY92` zupS2TG_UMK`vtB{pj(7Lj{Z?2X}oj;=%G%K51*L*5Xbs>%$U@1A&BFiKi92kx)f5m zcS4o>Q@-qXp!T=m~+up>#Qg7C9 z)xs%d@DjeJ?X#1F<0k&0?viD_{T{N&Vf%&RT;t5LJ(X7H$otLQKjN1>>!#I2mv1{#cz|JX7Y0f&e9_0W<-xJUj7T>Bn|SuCoNO zvS&;Ee!Td&H*b@^V-mp@9uu5T@GPEcanAx6_7MNkqt=roQQI+E=JQR42RfUQrllfH_*S)i&Wo1@UynQyS5j$EK1f*+;{n%HH=Vnqr|e`&$kTQ#nI;5 zoG@?yt4e6ewEeTz8>bxfDcbr-Pnv)i#tJHQ(-&C@&hlGLOIAmvXkMn*tcKqmP8=N< z&+JVH#@AkREu|z14|DzVD=Dn-=h|4hGA50{j~>Rcov5v+zSya07V+l_Fy?!9qo$M_ zGkEcu%Lv{hwQLZf;m?)h{nbXVXMH%=5ELIh2{8wtmf}WAlA~JY1>tp80771MKatBi z^ETj?EokG4)E?{{%;$hQMAsS37%gyf*2`=*$yvGEh^9#st!Wpl0h$BM25k?y4*P@> zndL*C@+BY)-WHBaZyEnkT;PPf4p-_rb2xH}wb()4H|*w!nSakh?Gs`3@MlBqTNZlmgTw`815<{F*eS~p1P z3GPmBv~cc-SgTp}yRq`g`3Z#y6M1_0d=`Z;QF9q3C$UA6q`*yzNKVXwBsg4(@T~W6 z-Ak`>Xz)5~ZeWkshNR9TZHH&uGWCKz-tS1)o$&r5sy+F3pz_TWQ z0s~)o9xVepMi#N#=^W-aMV-Hn3fAJRlc7?J?i)o##qD&Wp{!fT>@6A}oDD3`@HH$v zau2eS-QrN=`JBsnsFCkFz`&3smXkB(m-TJAY7`HR!j;DQ)B6wq>-`^uhgo$^jCC+I zdq;=J1uyfY$cS=n|I8nnD6|`)W`0b)BpDK6Rij;J>X(DpF-#ePcXj17w!6nXH#!aS zTkpm3dgSFQf+PL{9NSJziUEcL?JMFz4`lhMdJHr-*x$jb?IR8gAD|w|QO8qpxX}fj z+a1(KOI29)Trpo3SF?C{rD4xXOK{#bJBGG)4u^bqpl%6R*1T8!M1N)?LSX0oVku=? zYpmE{T^IA9I4%0#yOg`A20=Tk=AZkB`#v@6DmA~{?P6=~{Iy~_Ka=5Z>nhh z7`C5%`60E-6`Dk+S|mOK3rI2>6t)}7P2L>L6+QJ1W27;dyXZ769^>ZjHZl$KVdSMR zna)Pt7_fHda-a-r&P_{yA>P;ii|V1GDBQfZ`gOYD3)Lw#CzmqOZfca_$oCG1gO%^@ z>L%KRO{0Rm`La6U)V&ypZ#<-7i~s+?)>A>#Iq#V3~k3D6K_zM}NW<#b^QXO{a#9p{T+08rM;XVgx{FnYFFFB5M}?>35nAgG8Hv<@p{t@{(j1HM~3(Y@f17O-xR? z`%#AWBZAA8@iNh?u0w22_=<0p&1x@qei(2qTP@d9LCDUIRkf{2}|i7t#- zgDF4ZgXp}R*b|<&2X2!WgWVq1OZgu#=0=Df9Wd}!b(-}Pzc06Cw-0yXHr5<$saoi+ zWZs#2$+j~=rF@b!R-Jsf8o~Ak9)WBPWtCCZlZN(7If-WBE7kC*8}(?(mPD-<2M{|t z2&fi4G>wg8llFB?5mD?{gEWY~k9XY2Jgpp)NDtmXO5l#%zFJ(0Z`_c+@|zYro`PqH z9-4g_d2BMmJg?FldA36r_27q+DJ@C0O=R)+nM1T%#*y#q>G{~F3P)9hj z)TC1UDG?9M?ux)riC>NaeTqJAMz~7Yv|x7TbtKZEVZqZnc-_vVbD1qGM;*JmR&2?; zT_c~hQCoa!(pRtIBup=_Z-_>&NWR&+r)%JJf0hy8mxzL2YgXMn5*3TRfebwjm`Pwf zNUO)E9T~dDz%LUmAU^Qy+z5z!Y(pEsiIiziuf1yii|=@hXKLn4jJ=k-6rPiN)6o>m z`NT_F`HSg#ZHB7_U$&cFv=$`zW!<;Hs2?D1{s(Ejx)Edc-jTri+qJT?i(I6!e^fcIa^9cz_OdUhsY!n;4*prN zTn5()=Q|!1s_pR=#Aqzl0>-4UTv!#2#Qm&w4UlEdfDTvgP8QGx`Fcf<|g~F=ZoPdj~xL+;6m`{`#lZB?((ZA@%Zosn^cl1U|e;wYV)I}Y= zXRrC9Hm$pkvt-`q!f;;z|6RP@M!HaM1M~W*+t@d4x~NvOcq(}#x-QJ#)BEi&e{Y3a*{{9tDhOBeU~1a zTMBzTAWTF{zC>5wwkMECCWM8qZ75f^h#Tt?e3p`!ZJ)oe`=0se@XY`y=Ns^UxTW(k zi90uCDH5qKJmt3YBo-jkVAnunKIv}{6BOy@q9YO@adp3$cCC8f|o z>t3nZGWBRCDUBhK#_N2S&K)xC)%=!u`AFk zHF}!7_2lRrcJeO$`WaRT5xGo(|8n>T*{5uCas&qF&LfvN)SDQAMkYKm(W2J`i5^s`{VlZR@WFD>*N;ds%^gjw>Tk-#6)E z?T%8qc&O4<(hQ@^Iv34PdO|}qe=0A<$R9`3*VY?u9c=KsX&dpKm(q2-kX;xhEAb+B z7`ii7)OmmDDY)(~PGv3i<41G)#7~`*lF?7QX-$7IL!H^zRgJ|oej07u?r_mltE~J5%N?W>_&BmF%+<;6P5k=2oQx1q5 zLee~2tm?mlCI>U6!oddWm}XHbuwQp`9cMoc7`#h`O_-fuFK#vy(GnC5hi{_E@P*B$ znSXW4`o+Bqjut_p7nK7GXy{=;`%kTAegrO+M)hyC?@(W+e9O4R_P>j(@al~`t1yQ7 z3yjzpZlf6gXV`W)1YtL77YVjKPDv#vNqj$8m=7iZiAZC_jbX->@8WFh==RFqV59QY z0Wk0fYfq*n08q$Ur^K)mk9*D=+mpKB1$o|;2l@45zNYK-NTFEiX|>6ZPBRj6 zJ>;kF5}c=1)cy~9ZyD8AyS0thX-k0u1zNntibJsmtpTN2krpS#U4sWHZUtIgf=i$j zcS~AalR|Jy(cn&kC7kSMzk8qeJNr3foPX!f9%GG>HS%Yzaj!Y&ea&mmdENAyZQ0tQ zzRy(UCTKXu+N$EadfzPxl@8S=Jhy{P64g^mMcGXlS@MHdlwB1?X-#{T$f#CDKg&1Qe>F?OVfumO zNHwwh^WWWU0W1`3%U*xhtBUrHbUh*@oTQwbVPQ==JUD4H36pl!=u?Qe4dSQtHz}{J zdib(w7LQ59BkigBKxCIPRc5ps)?D8=5G;`XvG$yG2fXw6PZp9xIzsv}FlXIS(`m3t zHdJ@>IJabC|7>HwRA7a>xx4p)QOt83zIvItIzBW`jmTuVRNDjS zZO|Em>m1OXR9zVRmHWxF=RvEpdd$L;k6;>F10K`N#`2O$*&4J5BJZ&N$t$#V8tMB| zAXh)+UB?Sm-H?xcPekV|sQo)8tg#AjjhS}p^zPa$9=T7FR0YQaAA){Q)69|V#ofDUI$i>1$7San==i-SV@ zEqJsM4@I|iKWW7JiIbITqb?31Cv6p2s2$()z*H(YKF`g8lx>9O;-JcBsTk_r2 zt;mOBva(MkW*tyr8iKH0AehkTlXaRv3X(nZ6jL`lensDPHF)jf7fIB0eJhRqfpMI1 zt`y5{I_B>&jwdVB1J-|F>+1>C?T~b+%_DH+p+o+ne9ygHHr(!`2UG7&5NB4q`BoFq zP{8@U3wowHw4;MU>fzaDg%%~)Dc*uuixYKS?q%J&JS7T_tP^!FXrqZvDyFd(6_$@3;Bxg3L ziPE#mlqZgs$VGlqnihmq{y#$lF<89N`YSrL%E6Qc35WS_W%07;Bx5k|Qn=(u|ByAg zMr@+j37tnFCD-;kt?}1~0V@)rZC{=T-zXFfgsyQ%rfqP;Z7wtqXqjt81Sh*{2Gh3O z3q;^eU`$uI&5yLRpeO}Y>-uXYcd^{-H@hrEcg(ZOi`dQ?(ZSG%rcMmXyu|Yw2A^u3 zCV{LwHL$8;4YmgSA2KC)Ht!TJHhXJhL*4itnNCf^H%^m8PaT=s7bBw-)N-QLWaH=R zJ@ZCeHrE0H)Fu7SuEwoC*NvXN0PHkJ7n=uoI1K_5VVyhhGARA#%g5P;DeZpg1AhHv zY%Wt;yk3_D(3_=x!EHy{`s$LW*CBOw->pZ*qCq!VbY7z12Jhsh>E1I1xVLP;nnag& z3^BgBZxSZ=STh5@B=ze|bM3=chTodBm`j2y`f`!fbO6CMwl}6lF$6T!oG>0Ovm}A>Grx%ay&g>FcYw;wtc&uePWWN6bz17Q4aZBdctHMpt>x9MiwLGGTzO1xr+cDLL z7)(V^P0XJ_Lu?3#alU4To%dOSTJ8ESMI{~N`xkji)zo9S=!|}mXhPw9Ck4@y5nfhxx5_(V$#!R=vGox zi%>8hXXn;Y*eMl%npj$L`jWi7c2oD0f*aqNz2gXH8{zar1`Q48#(ua!=@)mXAe&m< zFfZMkNz58=G8;xUb_vpjnmFx*iY1fdh>7A{;I?9$=eP4M9_+PeQoNm?E*<&aKBBy> zN$<9!c+@12ls764d*ELgTW-4R;Bz;*CcH|-o2OI~_5eF_x&k?rV?&tiQX~j4y~Cd$ z_z54AmouR!9&VS+ky%uz_JgKDtqH@rCL(`gE@|^A8V9x9Imf0AOi943;~VV$5np%J>$f!)#`wC^O(&D$ z;K|v6^1_(Os)~;xrEWqY_2WoaqTqu zrs@&9z*-m4Z736~_NSyTWY|t!Fh8r8QYcggci2P9)}yf>*!Hwb4o4xN zc1d1RYEn^_R8!+loitLgsrbH1C7*NRCc*E|_zG#)Z1XI}NMO8Wb^MaSgisxg_#p$sfjwfI6b`4Z%l4{}?&Z7;cO#yg!a ztKW8=W!)+5mZRL-b9#@jDi(E_9y_%n?#qwTI?dD!Xjdow64?2IQezk-ZW&7LJIxc1 z@{-x)=Iq0knH&=3(ou>mh3M_$t*Hc$8Gil)+x7a}y!&}(GN-j}nNL}6ytwjzUO5ib z)-~;rjO13;%V}2X0gRv`^Jol0#)ZOXXXSDvuV)@9aa+koKqK}6e{eop&TRLq{@t&& zP3c93&!<{j$0eh^uPoh=Jori&b-HY;5i}E-Y!< zoIYpAX=+Bh-12R$_}taa5B*|!Kv(Z4l6}tD@S!vf948 z3Wn(Q0Hf6g{rPQ;CBYUFiK_jNUa-@kvWTm%G)safW)97}XhXDIAAt)1!;DC$@`8f_OLO`(!R7cbWPF4sc3y&# z(B5VPiXp<8gl85{*--IH-rjhsYs;Xxg!)#LnC`H>|b zLI4?Ag9oEGX7naO*&lx*ZAnk{hNRrI1P{d)`v=8>R6$u`h6|o2FpenS`?Zv4*Tvd7#;KHrhX*#a`WH`+--T6Fqx@v4%v zx=%1(vUg?F^N=7P8g@)$@m&1B08?_CQY!b@%Xbg-3ADBP!zski57k~ zK?2*&7V)s`K44FGA-NkRyS@tKeF@wv_G z=}ee0mTUthW5qDKzYjh-$s++RW(wXjMP{8V-UeX{6Z&tVj9cs}`bWhb=T3O$@V{%) zd?I8olM>cX1hM^ClXI;4TFeLBZxI`Q%45KR`Pl|xF4&jdY#BT_#}-+DJ@=%r1gmq4iUW;d%TVc{@O`#G9wkTRKVet=JpBC*RE}HO|ER2yP#- zD^|mMcHYe;gsEgncdsYcFgKl5@CebT7dOvdVb4&Jvw=B#zn(bWYRPH<_MQnk){q@v zzp$`A-bnF!_&KFKJD-Z6FB{+jd@)l!=YKfhkaf-e#lu-iTHkv*zZ4Mz?@*KX0nDae zpEzVVUinkZ`VGLC{rj1}-8z`~-um1jg7K64qs~Yfo}y|l4%(&D=z)G}Cl1GOpsm18 zl#$`S1|sUU^qO!elvOF(Y1X3=xD`%nS-@xYyWi|1P|o7KIY#X00*zikLN|+N=C4nh zeeeOkHTGEe)np@$H}Kg*kTX_=N;q4^DFxhTa{^Y;RXkcpB#7id%2MMZxoA;AQ1rs) zo2WC2mWX#0cWtt()afA-PR5!j+Nx+*G4y1=GaA%aW)(+cHf9zo@jIi=d_u6KY~hJ< z)%vU$M(o8R_G}sL$u6gx?!}byjB0ENl5jfzJ|1$ueyisqhDaLB0K|uJna6Sagw&)* z1ROSeThMz#$V!ep?WeK)y90VYt?G*cg(_T zpzx$hT%4}~v=dS$OY&(AK`wFS< zce{Y*HL1e1rOfmBJmgye0}NxoXgMHu#a@o>8ulT%U9h8NMKB*;0!7=5kC-K@)TQ1u z-U_wagXuT7sOhJGW!cYT8u1C9x}QZjd4E1SEWPPQ74SzBw@U3sn0%BLwkPJj^G1^I z5MI%n+g>B8g^qrSx zMb*>0si?IR|1IutdAaJz<1o6*w{ahx`U?Wm!jf2C8F^?*si%T&kb=lVgt$J3%CTO# z_McZa;F`n7)I<2?F7T+Y{)m)889z(y31y>jH9~hsg3=8V*&Mz-qXK$b36y-tjIt&LcA*79TqnHU6h=C|S zZhN5Pzyyv|5a|clPBA*1eW%az^t0D*yZ6Er*F?X?NO*|^-4tGV9Q4p3JoDKAEW-2b z&ppIiay53k-&mW|ysfy=I~Vv-nG!KEb{cHlH~si#sNl!ckD~FRW>)Eky^f2{pqYi+ znJ3ZbU5|mYB=UL`OwuRf;a!eCwes1d^^}iIcy-r$d*+f;)|xdo90nYqa(fnWeJ6hM z+BG3E?}rASf*K#u=ol&&c1asWVy0LNLRHml?b;bzMbCCC~auIwI_@uQ}Yp(SkJp1 z7Zx{h)j+2}ufFfMu3T5VJxJovPhXYkxtZrG596-F`7%o<#DESO0u7VYj(;u zAkk6&ka55O{f%$hwRrjf9pp~siFAJB){3}RUY4`|SfA?02=S^9S{d0bHHE#xuos#2}) zIiY*L@8nB7qaovw$|m2Ud@{JOej^|NP5r2JZhiSsEg$Lbif$>cROply0PfgJH7x1Z!8Rf&1B)m0M%hNdHz3`pRo&9O zCx zTx?q?Y}a5Y%$FCjlduh!Yh=)p=PZpKuP~D5Wj1`JY!;$rYJdLqWW~e!`Yhd1{p@>? z+&2<+SLP1~GK{CIt<>neq%DFGF7Hg^*Q(BhNG}yQ*+)wwey&uZHVNoU5!J)k#Mp@J)LvKX8cs@d4i6$buBi= z*5~3I$*XMj?OXK}h$_o$rtMq83#;ZL>ChI24RueeO^=Ye{Hf^W-!J~G9Q}f0(zhK9 z@WgGhLkgopxj&JSYSx?ljonbECF`S1eNghCfo+!FtNL08_l-ChEF_VN9dIw*i|@uw z@gr%BRnAxgg#_xmjdFC!(biRM-^nYIC((W-IwAB;7TMos4=1x;uYYVljgd*N>(Q_S z-@`QgvZwLpYup|*HXACUsy%MhGVu8)aoJElVY>1plE}VM^ zfP)U1^G?lf?TLeRybuPZ@8eJKJ2HL0PiH+DVWxK_0Uf2Tn_BaN$eJ?0#`xh`Hxl>V z^2hZ|$hj^+W4=C%V{Qn_*N9vKc#H836_KmOQ^9Rh$>3PGhp08#XI_pe<2 zk1LQV;x8b3P#%D4sXNuuTZfgXLr|JT7z-bRR%_liv7=qrt}rB$aT?jrZSuDUbTRT4 zx>qS}RykS@7e@-h9s72gq5Fx-Hjlrix%R1OX!;7PZwhrXk%KmzZ;9psi^IluIht2| z(u9Y@Zi6=F%ZnbRsCjg%3(E%-g#c=%GBnQ&kh8ETTk!F=G{>}GnxTlbBM@>PtkP6H zi(iBFdLHH(|85bSJ0tw5Ltshf>~NEy!$s4_4qu*C%)C&xGNO{&{ysN~eY~SvGxH`i zBSE#xowQ_&beP1#)`2Fb^__(kKvs|}gh|K-G) z>4RX}FI1_%Ucex2eVH15cp{~EB>q{%^n7(>^&Mqo7Um^qG^p`X%k&H=T@a*jkEI{w zyTZcDkNdKm)#H6WPn|1@)g@mtL-8$Lh(8?A7E6kQK$I$bf@UaE{2ajs>Xg9O&>8Nl zAj|cyT691us9?d!lPQT|cR)`%&{(B4RsMN4lL;a~FBPP&kXj>{Nhqt(+P!!k&uD_! z>G^#MWqQN(Bott<9(w9&A+vh4z+I~Lhr85ViEnVKIdG>DGyI9+Ht5>Dlk0zj$XF|b zss6##pf60Ww_(SVC+Da*5T_m4cI)R>TdIE8PrxCDqlCp7shODSDNN0vKq`Bp+IVDRV*f4u zY}uw~M9JI_t;;kNr8&8ZWI1iPE!CErf{GHuQ6)**N$YUGs}4X(3G4Kv9LizAj5%?I zPRK86+EqTtn_p5}w?Q)>gM_%)tfOQnz*G^|4$Ftj3!l~O!R39`&hAB63$!_wYTv>0fqT+ zANdLOr!dz-%3*c-U0C9Q`!m9|Hg{zSdY}E&BN63Sj#IIt<*S=Vi7JWE8hz;?$+kh1 z@A{Ek2j}qOF0Iv2@Mo=XutWW})5c#sv7_0X?y)cJ?!3cD)PVIYcbE3jDRS7+=(M~O z*O;<%DVOfyd1lg^6^E!AeWK0XVo6@2;qo6oLs%zT6r);5*3@#Mjr z%%qx%!AQ_d<>;;Ngn`4_vvrzp^FlqU*^0qz0-uI1zbwzc-Xa35`V91>+0>KUq%&sE z;bfN4y=K20pm-zmdXLycc4m;P@e2m7K_vo%%RMrw+06d$A<*0((z!I!t6o}qN%y3( zVUr>OJiI!oTJ7x+!S36j`r%D=z5=exw0VXYs@0!nu`-F2xBfG@U%fvW_>U@;+8EpJ zFc65ZoHwH8M4YZIsoSIol%rQysaDl#pN|xsEC)_<{sKjDlRtLGRzxqNW=5J`a}Kvt zW?G+wCZP87ATt3iOOjmTFm2Co}g=)XL>sX~4VsaICk!sC)gA67(o4!)8ziS6_77>h>QPhUsps1ZCdH zzVFt(@4J&O6~P2nllZHhMaDgabV?ihNPe*3*JngB!IZA0GixS|pNYukgZ>8rowriX z2qAtb51&bl4=>@=a=X&jTZ2@!-x{K^E~j_;>v5IDLOkk-^j2q5YIe$31ILaB{Mpaq z9S01*b6r?6yMzDm&{hEa04V~OgihKU0d8c;H=3{wwxe!!COK;2}k878}R)(Sf zBi!@r%kBSYdnyijbCjHjDh6@rQ^kIn<5c6Lxd5C8S;CCRDpXFDo4YVEdEZqS`pZ*a(*R>MfFZSF>n~n< zpd1*icf3>H`?!`-(YuIid|2i17-enK3YW;ykbysw`uaf>LV|jh($uPe?auztM4RxAQf!vD78h%5pud+1S|eD+w^rl%v<%5n#eP{@L}og z?%$O*5~kDZ)kh>dv-pLrQU~tur{{J@K$~8H?EI_1+mxz%-i@Z+Pt!9Wc{!b2aea_h zpAvg+OprBlR|cqpiF&Ta3hfnc}>M=RMVq0^%OuyELT77Ht-S?KCD_xOtRh zw&hc62rIVJow2wGk9_~|2RCs%ky92-Kqsz^H+@!;Gi6@KnwAK+bCvGtV4GNwW_`%B&lQ?p&jG*S`uC>LD7 z&g(iesaV=-o#)@or0x|bS_&{G2&P)J9IFo&RZT#-D37y0K+fSbEqfjwk!}CnIC?9& zoKt19+qkQtL#->@N!tGFU)-u4c;&8Z@9&alZt<$!_}EYt_OUD}7wlg>2Tzqbs7!6@ z>v@Gj9FAs)9Zhrk_b)7Mg78!47H`p7f`V2^orc15#5`q1rbOgfGYtMVc=C8 zACW_borw63YMeX(lfgc?aJ|mbf<|WFr&%?)9|64%UVc3dTjAIDnCLk2FCq=@hpCdd z#ob@^y&&f|I1+N`pJettYp}lDk-8~t#Zwwj@OjlWR2sl|2S55^4CrxnS4YFY0n-`Nzn4MP#|UQw{QG#jwWtw!%_R9J2N< z?|)=8e{F+L?*)qU4oo*M2MibiAD;x&ljg>uhBQ`hfvZJGMoj{kU{hJOTXn4%sBz1iIk*P5s~>cF8Ka z{oXvhi#Hx&ek}Y-_TEb3=!}fe3MXdDB!(wlJHA=stXuM@(>(rHA>J?hultcgDGJqM z-$u;bm-y2je5aJTq$n6Jo*KX7cUVTBZFDdL&b5c#|!MaD*z*Ee#5oJn| zRAwP-Dh2_2CJG^OjX5{_$ zs#ITJ(&E9;ko3JK3|lmyA7mP9om*p;1%c2oh>HwyI>L} zPr)9a+b{s^0~Nt+5}q$)QtcS{sXLqBd_M)(RY%k|?rMwjuz?a8ciZPIVvUiR6dkHN2_D?#{8fM zTC3$rI`-UV3SH%jmb(lW5wS@8{pDs-Zjda^4|86Tz=lg#Ihk54o^|Cb^}u>B-b1)) z{SS7V1%*zTQ$j+ABFF)O0#E0WRVc}M@V@%dAK?7pGLwo$N3@O3nP`N8iP~<5dY%^f zoYb4t8e+fHg`!i^<2H|?0pxZ}YExbxqMXen?oJ#{{Fgcpq6!xaADESgYb z$`b0KqkMbrL>yzlB5cBo%RQJr#H6S0k8~7&nFuDk=sM#_6C5wBH}&rWccopQeHp~h zV125Z^4lShIHA{!Z7?eiplFCO5#F?UIjXo+1XLwZ84==CnozFll8H@;0}z92Yz5l?~=G*&5pjCgzvAYC9>R9s7i*Y=o=!r9{K}Mcf_ZiPMC@MW9M6^)>ajzr!r90EA_Fg;px=( z5Y8cb#V*SL<&Chqf%W*(k;UNnXecV=@iW^DJ&2%J$E~i^6t?Ll55$tkD!G(Ez|EBG zedGHN?BL9+H^K`gPBv9T|7`I(ePwrxB4vJH=sTzTz5ibK14S}>n}C^9dR*JZ^`C8= zu7s~HqE^}wpW=7@#MEcylWMg8EEt~`noE6NV;m@&UTuu!DuK$H#BMI|Z_P@?#NIu? zxBK*!1~eC3*p<+38_u)^dd>h9Q(wS2C&^n_BzxxzuIBEz^o z!2W|FAfZ3jm1KVN1SS)_JM#}{(g(HwZ}LEEt*M2onbs9Hqm$= zl~H1!qXGf(|KOF^Y@AU`6pUD8u$NZh>B=f#DK*`axXAv38lSaZCB(YJM8iBCsI-lC$1tf4XvCSH0f5r0r{*&ajmX}T}5U1so{4A<$P1wlK5pqYv1e(lH$ zY6W2CsgcHDUS_1;aO{x|9nFySZ29GR_n{loOt2_{91scfGbeyaiDC&ecI$|6V6S5{ zT7wIVPv6P;<=8S|(gZ zKJH^_W%$|v7epz1FV15-_=kkHoJw3pDcQ!9)gL7{dwAAfYC>V`-&Gqv|FnvHkwLpU zi?hm#^W7#PTP$0IB;Q|o`&w<8`$yP;_Q$fi6G8SuCi$Kujdcxtu>@Rc=4jlm)^tIW z?ZN$MU%Io{7FXegLf;1zl3VC#TeMFaGrW*zb6Ea>=cLO@Z?(&6B=FjlK!ewHYlv{r z0H3FE(dv&($%|j);-I4SyW+fgQ3Hs3MY)qlAI0YCf8V>mhectkbTWUu4}_1DFIUta zQxiU&Q_;)763;xWzTHr75zctDntWpOz}18CKwcf9EzQpF^UmQ%5sf+^=~hOvQ6DOj z$s)ESru3ATz^ztQ$fh^=3urgtF#AGzRU2?V!D8(|&){L+iE7lIkEb;+WY8G2*Spef zoFM+g`?IB0(PL$dFawrdz_kSY>50 zGaiyq6+lKzY}Dl$CJ&L{FFIm5_eCAMX5&7&=$-|`cL>fn8nB*zyK(aB)ZJw-Zi`=^ zB)MsvyrLz2>Hk%psgKp1LI%*qxdVBa5v#V<8{eE z(F0)0z{soDmU863uaaQ%%IY?4R{R#cb+{PnKn;cZz=!$r#X z(?&fLM;Y(D5MpX(fS`|DG zOx`P)scrR~Zv$&>=S?vHsmcRHX(I@cNG~|J-&vPS1WCGYCy#5nZ*^&Vh|6`1Rz1bQ zXb>{8Z2)ztUaby24NoyJBI8HaVP{0PMR(?avC77Vu5@e2cWrwCZ)yCLH1>OfpS{yY z)$hbZX>$YbB7T`5=*oZ?5ox>~e;JT?}Aj<|H9XG$K=+iSwpNn!%%_ZW8QK|^eLOKhm}M(7u4d{0j z(mq^eKB(nm*^pSdRtop+%A|R}V;B8H^#sLmlteg-LW{FrZaX7Pbih}q?c6UE&9(KC zNmgkXK0!zuchN6z3m<-jVN@}yad?ZtV~#Ovxfo*#9_ks{aQ{&3G~w}f>ja$*d`=4F zm)g(sIr#5e9m>>lR7pYe=!-je+hGG@x5GBswYl9xqxHImdQs~P_HHT9*+_q1f0k(n zI(#x;-^U?`4j_|&iMsgV7H?mp0iKiz+Lh$C+_`!el4R_7Aqia5J~2T%{%d15AGV5Q@g`!-Kt-)iBSw$ znkd6g*hf>TqfZL=-7tm16tiQMI_dA0k~mG5Dg#-C9jF-Q{pYHuL|xSIewA5?_S7A> zlpSC!9wg_&TezVDo4*@4ANHtrZSIxd~EeqUYuHZf8l^18?_ayo~pXbDDFh0+q!cK^V^?{N$F z#6H*@tLC0?n;w+Ms8o;3y)Xml7;9B5^=-Hy`Ejkv4TS`d+{9|}`_!NB?R!*!Zwp<4{V~>29Me;tQm=CSt+XhapV_6{Ebh62 zKeYy(IvxOjg4yPJ+|b$%+4f@1Y>OaPHkcK~zqE-%l^uzcy4J3`H-3P9wCdrfMlSov zYE@{>i*076iXp-nY_~Dy9^Cgb{7=Izd6GhR*ydT?QTU&<#pUY%#1R z_1<_EGtq!WWD?z+_5=F3Xx{EKKOZ0Cld#(&1BIax^(%UTGHHWCSt_nr&Q7hI`3q8P z(E8=5?PAsMwL?e-XV36kf6j`41vDdk1 zQ1O|jLuKbyYhvMcGK(QJC|zBvv!%d%syzpG7HOo&DBd6;_+J0(4ZzgSzFab+M`%$ z|0|`o_?9;PPvG;Ju18PzVE5`gyiE?rY*HU~RiS%P4t@dpoRK6QJIlX>aG9oGb$XbI z6CauIuzQb=pE3Xf!?HAAfd{O-DV2vn10}W_4!Oacg&jQ_Q#QdR6*KsV_*rw8zJSdk z5k|o)f$}Z@Bk+FH=y}rjSvP&yKmfn(fRBEaS0E;rGm{$_o+V=c^w>&JTtiuFs$gDM zHQJxf-=5usZ3dYs)^(aEgYu!5IDWFxVgev79m$I9FK? zteiy_ADRft*T8qxm{!$kD7%nF6~G#Zr6I^*UT2|8y0Amu>bP(v-|df39+Rf70~tTO zA7*<*sYzG_EA}*d!op8xQgPRsL$r~*@bSX<8nm~ZnbIe^_v_= zBfeR$I1am-MIH{$lYK|DuuE}-BYpot1#yU^eiYBbjj_(@Gw_@bXoybcr=w4`w5f_Pn{iIxcd3hqARvP4a8 zqOMU|MJZ~9-O6xfQvawPWM`E359XsTxrE!vV%M@5hp0vDaWXWC78Nnjzc%{v`m7nx zV+sDQ^3vV(__StTm7kyZHk-t)`2Vrx7o2O=Q=SG&`hPU?Iak$A!WfmOcB`}{s;%u) zks;N}(s$>Cjh=ulyshu3Cp~!5X-Ofvgs?!elB`fTS{b0U#WPOl{X9?Fq&5HmgN7Sk z{iTKQjF+G?#ndk^Pc0@!Y|fo>GyiF zP#GjHmv2w*prXwuX&FN|+pb4#ZA&vu^$-WBTSJvMvS`@t=GuteqQ;6gTI1tDz*ypfdi zdAAkO$a!>N2k2z?oh8DNv*P~JIC@wfSReh{=b{Z6r@WTMKK2maBm2o({d9p#XY>HLO z(}+jDgx?)fopkA5#iTh{?m}{ShC2_dKMBaSBHs(b$o;y!1 zGg8tc&vC9r1N!ylRB?Tw_=GE5N`t7ktBteiXo%x!h#gSvD_K%JgxT>ez~JXndLMZgApLKqBL$w|2%bI*BY6-T~k7xQ8y*^xZ`* z845(j$Tn=2lCdn}(4c{R;1!JFRpM0i$P zeD&fRO#Em*8Jrw%6@eH93;HM9{RG)EqC35dC}Lo@_5jKLoGbba`>kaTNtm5PX=LwV zB*aRFelKTa)GU`9(`3(!%Nnd{n+4OmN=spa+}fJ5h8vCQb`KygUHz=Ge(lB-FAXq~ zRLiAL-{KwYi-HZw=1CIBhTA*`h&_{N-=X<_{2!pw9e+Cxy4BkZdKc)3mYsUL15m@A ziOj}xSd{(<|Gm?eW23VUCW_uc&DJeNXu#&14F|QV%54sZO+}WQa2Lsgs+u-4lIgC!9t2}O|Sl4wfZUhKTMc1Rj@TaFEq}PkA0%G86jt* zPJa?=bU5{~p^(&v;QR1a0EAsXw3>7~C)Y_%brvxYsLQycIto z_xrWo$OyzQS{+)!GA%XJS-FiDWoR(reslBLWr=rsa+weR{XX+h0AK1i`GzXHJ2Q>b zHt8`224%={4wiPt$6+`BcFX>HV>(nw@pJv^D06lp_m8{Y&bb1Ad1l}^8!FrF?P0eiR5Lo=mA`!A;~OfgiFj|N=}N!N^P@E;oD~#G@3z{o{&Q#j zW2nO}bgGd|`3}$5Kp`jx?pgoe*7r~NsH`R08NDALWysm*q&LV3tog6OfjVb9+~8s2 zJihjCAB{(Ul|x^g|08ETpTAs_`JeKr@Aw^GY$(88yJppUx)T*QCS4!#J?nellgy)x zF6~xD@${#EqP3|UMh6v?rdh=e(C1Qfr#}zVrYZ7G*kG?@ylspBwUqbTA(r#GPs#so zp+1E_{_Pk7s8%GL4~sYN&wCbQ;n@$&NshPbMPlTvST?59(4S2H#~uQ&QUCO-`1w0dS67pB*;y-n1N$W$L0E0yAzY2xxj6K-j7$+cxQ3Tl@0w8~c})V_2OF9Uzs3BUr^ zJ&t7K`@@-E8F{`_m#|=fV$&^`#Q9F|uRi7Y@$z5O8~-*O;>|Qepa;j`x6BrY84vw4 zjOx)5`f?`k{A`WTGOX8wD~e@W;D*Y-%y<6h$JM>oxZAb(lJnp1$4jYuIVnmnW%uDd zxX(hwrajWnpoD{RY`o0M1fi>w3NpMo)LQ%H%p+!!lXHr$q%*Z%_hY=cZic6^Zz8ik zp0mM9P7;4XU7{1dO11iEh@d=Th0-1 zak5{1hxY$v8+aJ#!8NE+T}td1JnF-(qb_joY)6XSNyZl-V%DCLtAFO`>tw{Q{nP&f zlUa#Yq5NJx?ccT=MvMa`2XhJZ=9bRB_+kD{%U0m`DmRo$#l{s%U+X!XpS}Aw9~GD@tugEf0CU) zV_y>kE|V27xA5OqA|-H@Cc4&=BEI%9f|C!aUgN@$>|gpqpGJ5H`7diJ)#U9(iht89mwzMqBfjgHuzTU$FaE1w{4;H19*FdWX&_Ng zWgvhr>64IXcdOOYpfy>NILO$DPw+H>6Us1jP zEK~ZUDY`LLyn|X=)mR3OLj73H7r|_2VY34DZm?VOCk= z(pxEe`Tb>QQ*w6_FBDj5DX=yiW;{y=>jIO8iu4rR*D5qIS$EUGTEtN6&ocq<$KYw+ zsc%9;ZcifpK)zxsDGe1Ing^}Z4Z>?z{FJ;;12yky7WYY9)?GUuLszfFu<=j3IyX76 zD_yaNTt);K46G`IDxeMs0;;$W4U&}x>~wjUwMr%5B6Uum@AC=(w*c-$J@4)Bbi2zR ziyvEAG0Ppkx`F<_!Slp)NAz@4Vhq@HVNN>^>yg+90$T%Jyq^)A@xh;*WxGqgNeTV;(`Af-!f6_qU$LHc!9 zM?0-NTOttMXLAu)rQ|552=r3~5AhYf&1_>e_OWT3s&$DPXz}zbjc;j(7tv*fUeyQi+kmJPPJ z(*_-^3`gjLYa&J-&HeMs>Cw*8`1Ey&A(83x%-S71@AK>L{{C0(;S zpa9;Vkl{pNULs6%aN}FR-Av#Gmz3%XyDxBlIQM$>HM#(OJi0<1wB3HvakxLiYd4cz z2>4GUyex?Q*3$S4d%%j%`!VUMo{}C^dmY=r^JKsycTQiY(HH4hmW3w%JV0^CfbdPuA#DMqcPwFaKAL$B}wlB4`_ zo@yq-!RhW8qrMkn0jgZihUbR6cuhIjVbNR`5frZPx`4~T%zW2!q4(bbR}Qo)a~PxK z=O(911l|(LTEoS~-5qW`=N^G+HXf@d@!^&JaRs|~sEG554bEBb-p6;vPyg^CN%@r? z$S$AI@3^9|8aBEPuu4%XWDytx;_5n#n#A>kEv>IVono#Ynd z1Wle%H6`?C%0Ll5fCaLx2U*d~T}WA}MAn}vWL-fNxo-GYa>{Lmc^R6k@|I=lrLjQ4 zRJ}X$+T#;oITnGiOw8>eJN=0)UMuLZh-vvUcW}U-$9jT5(VONL$J#qZi@|CL{L48A zxtXlqN1Z+>a>tCbDZmwuzx~@)f|t1*2(jhVdNFsejIis!BCPm7iu)@~#4}sK)h|I_ zUYAeG3uZx_doWMb| z8BV2U^*sanc&!|&9L@%BC9=7bQ-T(H7_q97@L?IGmpf6Cr)p|y5|lz8Y=E{Q@~|EG z&!_^7shcZ<$IC^h6m#>c$NR^1Qh@SZzTXU^y_DEV)PIxM!O9SeJEiWoVz2>Cu z0MgXjLhddevwwQ}q(aLB|Lq_31w7M}~45D5iBIKl$GSZXJMtnL3$wOM$ zZ8zwX7{`BO^8auaTx8c!Ac+w)@>fEuKYWBhl>gpI|Loyqs#@u4s=BU{wyOjx$gEx7 zj+M=%SHmUf2#xSQH9Br#^`iJ}K2_(so3h~%SZOsbO(N)YXQ1gkj~>=1fpIq{{xOkG zZjOK9oFD&l8!7IZ`i(W2aq=UtdPhe`tzwboYi7V))&Z7acB>_fkegvddcPJWYY+kjUSX=btK+DqjzKUAE>nw6r?94*6eMNdZ%*dOI8r}&-* zlDY*oY=zk%8Dj0$9nOZ7+s#QcFfgDEWL>C;o^g@bw^NL6XOT1>4;C-R>R6`(N!Z5lP@@08DDfk|nc z2ta%Svq4m)OS6X3lE7zlHyy0E1$Wr#*@k;|H8`^+;GcVEd%pMQ*VhQNl8y+hNqD%Q z##8M(9_&tTc=2K$%chiCPSuTCL}v*D2p~>^9ovEip=Mb)-OUxvu6Q{-aBpA)eUZDQou;RtuY(B-LQY1YvjN9ML1&gQVtx*kaZySqto{(DSrQqcu2ldx zs2?V!0pv2eRCN8u`Oa&y(^m|Pj7tFX_hmg}?#e2nQHVwIy`MtZ$^Is&y%H?OXFl7w zIJX&k*epKVFN4pBhpocLFwpP8*cItS4D5}3kcqolSy?ga&Sc5fC`o;-YnEthfQ5yn z{m@*GT^k8Ji|YCnp_f^XoUvl z(<*TI^R)#4r(BjJY&8Hn`dU2>bp?D#-u!~1 z{g>nX@1Q6`w%lXQl!?gUhro>Q0@g(QxRtj7Y#^f{zn&(6&QGn=4E&H)fNPg+ZOiKE zzjpyFI%p3$9q%qV0RLaJDv3XHzyGQ>o$i5jv`X)ewubaKhymjC2*od$NR)Q@(0)^h zgNI6?abbUPb^r}wZIG>9uVGAa8nbu;{=1MyWkwj*CxWenwu%VvKQ3VDw+wE{;!qN= z4SG&pl;<$86+a$`Yq<9!Q1XfsJ7hvY`?5OcKAtOn3ZVV36j4U?PtWuBGH~+40cpLf z(@^-YXEyhLzXK5(5R&=-oz*{YFZjQ+`v2oujfJqm8_7K7KVC#;v;iZOs;Oyt8>aq{pYwW2QxWIN?(xs0nQBw3JVkY%o4{oBjQ5!%@^+&#RMO9_!n`8Oz{5EXL%^*J%t zg2$IxV(&q!NPtY41Im&Fr%@C9F@VPN0ihZ>et4hE`;`5^cx4&EwQ`)j z^~ofsX;0^ACRUcUXsKnTQp?GjcLENJZ%0Jr5=`ok z`{$8EmTs4y_;1TE>Mkr5ezUXrY$4Tf6nhqdGl+wm9P3xL4f~4^+BJLU&h7Y%L45G3 zG!k9gUjB>2HqpiRuhG%QJXZ><1{V7>Q$&L3VMVp;8Fq86{Q-B0l7)g1R&curL=Uh` zbX+d#M#Bk9cdBp_tx9Tv+~{7v44INzu5$Lkz<_1q-I0AcK_H6wi`_G}vOEN+BO6gU zh!5=aimJ4Y`T?FUu>m_Ir5FRTI!ovm*6ojjf}fb z!*Czc5c|I|525$Nesn|Q6E&$(IH8V_)VY-9wTJ+!Rs}xNEj%)!53LeP`T4S0z21d# zLp_3=8(pa>mQK`1Jv;4naoigVoSHjc2ikUJgcg6hZa!XO;JSO+MzKr%?Pmau`AkuP zbDtve(Yb@e75>R?Y`MjAkYcq_;`8NtKup6>M0b@*b7 zQ^o^rN6pE}sn0NY8&OFi_}jy}iTF93xt0)oXfLP}o9(8WsUn0P#_8Gzt1-=q0PCoF z+V;QKf4g?z67O!|gf3l4RqrBN<91>68KD$itr~D<&K*;27!bwek{qLk>a56~6jzP` zQLK93Y(2ZE7zGk5v`spAY7wX?S`r+XTpfp@GG810dGFj58$$rbvoOK5|0UW4Z*8#r zfd{)kzx{bLPPj`=WO!y*X3{Dn)#b=&x!(}p8s)^*9z?3 ztt40NA?mIrX63tUQ{KPgebihcx}W!&Uc{a)*f}Ng8#2vUUvq)`)She4(HW~uq+feS zvniT^qMflA5KE^cc6ww9Kb^5-pRxu<|wcbrXDNOAe9Rqs}z z<~-#J@Ap23dk+9IM9&Hoj{#ZARToET7wI_4eBxyqhCnvjAvuPoolD+8KE5v=A1xM$ z^w)^FtAlt4#?>N%|Nee}KyK^{urx=%<|8uIR!mc)k2|pmuAIz9k9|V3x&`E3PE}%j z(A2R~Su58);XHUejPJ**l5EAPes_1=NT2oJp8NzPR)E@6p%(}W^d#we$P_tAI6y~~R^RjkSGn(t<5FG<2UzJm% zpU@| z(i~2&0GZbz#k*MG5&*U%=;Me7kw!5Rgtf(_a3L_Sww+r?AiX9nY zoq%R$g1EQgp+;ln77p+f=jFHbtgI10TEB%T{AaMgQQr~3v0rBehF@-grzJKF_p2b} zv5X(?dRJUjlmm45t_SYtNART|YATKcu)}qr&LV_K#pzQR@6w>ApwNBS`Yo~exu!RF z{&sN{5Er)-8ZLMB#YGSo9D`|vY4k=YWhH~Ion3Vav0Hg!(gUU`S==_`$b-P)JJ(6O z=q$lKe|*@Ve>jF$^&62Dhn1O*K6d6|``5&5_cZhLcQ3WEkDg$w^>k_>enD}ycoXuOni+%j{@~?#86)wB3QSnu;pAy z$M@ADc-N%NAdUbwBAt|~uC64DgerhFt%l^ZcPc#})sMY!f04T|mR22C#b`9C=Zx1&SYA!Iv;@_l?yku3Vx~hk_wXZy z5CcEzrudVM#PqTBo&)5~H>O#^Sn%M@L80Q?~m+R+6k|#-h$cC7ed^d4Mic zR*R-p%9uV|cjkKb`%vBS!D7JN^ka<3=O+PDf-^BM@oiG(WN~S;td$_0iy_EX)P_SU7&sSe=_`r?Nr%}pej2Uiyc0s zdY`+>I8Y^!8;1W72Ed5Run9>HjI98Yne}Yg`wV{p1`{wb6;!@<{@0j#4RaA6R9#E> zx%Z>5D2c$2nE_~6Dm>4gzI^A-)yd~bLPqin|BRTd4e(*Qwoo3o4V!wLju+H{rNINFP*YFZ%e$bZx*w70CZ zo|LCcb;*cE$APtT@0X>Wg=UeBQhNfeYk($BcXpnl%Z}~m-^AxdXT+Cr&LzgVaw4mp z8ayB4QWYD6KV^Q^t22L9@oh-a1DlKh-ZA5`p2|9E>8;4u+zJOG{SO(3%c-~XsdJK( zq||yl<%ucJWW8(TLSq6>w@FnsA69F!pPLC%&t?B5=T5wQD8#zXqVk@<5f zw-T&Qr!UUZsAerJw$hMMAc~J={~9R8E)ZR67yQHV5B?fm5q!BAD<(*itPUxQ932Er zmX?lF9Go^eCYZm$_4|&7J%tCnP@KI&5Lh}d*3-G>W~sOoY`8WuK6Xy$M2H?~W-!S= zY8i`_RnWP!NQ#*YYe(MgwPc(6Ek3(BGfQqhv(*n+6 zo`BSy=Q7aNmcNb9qUi8WF`g;_$e|7(<mUw8lO-Vz12NkY--|GL4hf^ zS?eApWdgk~MLL`~p={`hq<%%D57J)r$jEUEg1|fB!Pl zy!CseDFa)%Yeu6FS#Pw9#7RK1R6FSma^k$(F57&e6FMZ?LufGE`(+-QS{Xpf(vmWY7EL6F9&_Q-vF(Z z+fB&_=R?Z)6Xi-dsUtl?3H4LD3;S+V?+{@^w6QLlaLPP$I7!rQHG;$ovqc6yhb);V zH2iS;izHEE{2tMM<+rx@@eObOju$V-vZC;Mxo5**pl4^3ga=d=i6Wjg+=}lAfc}N( z_*@AxJqHbwC*f%VjvpYW!E~vMAEDQ`8bCllkkO>9R3k(XHu(XR)x{At5+9Dqb4B?ntpy{aEmH!;H zO(G+N#vb;3(nf$5#!8HkE2^pl+Z1FAC?o{%0$q~h~LS5)OE|RBjRUupfwO{Lutj$X|ELTLW|*;0uCDY9z#^{=E?97qkK!nF4NW_ZOxg1QUS9~2-NBkRmb zm+u9C{?!G@ib4}{!U=*l>E)*!*s`YV!@>~Qo_;HSL$+?Zowm)R?q$Rr=pmSQxyk>W zDuZ|{CbLcU{?!`eIu>YZaG$Wfch!;ofg(u>%0byy_wV$Vv%36mvidRTz=V1L(g~#|Ma3D z`1q@8qz0e|pqJJkR5{fg1Y;})9}k8523@4a3CHB5Iunp=E%;zXy!zKT{$F}r#h!qw zRFdYV;1!1i&S~)$2$l|WedQ$Bm$L!tZ?XZX)u@DwaWDi}>$cdfTwLkut1?s0x4x6Q zWxB?x(WQR?%+enuc8g*HJM$8YNmPMfB*Gaq~fV`KV3h}gW%>>4?>KL2Jvf>^)C|S>R!IejOhG=?lgUnt=NrG;?ZgTsHoT82HDk&hfR@#aqM@%uBWV-S7n_T;urj1aoo;avG!=@t zCbH*yCjE*Oc>jw?QLpk7v~Fg`#^N1=zGFpDI8MF1;Ra@j7Q=X_-rqpyd)08ZW+Qk~ zKXjk)uVj+XA0VV4y%J~tb=$>QvCLoQDCr~yIjGuUsIJCrah<-^C&Z{h)K)&d*L+&r zV9>e`0pXF&A^9(q(eIuUhu)TG$Mn(be$rSSJQn6`G?Zsa=;#s{m<+p%%jG$G-1Bw5 ze<1NXAv&D@z5xH?Eu;)YxaC@@H^RM~ov413%|Ui5nVLlORl2QL!_7fo+`--XvR;u) zKq4?cEhY7p3{)uWx;jn~2&Pf+%Z=as?q!gkp&Kwla zpl9x_16K&o<=Bn*OipwCOg!yK4Iu@7L06!N@HaSaQl$GEM-1iF)-a?m#YB*;G-@C!CbW$NaQT!b= z;^tJI7anfRg`NvmJl```H{gAT{oihMpGf$xO%gCNWR^mVgwCAC%K6ed(zxa3`?mwp z=oS2hOmPRm-&g+-k(>uy&2lflM-q>IpK(?utxopW9Dr^`M7_nzT28U8FlL_2#oy1XASz}PqL74th!*dYg# zR5nNfFGYk}M3Nrc{ra(h=^aC50s4%)e+E=Oso0CqrsPUz-u`aRj%XD7I+VF5k2N07 z8J#U^9UJFU0MZuW)?WfvEOuTk945)wWaw!5dvXYwM;1Xdvt!rE^q z`^8)}yLlI7Ig;v?V)pfHa8gIT*30VN>v~#XB@EoS4~ghGfqM-QJTsu^n;L4>CkPuQ z=8M0D!LcnYx1I-w4^wL1R>RZiZ#LThy7A*)11}M2yxb0%qr$Qt8%f9j@ zIhp4!mRx)$AT+)|U}a&+;q2l2X7akLLFH$|$$BP&cSSPnY4B!Yzwwt7oJTq?V9Q-A zq_fyAc=sI@>FK>Vbyej?O!%i2_x;C@tj~cPg^P>dD@gcr%n?o05xkYzQ^sTdW5(m& zug#C|XLeW0To2R0gWYrW=XWiCBjIu9EIBw%1UdJEa{wlJS3=o`*jWj8GucI4BucDj z6wQ=)4}T=JmOTIPpi}O(OcBpMHTUR(97C*VL z6I=TWPx6teFcCv^s+Tsiwr@EnXUMmh91RrOeZ*{jLC`(cGwDk}cenWZ{f(#1%2t1o zd;b*@!MTAR47urx^8?QtFRZMxKNdHPJ-|S7EQi3AUszi!yNvU1w^J>F>6^U@6Fk{z zpxLIY?fSEN_{_%xjwPP9Xcs8A%e(!p&sT-r_xt+NC6*R5BXX|YIKALJ0-ey%BE4EZ zu8n7H-y%liTu%9y^D@o*-lN~FDyK05Gh-L)yUv?mk)gv4``iY6x%K@y{9p6#NHNjq zhk=G8X=GyCSDgEeAn_=xaa4h^*H&JqHJSBVpiCwCrCWA0e2;{Eqy98vn) z1kWGdRj*jzq1I6*Z}hm&?>O+tCb zNl_s|X^@XLS=(*3b*%F}Pv!k{odYfwmDm;q#or$#$R{>rb@obFK7PRbnNslXY=9)b z>?^TjRA6-K>(9T^9SglD($30Zrec8cDYw|cb&kEQZWx;HX;WD?+)1RT&$?s2bmJzM zM_RJG+t0D7Fdjp61<2|2el+aS8t&Ha9i&3=g&Yv+zGhO45Iyt~Y`@=db?J}59#1!{ zRsHzwi||=nc?+WDL%hH7m@E%O8a0Ha%*V<}g6zo4 z-vXKmXbg#JV?y#w!B{Z$X}8j$(8cMFa^%6O{0xyzoj7QZ$%W>+CVxufGz+KdWA8K( z0kaw8g<55;OgT@Pq$$a~v)NTYu17>Fb`4;*E}s9Oynxe6-2*Ma>in z@mTv&UL9`AQm}6rhX1ZV8FEsy;!FgZe?0JSpo#s2D3TvP*V|B{e8)a!=}z0V6z@!Q zF>|Xqop!@yR1aI-tV~lg$h4)`i8Re6+?nKFGPSQNXfi)}SnfAE! z9+-Y0**r*S%S_kvi+oXAZ!#UW(Jg!`WNzhrOK7+6eC2^mZ#>A+4oZhsMqD=P_rtD9 zw*(8L?4ltme|dOH%H>;rNBsBYY=LtXeN*yetuvI>YwNa5pCKCWyvOJEB<$> z_fNYZ_suAyn+VQszmZ%51@rU7MKB5ez7fkj{Y~9V4^qgBVzOyY%!Umubk5^1$(}!S zl#$UqZ1z{9KGhSw_T!hd+NBN@*BR{_H1puN`1$j+;r#XMq9e+i*VANv@ew7L3FiNa zk0@~FRf~rVs%!Rx+5a`7KF(et3DAKNrW9;BaU) zJXHa#fh3pX%YXCcjo-5cpjFs5X$Q|tnRBWK=o>0qTeIlde!aO120Z)k*M=SxR!!N% zOwdfJ72o-Nj9LTeI;*MaA)H`l3rwNLf)UpF9|=vwTRl|1OsG3F6s3|Qoc8mwZAIzn zK6os;i&=;nJ@uNsA)OTatqCf)LQke&6LzuGK%6BejE`Uwjl+M=O_r-orGHWm^8=tt;)B0S1islSMr0s!@h~O%@{1$x<~h< zCqvu%o<+3h94#o77rqmg>63ZVP%tp8Zmo(M_RQ?2DVYeB&b5dVpSF=9erbzmn|YRR z$gB=L`i6dp?b(!8Y-gp%Slusn8f?f6Ugq6lXBCklYqwaBXJ}~)OFtap1B+AQV}uOL zdAJ84I)r&Md(uwDj3e{L&GhgX;tu|mJA{r|o)e`%`#-0z=(YL*q^ad@m{o7!AGz7)P&U4Q({E@Hp~iC&NiQM*6SV1|SU5{{df^4< zelail+;XAX>!%-l=v>(dX7u3XaE7Z7l7h7V4PL#};x^WPXW0e4iHUY~)}u(q3~J%Q z@;nf^WT$*==;7U7>x{jNGvYzsc1OlW+PR!rD)X+Txd$gd*kf=@9*hmjhv}qd-fEC0 zoQ{^`;kRm;^$=-{lQ2sbVBmn3r;tGud$;2SinZ$DBpQLzDeu1)6(;ZqcX~e+3fh=0 zTzFF5lNW8w6erI@AYL9wcJH-J-=SKy(Rk}Ak%7n89mUz5FI_!{JO^odvB&D!o=~F02mvpSfmZ_`=AX3B!V=oFRRC$sS=Fj_|Lo&JROp zPm4PEPwsSx@VHFrZQQ!QXgwxuj{`oa4hk6WW z=q8^iFUFqeMzY0*MfP#7!FwmqpO6!n>*k&?`NuiWpTw3Ixoe(Ybe3c78~y^bZ8B{; zua(Lc_}v&pWmJOCiPunhPZpaLbgFn&=Q>Xdj;Dtgt>CT;bv3n9W~Zw}gxr=Y0%_lu ztUIeKiH^qMR_C*eF1@YK?Fczz8&zA)0vj1!m@Lk6e(n!!lbBRO$7C1Oi^Md9Itg%< z1=9lT-Zc6i3WUpe9W1It%L5wCG`|mv!+9)711SkJt2gVDzopt9c+Bxl`_3J@M;oZy zrxkg>$lO^UHjoVzeqFo1@}q%w{HS*9%!7iE+sng+{$py-xKOd;$muQRJ;8A|-$VEJ z7DV1VTh3`y7{>)<-+GS^UA%_KNKOl?KrHs>mn>w}+=)Pc5tc6IV)I1|8_5kJT)AcM z^eA6u&;#CI-TI4Q(1&W19&|-wKE^ljVE-jLz8@P2$wA>!?B&Gv1>>!q)dAMk3wScd zoG*UR%e-QLCN@mQA^G#Mw)V1%T=jMbqnr>te#)Mu@zh=bBr)CSi%x^{Sz;=G-U-_q z!7_0&q^`|JDjl&*S`TMiS|=0@Lv&TJr{s8W`-9%j!;)-r00TpA7thaAtVzs{ZTI$# z4|UfddmHf_and@^f|u;O^aov7s!*^+2abkIn?a1qN|O{md2giMLyF#H`z=q429jD1 zTidfS`K={tXX;w^<6;eHD)((xU^T)o_BgZ33QGCMr2;Dw%^E`zNE=N|M^5awI+9M9Hb(T{HPv=)AyebmuneP@OdvXEAT$ zPXoWCXJ_})oI+S4xLY8OROx)(Gyn9h*;o^<3m?^TVbuI z(pXdN8#fSbWyhf9!W!K>FZSMIJXHxj%1h=zJr_XSS;Y4|QqG{<*%F$Tf!cerH zJD9P2$W>+J9};1Oc?tthLg9xYef&8ar{z!{Qs`=y(JZI1A=*1#c6N`i{hVd{&ckZw zp=c@=Vmum(+$Q|i>FXpTjk-BzNArk9+V;nDHQW-aOMH26IuBp{7)A4pivNzE?J&q0zzF5u%eVJ&R0*7I} z=I5_FB`u#VB~9xM9r%=g8Q#b_*~r<>+VDf^tssR!R32!t9CJ%QVap8NR>pAO&pt>< z9)h26R&YUr;p6Ss>3H(vP4!|Ww5ARkMsiM)ng;Z%8Zw#Ip5_c`-Loe_CjB8l=qhF0 zKyuqUKcfz$7ao!@?ri_si-h})dGW2MnN6(Mx#4U@@o8WATRBIZ43dyPLtzIw7w+R1 zO4g()sjj&zg5$&qS()A#kLq4^6m>!*4;nNoZ8A_0FVS%Ej z>2noQH-#V5!nK8RgC0rVq`o+tzF2b^!P;P?L_g}#Y@o~uRuWnc(!|AzN_Jb$56_d3 zFi+6e!bY}jx|b4fSoTCR(-U;bp9gL`nRK zogI6MUF&^Ryu`k01Zet1HA{rmAJi_rKYJuy3DyV+%(OL2L|8U0wNphXx{RO-80b`5 z+6hsK$Im_c_Sf0Bddc@TsF1NFbF2^=-OjF(>)PtEZC+0)EmzgE_QV4I|pTyBJ3S{)QA+$_8yWbY+*^fq%kj2|9T=xe}o(NEQ z7;0G6pTNu*ERLgM+Er(K89IcA8V-k>hcCM5hrOSZS9^%uo`gg5=M26S#w#x9v$6)y zF$JSCIn}z=Nf9?$F~ce;^?L{G*F&?PxYQVI#x(3emG>C8EmRqHs2XHG9+FmM9$b^N zD42^U2~?Mx&|rFzcXmMeLAhvXd6~B-BaVnEBaY>^!G~HS#U(zQ;;Cx+`ZceL5y#wV z#p$#b6ZIIQT3MHCmA?4TsOnO%o8@Cm%m-<9gU_vPQ&-He8X>v0)78xz6WS+&Ra-s@ zTpOwfQp4Q0bf#kud_o(--~#*=)wd>hN^K`0)~H!>IBOf*O~-c*n%qiXKabX0b!gCA zjcG9Ba4(e`-$@Z}6Yhf7w0ahOgC}%fpL}uAkAm%?PtU1R88CJnEq3|hN4R$<h{ecTAZfj zPg21Ifx-8s_pqZ{N*5G$SUj73^~8Ael$B3uCws( zT>u|<@t*$cbzd_0^5SWV%#PJWw2(dg^rkdB`Zez7eb(A!w#<@y$Hw6lme-yh6YZpRKGqdR9HXlNbSu6l zu!xK0DiQXoti;MQXg|Y|+!7WwL|W6Yn)15qR$TUTCVI~m-*{sS9mhrGCQ0!Ej=UD} zyGfeO{_R(u&Ta7ncCig-@FB_7Rd>D{lxL>mPvIYRR#S_x1fow=q)OC| zey}>AV{Pb3R%BG`7w1!Q|CZ=iUp!&d53gC%-w$}@5N^!=bT8W)gIv?N2t^OplHd#7F@OHFTvxgx45K$*y>Ip2 z*`XVp^q1{9MFhldTpO=tU-f#MT4@(FJ!%?cfLAp9$yS)+#~LB}V~}6&Bc@dDIN*** zT^0!5|7J=B(H!FD%qc}AdfXpD&&xZEYC=P53VNv*!4TCs3iZtUaMAO_=4ah=*#6go z=fVYhP#v?IlJhd|sIA(AzBs{IVjX-22Gy-Mp?aMIG#Qaz&`DEgg8e7)JD?MO!=d9r z?jhS4EXPE|NZ~73WTtRDHrx=42}_3b@H@2NY92CCbZt?HU;Aqnjk&nflzcePkqGfR zs0$nE3A9Ro-x=;t865z9w*M9?L?39X_x1M3#?I_Y#Z=2M0q!(Mh`qEk+MWG!JJ|$# z^apc#{wBRQPCw2`%6@!%Gg}DV!g2jUTmPeTZpW4V;l&b@*hg|Ovbj;gM<4lbIzO?(snqDp6DNnCcFU{5%Aj4?h zK=5%XX992z9DnB?xMjy^NiHwR!!c^gxv44cte3?0`c0F zJZk%)TH%^+_H*bSc*EqOp>qwk?Y`C3#HH_}w|Y!J)ItQ*-B|tQh}Rd;P!F&@KN>{B z4@NlB<6{kaC?o{D9jEuLh2Ql)oyQ42d`N;6jK|m2ZN=G}s~QM-U8|jM2Q?b9eOx59 z@Q1jsUqhmsI8THXc?D-+n1{-tM5C)D>d;9Dz56zC;_(?fS4{C_dn_k_~+ ztXL`98i3@=`;U*J^P8XsUkf-oNQe}e0=RARGnZ})8G5>~LA=xywj>;%%(&ZCE3M9a zTq_h{*!DwtQx+GdCHjn&=wkWP{gLXC$^D^dF4tJNz`V8Y>9}^@`N6^Cqs&yfPm?kJ z>Rem#J-6vST$HVxTg`PmRu|uV!)A_`A8j+{KX|e8(c^4t83PJ)hmEXjMzGO&!bPv& z<0(Pyn8knhSk8;*?hs_p`i6Q}{D#hHZ@nEZZtB>Ac9sc*Mz5@o6^XH~BvfK%i@QqH z{k41U6rnGRS*tyRh+c~|k6kD`8Q$)~c_Y({xks;Fx5e`5=Z+n@bsXrbh^XdsZJpD4 z;nxVaeEvo}cD!GQ@i{>w^<|_P&HLLQq(Kho+n$Yx( zq;C6-QaScCE&h_p>ibnCarO8Tk;|+5>KDM_l(q}IPl~8v*N(*QGd(-NLD8uG-4E%y}%g!(yLb)xE8Fs`P?}!xq+>yTaA?RC~ovdQz0n^3h`Lpi*ULL!YV5r51!&{Nr7Rj8RL1o zy54!QZu_z2?Q_iEPo+F>gharKAu9AXLys8<#<};ywHrj9GL;QvbK0@GWv`vuE^-^V zknN1I2aGp28mC#DN2RRf#0>T|H!Il?1kzNMEgB~3>^}3}uP8I8pQa;3Lu)Iy>ZVMr z?>M_hp%Y*Ksl-BWo_$*_*lI_3$FLeVaG!oJaQ|nY!_icq1L?JZz0oBsSk~It))tE5g}oXa0TVES+Xt-z@THn0_RA z;AZ|TrpSl0vbxT$gJ688QX90DvR6b){mwBaq4S=%T#*SA52ge6;jWrg2|rn$Ck@md zRoj1tzYcEXWju0+?%nyBe$=*_7AG`}b6`B|kQ{TNd+g7jkl>6_gb_j>dEIYFq?bqW z>**90eWkO}$l1?VyY=qE7dA5lGhoWq$GUt(*2fKt{rSfQ9~v775PcS#V8SIRzRzx1P@gl0_v8j{ci;N-jT&u(BrX zV8Epq1Y>^>ZR+=8)iG(#tVT;)_zzU;X%mbj|29xPAoYIZHstBEM=wzB+|z|}I_^%m zukGGs{;=^GcJ z+jy}pX;06so;U>?^kM4RMvpy|8ztnefoH25xEKM?VKyKJfi3 z`6axh0?O8L^!3oMjbgm%lioa4+qj>|>eswjVFI}dlhoOCGyXu6@5{SR6sEADIzy~9 zgR1uQcqsyYJgnBryN=}*>Rx6b@6Dd~@hzmTr#79rASQ zPQbgI!d&nNyEU|oW7{Y>%Vg`Jwg%^$WK*^Rtv-UTKF9J0*BzU_1#&Zm+J%RjQd{iY zQ)6?+T}YWIVMwjqF~Wf%F%MK)XVy6C1f#DCL2Hp8pPt~1zK$~6lq=moY2IEf+oZ-b zeX`|Pxbkzo$kOojgfDHCr!C7iK{aZU6-5ZEef{k1r5-0GS4rNXlR=~C${n)MFL@=C zYWz?3#n@ZwGDPq)E!`Z1J%6}{^;vtBw)CcNrRaxP&Pv4v^)0GLd9la4idfB2DxlCi zXO5Gm%9XuTRL_^urRY^FW($|td17atTC~zL!}dkgETvgiR@Nn|%9HqFOdUl<2wY&s=eBQla{1iffbDyltaY*X!G zw2o3+#_7wFi#NhTcD*S&#fat#E?_;PaoD{$aGv>cTW=`X|MI)GUWANB{2X{yf*k~i z4kf`Rd@S>zws)Y7fp4aWy6#;No1`&CdT4Xmn`*G;OrY&k@#nAO`=U?Pp*O|3x~P|mI?~Ka zJ#(|bq^=LXr})gK=wr-9+o!eYNfK8)d*b%zQNu$qWh?&=dv6&Pb=$80dxHfCh)75Z z2uKT3LyJ<<-7U?~J%mU}OV(%l0n2uKdyAvtuz(EPu1Kl|C+``O;lTED&ai~ozg z7HbK;WU!#eCaiacOUIa90j!huhQwL}H#4%NaIS6AM{oAO zrq)&FW4OrcN^h!^*z7}H&=myvbB?LMr6qHz!U8au~>Kn$|dZl$`7 z7Cb&NAmr71^!%$n`usK1glv!?g(LI0+4xKSdnmb#NG{5Gqa9z zb-x0Tx)u}^WOj6j^8wtWwSN9xr`y`A$Im)10Y65$0B(Q)~zl%5n@SIo}rWq+;Esz&Cuw@RjBh z=Q?F!o?xCnDOQT^&!@8l@po>qy*_-uY;3(Wz#rq4;o30uQMq5t*!)2wDTVXa{cgTz z24|5(;RS3>fdbzWKQ2zjZXYWwa5krGq;rWWDVf`q_r7!*e2Y^XNE8#&AKn?w!zb5C z4tE53@M70QNQWy=*8=yw9oSa+2m9xe_Zs?>`q0CyqIi{JA`~wgndOod7x=!8CKS>M z3^xR{S+VS;Dt1#O$Y$~zbwycCU+D>Qx$W?)&szux%Wm>QdqNDxCh-rR3!U?l93Lxk zUhdse^tC!#c#`s|ovXIL4XkGvjfusA_T`-s#k6@=gknVXo#cBx>;Nvq%W5b;zOD&n9#}t?QqY9D54nA0KLLfZ^OG@kc4tv)fXg@!T=q zxNGmhkRA{QM9wS(athr-+KTpW^$yz%&nl=TB?F5V&*3HTV2iP<_VdG45Espy*o{MT zh!jAm!!49Y+jG1Qt}T?v20Dl*+<;DJYumeZ>Q^VllZ1aed2&CsuChyr*IJFUc4obG zbgZOleK^>QLO>(501&&xmzuE~99x0rkT=U;|ghpT9=MO8`P0 zcExJ|gD?QDosIti!KZ$J2WJf;chSgvdq*U9;0=?Q9rc{+JE0m-ip;yMPBOaSzR{=WBaDJ?&2kGAD7UzAo-uN!}{XrQ{3jadz z0A#qpnGNSjsGsf&cl)QAon*U|u&Yp^)l5@$+>*yP?9JD>aaCWsA1JR>-2Xu=`mnt0 z(teg-sFLbNLvS0^k_xeDJv^OZpYA4kymzgQIHbvF_Xdh9lMMK9@&$C;F5 z=-G%))vz!U%(O0Ki@Vmp!~xByn&2nZJ)nN4bNKG!C^g-sKtEMJlp^xQeL_Wt zTm`g#Wvum7+RJjRIl=Sr6aQCLy@E0h2%+;5@5DB$D|Y`ooj?vzlmD)1Y7L7*Y<}}946vI%xn)Ofqp19V z@SfkW7Dy_P_(-Lv(km-UnF@3qBj^b#bwo)7fs7Ir-R%?Vl+-@q=*2R133BIHi=AvS zW}1^l!;TpTN5^&8VZWn4g=zi7*yv~!%e(lG+Rv(D{QDXIL+dLLD?_&^yK1F>k*wUp zGc^*C#j&+Bkwb|gSZ&%zLVp>1!UO@OQ^x{=HI`K8F-^I-2kdl4jD`$1Nh$Z^4-OB> zBY92hv)hfM@7MLp_K%`sF0`sGv@^TxukXq(536xFE}1nsVTI?daQC zG&w3>OeSRX^Lo)RCsnr#Hyhm2lC&zkp~rl9{Yq$3)OS)$BAIASeGjdv{`oo&=JS1K zOO5Ng9rEK#9>$|VBNg;gYocw`xKl9?(RTg@~&2slFD z7g)c&Jf9xZ8>n6dv$O|H>fmsx5I?f~G3`lh+erB+ZUJN5*(9m3Pzc7LUJO>uZ^U|Y zy*WLqnjPj$0j%ixEFCL@L-#Pv-FO6OC+ntGSIs(F0}D7vUh)zHqumeSkVxf_r-1jI zjobs>cg1?R$m)JTI}X#sf=6mA+)DT=+*rkFr3s0tnwT9Uhw?jfLyL=>KJKFT9Ol*) z1v*4rzh`7kmCI!w-LYqIpTFMZS)33!tPXweDK3T8P)EzP{h~}a2oKj;w=~|x8VSkH z9iE8aZf4Q=n$Zz~?fzBce78#{Mvo@`x^;pUEdNw{%BhcPDELJfv*==(6^rsrOke)~ zLK0_b$7SHjTzc28z265_NlS+xBQS`ESCxSBt8r%b^!KaGZNsac?L*v%vVBmoc8R=g z<3g4QkjN{-2Y7a$rGj&()PC*9Yy2Ct=6OHe!Y6=JbxYzF^@mVjbaVj*SGhAFnZ_Bo zlDhwH;Pb0~pDy!{l7G5OP)G_qXR_z}YZn9YKuIEV1;o%$8L}alK2g1X&iHyC`mA%^ zJ?@j5VG5KUq(2nt&qOM~yL=fx1LX)V>0ISutX@_D&-z5A5B9-XtkhAwmmGU8fsiN@}&>~nn-_!5y49PEG z4pIUQbDVw&b)Lnz^SBz!^d{>?oQrkMH>}`zt0wwZXg_=2_9f|q)@blFsA{kWKG>0G zadAz_@8LpqE z8SoO5;UatKxs@FPt@W1leTlz{5iWi7WW0&R@tJ4eqa#qt?DXZs&Hg1vjsZ2evwh8*C zIcp^2aER>lY|)eVE;DvG%5}m-d#)zh!yd^3!{i&o7oL?(q-`AtC|wT}w$0~qdJk|b z(Ex_E=%{`)zP}Xs(SKi~{H@z_O&ieCx84f6l~f&q*-3{Rw{(Nf&&K3-{lm5r;{x3k zz40V{*I`>;WwtJuc!r z3bd7^OdrPK43{V{o`_|k6%_PIYu;X{0w?8J*?01fy>lnDt@56b2~Xisa*vyqEp>d( z7CTn)knW%+%lDupd6zqqV5orK!Q#vP(B3`{qH)mlu;^%l-VzS2DeEJkT$I-CSlM8j z+!t>Gvvb(m5D-A21x4-VoX?Xw4u_iy1^lnY+VSZ+_7+*4mN~CvGaM*q_tmqWqiBd?y*IEhjN4d zu-mnu#+D}G(;Che*<;d;F9-HFVn!a&{ZPRV{%j{DGdYCu%r@9sysnfz8AD?%nd?js zg7pO=Lr|g|E>lhR(cZ4|kLS_I*@m3t5W{L@-8D$FGUC;_SVZ6IiIi+n5UzJbW_V!7kl4L>JOz_jJ z^N2M}$AC1aWY*6XmllO@3>|YH*yE-vlL~@-IEtMFOB^iLUk8vInVLmhy9c|`ubnLl zCs0s%2CkBK%n6GlJ+0wIpB3yC=OElEW&0Q|)9kZeHs`FWj{$!|whYj$VW3RxK>w8l zmYebS)x+N!*3T1P1hsvzF3HXe&@=RNwf`D1adYn^4bzc1^dWP^7sj6IkXM&GJF`AN zYgw-SuU^dwQ_4ed?)DJBCVacK9H!KRraIB8Q^C${Tb!4xhQpOR{ds}&dPI(mSBnm! zcjQ?C`>56+Aowtj**K~#>c9~^El}@`F;1C!3aXtna+~6S4~P{Cf=5nu(5o#AnHfnu zouG^Cp&#ENxV4;CtP}2$o>+Xt(rNENOW=MtKmCTumr9J;(OzGj+a-4#=Z2VsB2j*H z_aQm=n#fesCOV&;6IEQAaEInso$rR=FcXjK_0z}A^mJOg7|~)&(?m+cpW7tK#CE-R z(McTJ*`B)|DOB`DHLS1u4!LdR-M`#`&|XOSw@UNWlKcA7W`XhEV%+H+2^2ScA% zNL*)2Ed*|cbcc$IlQwEO6&v;NF9nFbyWK*_7lkXfkLfjutA}*ieFfEYXBW!5*`@Mc@%b=ZEzO4-%XqgPS`NOC-QxKsI=SpMT@qS`#43Micm08W{VNSL z@1ED*+zZA_v2q%JDYn}Cb}VTxjm~NnCuy^a?%8TV5hps!4Y}Z=hBKL(X41wk=#!rO(<3=~(|8Ea7L@)Xw@eW0L)vSO@7deIQ6^y} zh|r1bsx!FlnqVr`PR6c!sALEHt8gjc+u`8cP1B*gMmz}JFVF}xJ3FcjSUPS-TEo8r zbwa|d3(n!@ftENYf~WeiFlSEaqYjip3?N%|TTT!hf1aH<)AaZFQrCrR#6F^Fwd-kl3V%X;rr9Kt&&5nA`%cqQ z#(eG8nJ3sYCp-plFFbK{7tiA=^YkkR-&yo5(%cD&;yvn;!STvus*#&sC7!mp>h&zJ z8@&gqx0u!WmRWRMf=8Gzsvu`Zc1IYOn}CgjIrbnuGQw2LT@kj{QS3BrD{T>5Z*Bu3 zx)ytG{M=KwAF(+Ua0aL;Ax}b8nYGc`y8B&qvB;wP2p+XMd{TU;4P&Uw2{{nIQ1_df zTinB_oLRt!g}$GrNRh8B)XBotyF}Eh?dj;68HqBC>ZSJ4SZ6gP#pDk;%lX|=;@+3t zDO%b3Ba{dX9w$L6*kM7kjTR!D@&6d#7OOgrMctJdzY+*Xa_!bub9TVI zo$QK_ncrz-gUl$+*mND~vgr!UeOv`s;P-`t zgcRYFZVWp|ROgS*i4y%?G!ymVctnx(_pk9?JL8;bHzoFW@~oLZ?8wKbDBTJA=rAk4 z&szGDTaD~Twr`k=5nijbf$YY+=%bL@k(w{j2|;>^#>A6zvJIr_LpeH;eE zo(p#05F5qZ_o_6v7YZeubtP&kwbZCGA5@=8JM$<8+7;su(3Rt@Ui@&p+gX(%79%*% zPBCbBp4Rnd-6|BmfO(y!fyn*jX4)8U=bO1;dswIHo)FJr{GfRFU(vH#WTE4i9S% zOu6rHO2#=fPdNv&0zKgM)P7}lTEngPEO|@oS+w2~r3d*qhU;I%hRoIXE%TQ`WM z&v8Q=7MttFl-RyRVigwJGv#WXwQ;91zvPfRR6b3jaw0VHWhZA^`WVYrwUw_PPru#A z4gzIWsR+20+;9VCa($~~ZX+IDHwjK4QD7nOr6$o}MEOJ##*JpLuziOn*{}#!ULW$~ z(^HxKE1pi*8|VI))@E3m_%Fn#7qcL*#l+WOfa{4XcI< zj9y*~dqpx2$KAUatE2PEE{N9zxu$xMjq9R(W z)4xk#OeRapXkogjoo{8JOM%tct#mebD#$wi z*zn{ZbJfIPJikAyA+^RAox7GT#;!B-b{HtT59Z*pzpX9V~mc zwS|sTa#`>7*x)_=C$>p(_de(UQZGiHf*!tM@Bu12u1!RTUoR75O%|SFakw&&n42R8$oaIho1kVfML3d7k0$kbCWV`0;+P=xryJOxFt$Nl_Z@h z^?sui4J=;PL^@}7kkgotVY`!uHux?r;qf8ADp-OoKU;1(c0pLZXfRkM4Z~_K=8l=2 zj*ak~+)DMQofpfy)~+lFGMr=>%^WboDFvZ{TW5)S5O0=Z&k-M4Le?*tGscb2)VcLA z-gx@Rfh=y5Ph8`HAq~-E7d8vTkR`^fi0QAb9AbuYpMJdVFvdK3v?TqE`lRneEQ|?3 z8^M8Je|Cq{4w*M{F2_<_D_9&y9jv|h<*jqm+-BK(BFEnTx1Q@tBuNK$jUfRyrm^F=yL)In^9nFLw z>@U-T3^RVtbW#J{%`zU~+UcEb6?t{vuOeagg5Q(W{v8#{SBSCK(EpNY)AD3yF@g6@ zCn?-4k|e>&V`NQ$c}moGu#*+X&?$-DKT0u`S@Q>ls>5hjh)Kq?E!>0a@^hk-?3*L&O$660$tzYH==2|IMePt z?>7YzWl%Um{VuVd#oI88vE$q*5k9b)UE{8Y1e*(6dZ4~YziDwXv z{KL>QIX(Z~V21A2!!b)7$V(om~tsg^)Y zJLViq>ipw)S69B~tZ1*i+bHbiC`|t=39I$e(oolItCR$xiN1#`c96u;MaSC}$nXue z75?hhl{<3lT=HZNEAL5qFU3ax?m?LageNduz64|U#xL8OB`^}N8Ysl`QQ9|4iJWo1 zUx{0E{{!OI=Uq%k|HU*l96V>XIBfwO|JMWJPz3zH65@*9U25wKJ{&W>_iW$ zC7_3oFUPEiRSh8++AaG6>=_x1aY<$|m^u*7!C6{A&&w)L+q3*#?(?m0NmR&pPcz;xGd*Ehfu_jaoE#jEC_ zFUD0YLU-Bdv~H8nLD)A?w|cuNu;S0CdiboZdQv8}LW3f%kL5lL7iL(1Hoac-!&p)7 zm1rzY0Ac(e@a3`^ZB1U~WrBXUCfzd<$>QCy@p0wBa6B>AM|^=|ZXNhDqY!v~eKJ;` z)6MLUh0nZO8hX@Q8fHBIkc6EOdN@pSMa?_c4|jjr>;38Kf~R>VD(4-zWcO8q`KomhC-H)?RkqKx<6>ho&=G4vTNPU&8Yb$ zzQJ0FPEE4V(oxDw4ZtiI&aYh$WSH^_TTlZ1evw>Mqj>l#`RdmyIPCS`i%tHPA$J5e zl%wxD88a>LaiJ0Hp!(1{M(`}G|5SO2bM=%Mo5DaCn3%XyFTPIH=lkaT!A|Uz2op%+0}i%(1Gq_*zbH@CJU-M$}l3aNtsUL zF7T=PKsXA>HVu7_ z-)z$WhXu~49v+X!eYqN#p1i!^_5C0Y%sT3vU1bovBgZk|bVnL5!S zpKZ*Z^0ws&Vo1=D0dDBT(ZS=zh2LB(rw$$qR(yRlCWGM5|I`oS4{DPN(0^*dFAQc; zY4PoRe6STPpDaq0?szwxPry^AB>(Qa@Az_eAg%W4QtT&Kj!?SOW?N5F7FAZPpYYbQ z4;G%}5tTFOe;7-uky(UI^C-@7)+Uy}djcuq8-mchwPjw@h>~B~3`=X8`&5LqVwf+T z?0BWyRh4>ELg%OKiBkiflyt^DbS6FG{fSsHv5T4#!8^ngX9mih1v zeD30_rt0|FjqU6Et^*?4mz_2I3WgYyw%JgbDwoU(Bd1i3&K%J!zSAX?tkc~*WGbo+~|T; z1?+5Z*}-q}xQ9kxl9+GV%;_SAKJPu>(bcH|C0XhB!(d2wu>ieT*mi?OpNeomr_nd* znuo@k%?#&<{FXeF-%f2=s;0^vHD@lW%5v&IeK4M;zFisd;JkPCTd}ed4#oEdy;t5(F{sy2h2hvd-w{(-o zJ^WJSi`F{!3okZnZSqqv-+c!!eJ}PN7i81}a|u@u+p)msX#d1({+xr+7au&krykP* zQWpMtm)=%0~e zqsQUP-ZG;>O-&<}hg=?hg}jR&@s7kz*}_RcAqD3XJ8xK`D_jrVCYB;4SKGkrK@~3r z1y16gU}q_2Nhs@wuFuZCF5N$jT@eZsS5eK`ytnh(7Wx9hR!XJQ(l(6r)h{i;$r~M+dfye*;zQjS!w`YsN#q(0ASjmz^1mt&5R<3=s7yuF;kY4 zHYVGbXgbq7JMXW~=OIQ^+40pJ$YrNOKs^&TQX4ak^lew4GI&nxh4+Xv3@6!@RAqjy zcF!E;_gX>DCMj2s*S(LL?ML}#iEFD7k&_^uRova#cKFzJKg*@yViV~FFT;gnI#O^r z2$Xb@0d+TdcYQcda9Ofqo1S^7^j+im1&`PpkcA)kDi9lC+e_odoO>R|_?SE}lABSj zb7V%hm8=q9)4=)%k4ExtgEw&NM3FyT{N!j{ca_n5{CwW?^5&_;4fw|M-s7E;wpLal zLg&S&o_CJaU8(dRuHmAH9+9w^)ue13d+w4tyToJd+7ZP&9E&yfi)t;K6a=L;$>~!T zb@67qkN!OC{T8{ZAcb}>^+jH^og(31OgGt73T}@rv2~j)g~E4j?Zxm6<&tZj%F<%+ zM%)$1iyQM~cjdI9E&Nac2v5*}!TacbQ5pR&W7neKe=v5R_U1nW|4XKQ@cjp$zM{24 z-!xUWkeJjIXRSNhvX8defbQOfK7H{ScxjGLags_wyrk+nyuIhe+EYN5nEf=bec`-w zWQe+UpZqqbPEVz4Fsf=__$`3+3yS5+C`D@W7nZAt5?W)eLXWyue$PaDiyJ{IsD!e% z&-X>=fY4WH(`=RJl(m*^fvzx8+>+0v3d0xwwur%J)H&jFcY;IA2vvUv0TE86_h$To z>Qnp@R8q(P!!vofsuIoJ{g-#^`{;h1i%3$XHQp$NaFxH#+ZO>Z@@{KfM6EYdXu0-1 zXfUbFA09cYT7{9|-=YTu6e2*-^p9)3pgNC+#a6>H+u0!-f*&8JJA$>ZN+2q*DNAq5 zyalbaCTTJhf%f;ZL zYmQ?H`&>o4T)LmUCq=8CT3k0W8=XyYO5=nWuYMY!?9RT{KGA&NC+q%~-<8tCH6weu z&=5yUQ$@sO!!=&_p1ma28Sk^keN0tHckq>p9wworlBB`C$jH#keS4u|*rf~!D0={h z3aIYUQEf+bb-&NVbOjXl$4>15ZAJ49IRgJnUzyUQwaFS^o5X3ktkvRd%^30A-W<1z z-hT4f^}cCre$U6@MXlZ-cj}7_rpf@4+*+lpUNuW7N4d`%?F++7McRkFpHO4#=_d4- z>0SjOh5w(Y`|pNU^TUY*>9ARab5VPR+-(!~QH8a%+~!Tb85 z7{hlf7XI%wP=wC^`>y_PTmeY?|N8m=-Tb%*gdX?t%x7;;*AAn=V5qnx4PXJr>EEq=en8|4|FXd8ProW44d+$#c`}CyW~$4S#l$Om zu2;`~lk4Rx3IL2BbG*9$`%fQ>idN{3Hw+1j{-u=I06LO0+;TG;uCrN-qiToB{Mh3M zTe^#PvtCHN0rAW_;Wu3#^nA#IkK1>WOAzU~QGEw_(FH$vZh;s6PZq#mKIK0?@l)wr ztz==he;IVY48XNN*>RoJAwa<2e^r_)fbHdXTMy5KKZv>mPch=7W9#@A#jG_TE%oS{ zf2*ub@-~ly6iK-ckRJxSaoL_CklP4$cmvI{z%?C12wB=B?)Q7yaV_=xMcNzrT z;iF!y2fp&2X2*WOIJXw7ESG`e=9W9BaDz#_mPqG6E6WRVjmc5F?#{`!0Id-e%lQb! zoCC1Wphq~0NjD-cb0ICB+>qd7QB-#s$SMyv*N>(Ntzhe^`%8l%+R=n;9 zXnNWeiQ)&1K%`R>xs!js-j#iks*+*E*a8sq$~g-_nvQB}n`Hf9javAL_Tu@CmRM9Rrlgwi|BYD`RKPJKlFteUp4yO0Q#V!jAdHWX57VVTil#V1 z;6RdVeRvkrak;Jl#k!^nB2)T=K!r3{S66%2eYBSozH);50O3^b{OA_T0A;bsxad12 zeQ*78wDj8i_4YjM9SZp@b#~$b1Td}xG25SsjuvozCipitfG?w(&hB^dL0zZ^_~gl> z|C)6Fl#HVON5lbmfKq9hm+`;OFsr{?IROI7+^Ffu7sZj88J&ZD)z*IJu5z{Q?d>YS zlOWsxZKY)DjY_ri2Fy3Z+H(hlEzFx`Xk>UJo>!at$V}SsEtf<1%_ZDv$|5i7#l!sp z04Yz(&|ALJ3=kW0Q5mm+IOLY0haE=B%J{P`)8MGH+mF8f_aL@gXc(yd;MOCV->w=W zPgzj=fvkRn)32ZE>TlMKdkw&X{1S_h`IG6zI0{w?WOW`~t=I{iOcg#f}B%@X+D#cR;NY5Hwg3Mn~=z8wA`|@cC8ceSrel3{ASUJl>s6?qNAw(1*`GTXZDO9IFl_i zbld*gNvIP4{rc|u8O!lqLV{|cnp9B|H_Q2>5&hq2^o9&VY z7$-;UDMGaJzceKnOMc&!P>u@9=6_g9z@#>CvORrOfXc4tw3*?Z*O%+80Z*?1{+feI zGN6#^gMx;UdCnS!5nFGECnu$X$Q&e}Ha02aVFp&{v$b4ubVYD^ zkONB%Fv*MNMqGg@Eo0i7sA#7%0+fLxy8gPsGeQW!il3o2ZwAGr@L%U=?%!%1{RQ;;1QqmzT__)dV6i)#?@m93ii067{%+qLs@K@=Y5(TfJZTf&1e9(Wt#u(=#> z&4}6VQCq-9D+5 zByj8Sgile%ua2-IHGifRm_aNy{R-DZ2&~Za;kKLEFALc}p(~ts4Nq74=}o^3ix3KI z!M@0U@Qzg8ptEDeY4CVcFiUgXRcV(0?OL!5t}}8g2i50R#pqhJ;*>Q0X8Fm5IobIs zaFP5&WDN9cyA;Tk{#~noM}%m#NTd8ijqN;Z-$@COG5V<^oHTE)Vy+fEEe;g?G3khj za${80*eqP!hUu6K#PC=nW+Ky7M1rvrw-8 zW}|x=^7SXd>e0zS?uGhrwCberQP3YFvgxnG(+hHYx;&*R`dr2MmYu@Id zKD~I+#LCi?cqo4gxBDc|P&YrR`7@Up`?kAGJVgEbGKHgy2^!ks=P#6v@j!8l{XYh;bs)(`|2mn56uNe`+D3*9Q zyX&2R$_XyTpyu@eNaO1Oh*W<1S@v&IzkD^&{FD-hFE$9ZJnfkXSe*kjRfeG^pt*6~%4c`chhy;Ez5e6b!0`_c4;y+)Q6;WGIbmaJRcr%Y1z$1QzdU}^bs*IFvxKtJagIbvKN$XbaLlD+|V4ER14B|RLYEyRm-MS!gBOzH1Dd4 zhrY-QoZ>^geo8!wXFwokY8SMW+Bkn)it4!;{aVZXU0)BVWe`9(Ztg$!d@G<*_@q%5{to_?* zT3nI1_t+HJmT7baXo(2}Pa=h0vE0S~qtQ+8WmfpAPr(!?TaL*0w5n2|wKu1_*ygOL>%Q7N%PL>z=TW+n%IZ;Ob-;M^d2rvtb!|X2Drc3m3YYaSW0VxyMK2Tx_4^Uvx^q1~$w>I*NAj;nt!*G0?RQ5l z^0ihdDwUd$S>tKnNvR`TFagM$UcTsAa0Avpln?yDJ7C9Id@o#V_A~&5N)+${>fJnK zGqUMus}k;!nJe#eJ{;Ti4%!C-5ciVb`Rjf&dq1hX|x>o(eM(jIcy!1nTbQive*!Mp8W zcVrhJf$wihxQHqqPiWj$^6<=z4B#qGe1klDv@Z{V@B_2E2VSVtsUZ~zEOeJ|h+jHy zs5BtbAm%?lHQyNREQYe>uJj}fuMK9c12s6!f)U&LO{w>Bq0?q@?bJ^VJd_-jF;GEZ+Ht~pzDC?oaMKzC|cJj$89Y6M6GWpTY#44x{50T(j zAHv+eCwfLs_;|#nO;e@)ENt-{n`Ob4NRZ8WkW$Y*+~dTpIwvZt&|<5OT`aQq$JSQv zw(cx#Ud#dD^-`w83KDNwx=nHu@lmeJFmvvKvojdZvBHg0Od?A!Lo83zhQ?H#z<=|o z4l?bsvFN?Wx)a3iBh3ASgB1UC+-e+areuyel5r6U>}xjpN9*0GpFw1%;_@P$Vidu&B#r=?$r@k&m{``c6w4(MW^M&dYLCH z|J<5wY9p=XzmC0HnI33!XAX}fmR>+OYT$w=VF8^2Jo{fP3sMc*pWYEmdat+PeO>=m zgG|_vIy@e6m1E=K$09Kyw6x!BEYY#qqv+|`S0?N{yd>|c$QF4OwOfQiKK(s-vNRJ*nQrJ*l_X!`)wyKG8%dc4_kc94*B9$v z7M10XY)@G7EzBA(y3(&1r=OhI%_6b0da;noJ&RmJWSI>MOMg#F*SUp z9L|b}agReR&mZzXz1X8mjzRZ=yN4|=J*HQS%$8*$G4JwIs@Gz4@z)@+Nm4&+YTJ!e znpan%fy9|GI|c?%5gJ@g-0(7fl0Q4N!Pt#>=4d++ z$iZ*k<70cgDv)-3`h@Z|{iWX%Wu2g%c|nQUo3^F!d5GZU1GSbQV0MumhHSsTUmI4q z-7^2pSOa0kx|=#WSF89Y+PbWlsU-$!-s`G9WJ~W(5ek#e84zlc9uipcg7WKLDtX-; zS5shIe8Y51PAJak>Xc}aXah5yM{HV=w%*C@EA_XX?v?XK9v?s;&s%CEsW-gO?Kc)d zeu0tM$;tR%TqSlccK5O@vJcN*E}h#RaEoc$Yb$&0_FTs9HNFTNUWc!Y_su8KUfsOj zIHylk)*&cfLnb2I<&7f{H$fXL*Wod%shgJ6t=;m#>2d`Qa*z0RUu5~4Grr%e#KZH= z(qXP~9U56=DS$zUN={Dp^wB3HCnrAw5+-g})B&wQ6a@K!f6np87l@-_`8)|quMzz2 z8PCJMqxf1FE!f4IFMkQ>Sx6gqM&!_^dk(n^jG_XPii?ZAlZ_%QhI0pjqE|2eoPY^y z|GyuI{Sv-@ezbZdP#tKhQ_VN6-5wF}Q`b@Lumt3At}y>f2P9RKl) z>04~D_W*y^j~?V@jT~R47GVZQ)mh0(Rhgr54Q!xgRM~W})@&q7_g?LE@bHKxr_~yt z*3Rxu4E(d{lxOlqJ&EnN#*1$OoDi|*OPK0dT&X-S-5MNL7aXtO;7@HSU0HI;Jt}K= z-;_hQ%JfdC9BkI$gZra>cEkB3X*0eE?;lR~?##~|64WJ%d2~eZBN=phH>c{7wMyVD zUxPxdppCI4atx0poP=xQP1!c?Ya(D=*ds3XH2WkDd)-dMQv};1`(-;NkHc*0s=`U+ zD?3+iFSQe`!CTD>R%u+PdZYLS;kKViSE~{J#u>LqkDZQdQ_MZ<(x_e@PgS(7yaRh! zc=d2@V1rs2x)=@;X(fys`m3Wr2iUcRLG zZ%>)`GnJEtjy5;#wl*`cYiC8ak@e}R=h7v)xi35JJ<`g(T&^53aP+>U6BH^j!(vGv z+*qFC&5BYh?d_MZfuq6QWLZ>g=awm}&9;GbilCiLCbz*MXVt^j>)I9p5KrU^vs=Q4 z0N8N61XU(>&E;V!;%uAzKTQJ>KxqLrr9)KtY?twc&G^JB zx8A%=_3lFxgSCzI%u$}I0TQzcaZ4+k&z2Gu#kj0_Olpr$ypHp$M~=(-_uBnIIrf{g z^>I5|_5qD0mva_+N8sekoz^pkkws|ju5r?6J#Bd<{4pqPeKn)dcz$#AW&A-S%}oi@ z)hwQMJE7|R zJ2tyl{3-J-ci8nrW_#5d3_>m>GfO1K$|Tv4sYGw}1Xnzh`Ilr!`Xb#vtr@JODh4ZN;F)vKX>Y5#eAG^xTwjw{>%g9A7k@fzky(u0B(Xp7FUQrsZ!Fz|Rz~U~way3@wry zmS$Xeo0vH%H&+Y6Zq2(V$16mo!l%}^G zzj(N@66u+1d+j{H%x08%vrtim9wpvI&z(x`HY zx5~VKG3qX1D%Eu67Ri^v63T5K52@~RIjiK<(3ZDyq{L-16RCKf%7MD4icw6a--^}@Ez~+%2L#dXAu^@_Z^v< z+c)|LTy}GMycyq(cA1xg-~VX>|ADoI>vnkjEaP5 z>DEt5&hoE^az>oA^k7N~*^~-J*7Kjp10FoT!+#+&In&Ov7+Eh-loeXS_Lx5(OkN9C zD*><1k?({1`mvd{C;Z|}pBCrrR^D1V1w-20_ZQEi*IC>LX*$&pk@tN*-9De` zk4hFpcC2vne=pt}o&5@TquHKKyrCF5Iw{%Jx)30Youu4-q>bScl)it^n|dZX))F3$PS&l&l5QEmRm?ap3LvEUv&ig-1|8(yZ588NWYyrj)hA@>zB(HCH%jehj^<$ z?3J0+iax9Bxr;qKP1u6cEJBqctD`U9#Ny8}Ab@+ooTQg#@z8XAD&F55$!^^?x5IGk z&6Ir^Dnq9oCAHYkdTDIBU1fT{mA@od?n}n?x@F0@Y_&kd*Qcp|tMc0ZWl{;YuYTO- zV&r36qW2Y}>=y1;mwm3ahd2WD1nLmjm{85Cal>Uhb8sWK>rs5mS7=}Pp1$4>@PhD9 z#C0x9%NyJC&frNJU4SH$x?T0gRqy^)hIh|4^X)y?qXlx^=6T7b74-sG`=#34UcOHEve2gNHj&dU{6(AwCIo0hF|(j@iTp(ZeF=>s8` zBST+$wC?vlftL6?boKg6W1Nc9JpIe$!r8h{Y{r{RB_8Qn#~a%(5=+nT?MQ8w8fL_g zJ9Fu@oN?;C5lLpX`%bcZ$R6$*4+?UPk8+y>8O(-EI)%3IPKhwNE3!92VwSg?w=@_v zWR9XI?8$UE=RI~s8;n$4pj|sMMCrOQyXjm!2-n53)(SlepW%bhd>68=9sX_Dg`CZ@ z(r~7#%8kwXQ|%yY{#N+V0M+{WfGjO3iOy}Tou@-rBYeqTaYBu+6q8Jn3t71I&ooJV zm}^b$QzG8gwm7I590GW*J)!U~IcMYWOp?iZ|IX3)oAGZFn=3?%;B*3J$+RiSVgyuF zf|5Hd64pZz6hGOK`P`?UDq0tP!yWnDy@-QtpH(oSYL%!VuVyIukj|9Jh-lH;$CB&J zrY91Am9y)Ri{awIwws5bZq-w^lfpD_uIkhre$&`;`6fi@^eJ^HmUhL;sElpanOV8O zn?;yeksZ{1>5xVM&i-_gB{S6(Yk1%NdQsJBmDd(6LvK~$%JDYx2lk z=Z|GY<0UK~R#w4dHHl!{Y>WIDTCs@+I$mq7a&7~N76!&!pm?#3H` zO;8BYJA5YL-bISxPWKFW=br8%%GUDB1d;RY_;WU48ZOy4BdC?868|=?22-`kIyvL! zvHh%Af8ArL^gPPNQ8?Kf7kEAIAi>nNCMIXvf z%ucJSGzO>GuX;WiJMt+)w|TJ<==q%}W5qI)lu>k&%b*|#rqoPxH^RQbeC9TiK}h3b zr2o0zICe)QewBi02&B0>U&I6Sp41!lboGBf+wT4AvrV>1O0mjfh&DPWYm*n)B4r;$ zfe>fvVE`?4Z-W3|&+Wu}G@_}1L*bUH@`u~P|GoTp@>fJnBH=bey_N#HuMQgY*j&JU-$8TNYVa98C&DQm0zI1Po*gT1W= zN=0jx-Rnwx=dae3cpeCrj2?ETTC~BR)Dr|+E1u*F22m-@cXkxZsiz6dh!rVCUgc`Q zxa~%YF3f5=yAm~7kZ3&`IeoEVDY_xp-xzOVL*>>1N@tKq1m$;$n;T{oCa?HH*~(dB z9^dkvAGjLGt9|8@*}9MDC#f4=&AQ5cn$8LLus6=+u{S(rUzErB{_v67Cf%%sv+6pE zatkvyz}1U?eg~=ZCQ}tPdu*;yskUZ=vJ(w{PNT%C?-v}@0s9gM43WIMc8?FTW?y(T z)x({P$>If0O!79pfi-*HCJ3|X`^DCVC_g>AE#+Ih(zyu`_5_>7jaZgRhpM%iMb-ro z!?WR&B$0NK z;(Rm8!lPE8%1N)DW2@p-^P>UU&Y81r({}*@gC1nl#oPj-@??FM2!wg>g(Av|r2Q4^ zFckFB7Bbk9wQGFC8Zot77omNAPk7PlyUa&Os;BDVnO`MnY!b{c%Ib^$yNUAvU44UF zWtmW*^(l@0$`CtAZ0*wZym^O3hB_oGBy}3q#R;7fy}Lx=#@>6u9_-fDcOhDB%dvb` zHgoXhZl#OEzQmAueo(+iZjyI0^6I!LSG|VmFU-(iPFlw;WL{kt_PTu`x|DM*KR+3| z?p1EZcc-OjsW)_R(_vTia*(Nf1}R;lpgkNTKJ>^og8|3h|F-W0{mtuqyi?GxwWN+b z<@ozdMkRJ_CDso|&9Y1(^HXZjp_lk5O`-6U8wTYAkb--mE?m_xu#zCwCunF8vP-p8=t_jLweJ!fKrLh=uaB)U)P6; z9!s`SVz1S62>cQ=4T>~dNYfjitxbkpH+xQ9b0<8ji(_IL^1Q-V_Fk|F>*5Rt(FIu5 zCiP^o0(_kv3mY;-C}<}x3P*Qg#b@IwmLtBg6d>M%CAI}Zy*xeB7jhCxd$Dul2Qr4w zd$AAdqe!c0ZSG!v zL1p)fFbQH(D)46+g4YZ_NDbLuhCTxpb0U9IlkgBN=TxgS4xh+6){wsw_ zNZ#9Zk`IO4_(86fg2%qn;1DU8BBL(&6)y%U_SdfRmI-a=_Y?# zS|p{Dp*qbzx~XGS19EfNUPO1|L8~RDKSrFhxU*Zd9SdqSST~B$aNhrPCK78e{mT=6 z+tUVY+sfBW$vU!Rjw-4~*48TB3_6;_K$kx{RTJ;ukQAvUWJEe6&oow2%3{%NFX?WJ zI4ttM#x-~IfG>JBnbq4;E6p>ZuzoM2wWJ22^YDkfFvQY(&3M2?#jI;pUQO@vxys=` z{QAH+E>T_h!#bcFS?E?Xc0Q`yUL)+8Q2&FmKk871%9_E!lAY2ZE|7fqzjviRyyWo{ zr|*9{^*9pqSDB8NjE;O?exs}79f^oNm^LYPXBaGKr1KAG)rqE@`S?eVL~;2A4s`0dpG+$9;s@CX*NmYd$usQLBvjSk|q5pOM^%u;ZfZ?Rq`P)jwGKH6Arh z2ZYzf8EeVw{OSPc9C#hdM!bLfNGMxsVPjA*!-_HWrO7wgPYc2EqFk2z*+b3oL(RGQ zbA?T0Ygk@7Ovs`udow~AVKutLF{Dxuya==ic1;Sc+zK6Q2`M$4lpiXwZa!JpiksaC zzNgf)b@-^g^HEgMJtdEg>P5ctCuZT3TRPWS2YF(HcW**^dV@z5t5IRSNDb1I@om}% z4AGcPFabAyS6tJ%sW(brGNECTdZV*OVNY*LI%r09v+`Z%26;xh({l&*1jo>oq!PU! z(9V&D>5+>sB3(s+$?taV^0oZfM7m{t8efX&>}&Om;G?AhRjk?F zq*n9TEt@UUCSM7Pcr|T+SiXqXrRBpM#pq*QQ_YN|$gCc_a&X*M^;_GA_!svLkrGM|ZQ zF5%Gff*UmL0(wIi2cE1})G?>9&VcD#zGi>{G?y!{LE(2diB;~O8|M^ZZInh&7E;40 z_&sFa1dDB5ic3OU)g$k{G;}`50$_yy=EAyr^^<(!$bgLEK*8Asa5z*6DBM-8y*X?A~g%vIMEYrmALI?z?bp;W9*5`r_HKl1BC3Kx-4akjo< z0j7*f4|zJ?G_cCU$R7My8;ZSmoa|ur$g)ov;=Q8#BNRbYbxNU{su%S$d~#jVsgR)i z;B&UWLw(A?rYYjv{gJ|R+q4>X#*LSa>ua{7kheAAhqI8nN4|=at)Y)KxA$TWW=TkX zRnH}qyvp1*+f?fj2?5tGEx3d$WV~bN&@ZqV(8G0&F_enbX6T&+wpW7A{rv@v=z@?N zG9)XkMn(}#0ZZ=RVo)Wo8jKybBQ{M=hgUQQV3f515gwy69+u!fp2p6UJq(&PoUM7< zD`$%U<|vz}mgpeoM{ z(7ovM!Jv4l4&k?2%IvwaQ-yp}qO7x=DLR2%GLwHVWSg9#{N{uC z8vkb>j9ocEO!%Z%2E{fq4Y~vC6soS^<1WFya*~3;9$VA4M=$&vUxQum>cB0xdCcNo2T0@8YthTU;c#vTmWqLw>K%{l$BD3*s&p23nM=i;M=}uFq zf~YOEqTs2zV<vE9e01JZM;q3WTlnJE%qi+ZHk@EE?smx zHRnBRkiVcDf{HjbNDm$mPX!{`Y^Hb~v5>mSy$uCLS2xrv*<3VBKY~k47rC-z#+Nr* zR#`X>Xpw7ZNYS}9`fU4kvQG8fw)KX@2Oy;fD!OO)9QyrKZL8tBCrF0QhB))>>Serw zWJ#oNyoLMv4?&W(TYb}LSKX+~lbX>MG4-X7+tLSOBRAZEti_+o9q6N>(N)rPtsNSQ zWGx^&y%s<*{&UG>G#X8GLSklLxs#Tv*@%867W68pB%`BJ)@K~WI5NqZQ)q=}KXSa{ zR9$Z-cc?on+~-~Di|-V&HKJvt8~}ycw6x(=?vrXx;^Te2ep$6=7Z-B27Z$~v zO)q5Jx*0&LHo(G=boUjqxd594l<#t!X0w1`(Rz9NT?~X>c(>!B$*-@kk`r`Yt>L;nWS3Rm;(ouBmmZGTYajM$VZ{J8 zC(2}Oq_HqyMgp^bx5MEjwme7Fk^9+ouYzY*mtPI`@$kIN?r**8qjCCs#-y~_>JvXu zAvm(%_|pl?#A~HO&-OKAsXMjE1&GMxKWrE!_A?a>4Q*#U@wX|y6Y#Z+VuqcZakl+E z6RS%R;!o&qhw46I@8*9eOgb5O_03_H$eSWdB6K3gt`0A22DGvdDJigI>uZr7g)h=E zFcRNQE)->HEHqt-5vb5Y*Shf7ZnNoARW{|7zi*F#e(q#)J?S|u-T1*UTG&e)$v=}t9pFCQ6v$T-L?30fjr zZEy2=4-HbBS6$0#QyTtI#bJwQ8jI;zPB@&d_2)z6#F3+FhE`!ZmB?SExLYCJ{5y7* zi>?aM3H}4$a?!6yJ8ZPzCf`mH$7VKPl*Fz0vhNSr_3_|nMp2hC{AK~tL=}_xB|J2A zo3LY_>Cz%?PS&}n{F}XRJ^#;H3P{Ueuc8|vm8dY?WO87p3*O<>S9C?_Hv9(5%hJ15_MKkbtYD2PG z{iGDajfNiRy4r7MBE;s}Q261?ofFzTKJ^#NB`IH#PZqx{7RD=xdUEl&cTpDAK<|)% zs`A86d^=D%cy?grl*9MusxCYzCtgNa@d*1k$hQIfg?7^3HjPzwj}&T4DHTHMLA~+o zM(}2L_!)623DxREl7i)6?9Mh>tsZwg#8nkGAhzIbdpJB)0DehW;183y=fcz9Eh5pl zI^e$h*bccIWWyhe%YbrXF$q=gFFZt^3_8O>s!r~^LS}s~7ZjIuZNaZj zQB0JHV)U(a@pOA_VO|hZdQpo%DulbuNvbs7&pG}%F*V^DLj~Wvh#oUimr!dcRcMsU zY(p@4Yb||>cdB7$*~`LohOlMl&0hL`{4n?%Bvlq4C_Q)qDb$$`x{{hp38kBy>6Z~! zDQ&Q+4DJ_d+BUC1_LfgZ_Hm-0)EUOxzU|NPH2CEeAre#CT+H5t(T}n(DBQJZr^~4O z&Tsx4{eZvD5uOGaeD=3awBu1LD@N~r@AMV#8GC4V-Hfel9L)q9ZW{tMxlR2S{%4Dr z>G6=+J(9r_Zd&AbEtT^YG1eVLMnDXj;M}al_yQe18qT|TlbD54$5FA})Ca30S5B#& z`cd)X#}v=m*=KI;XkM-!mXiv7KsmHu-zD}d+Z|Cs$x^9O$N4<75aQ8LyoM%`_+ zsE~JZQY z`OgpJ@ZLHRfzFB03K(J(n7>0)X|8;iQf?vGwDibYfw@2GM)k5+Y|p9Q+Z$U;J4$tY zKcmkoZ#HJyPs^&qn^t&kxDL!ioKr!dj@jB2*D^74QMOZKrOb3k$>Biak*^m4(mJPQ zgmbF$|EPz)RS_o&Ww>^H?HS{9oo-1YZ>@Z>vFl5el2t=E@|DhBBm ziQgGn2kgkYQ%>XWShwb0u^CtnP)(1$1bVQKiwV%Ns?YlI*?H7luCakfwVwE_dRPe7 zuue;15_r|ZUG*ZCjn^}6e|a{F@{swb`B9O5CP&T662^R7$SG;w@szTgpJ1<_s<6(O zeov$<#__ZCovPv6+_vS)XC*&EhU@jM%aX*Y1RY`qpsOG0NiC%K$C}@dlRW4(OE-`i zLCr>gOEw#j8Qa~a)t;vcHE)G4B;_a)xKXm9PUJJ3ydyqgo}hhs7p;;pUw>8D`8BlT z(f7_3=*_-FKKiT>5?S@q!=U@!h+ukCVuK#u%{|t_7$Zu@o5LqA71Fi(`5Y2Xj_osf zqi*uDrtRpO<#YXMURzP#47GNc?|Tu0CAvZOv4+g#6;@rz8d!=e326yNYOy)*yxA0U zr&+%6%vcNPE(zk-y!VI(EOC!<7DoIqcuT5MHbTGqS(BIV8!K`Aa1vq7%bV( zao=kFE1)>Bi@iv$lAHv_;}g~;->8|9Q-d^kwc*tL&73u_R%LgAv#w;GrNnp(JT_BH zAnGC%ZbUU+N?P}m$}3jm(Df)aO_26mCT>OlWkDqB{BSdyjpF#(H)S#6nq3FxvB5?4 zYV`)El!3C74f9%HkfOm!I()uS7PV9HqPa@e$8<+oBvee{VdU3rFo#X{;kS5{KbMV= z+1=0rD~W9S=X72Hd%`urrRi@Ka_SB0M0X8FTje|7Mh`|TzHYQC?VDI%^EZ(mnoHlR zUMs!3t$D*+l;)P}JG%+LUv}z>vB_mNxxwhiTX~-6*t?C(;!6CXLeuN@gb>zAp~TwU zO^Fx@zbe#o(Yy0S=NK@*_g(M9uweDhg(Rh;*_VCj5%Yx3$Nc5x>~%W^=O?VsnC~0< zZm|)$aIdIcd^NG0+!p)UXjW3qXTTcA+@D2Fy}_-6S$6QP^WJqPzu=dgrfEpf(Of!f zig4{pHiL9cwP7^Ai5V=X%jlP%wG(*FOdn94RKOZ!@SSphB|9a5T^r%$S!W}g+QZz{ zsg%!n82<~g*mRnuvgJUf4pu24of!Izqa)|GQ_OZC8LPYDB;MAb=hiVH$2y~_4&ECd zf-AjbZO6}5A>UveUY+-}JR4UUtq?$FpsFnP`%^8PM{bj-u76}Ku&&RI6NNm8R7%IB zdz!Kx<;hp|J7_|l>M_G+PzLI#fgWEsXRu-a4b)@Kh}IB?X-5$J!WA{bKVX|P!c<;w zhk`Wn?@*3m&Wd^(Jk>>O>RI77iVGF}E0&Xp8yn}`act9AT`yMu6>A?ECQm?^mg#S~ z!fuzcaG>xe!j_ZZ(FwS)P3vUE0y}7mp8j?QrO8~zHu0x0mJ`Uh36Jv(kD-+EbAmRP z8#aloT10Vyg#9v7t!WEWlfLL^yh~k95ZZh{A&Kz<3y2)KpwP>opp`@?Z?&U!xo$kNfy4D?$H zwN^g}tb_SE=)bmZA7L5S95eX*+NsFfQ$6rz+H|{^MN-t6xB^$jw=KN-k^4ZmC%JlA zKIXR>`fBk%&shFjTGOZ3iS5V7k)76M4c*8zT51cn8Xss<09}zCK6~QzNQU0!4$yPf zc`)NuU;2n=9ou$9b$`VwQES$Q_mM(G(W{QM*{(YOWC6U3q5?M_KZ}WL5KRcXkHj}{mg=cG`nM0sE7Ax&gdtf%Tp_@xF?g(S-X`BTYA==ZUnx`YxL_hHq9K zVzm!Nmjyewf5nyfhsfH1XBSy3?bQaC^-n5Xm^*TxM!Bed`eI0Xe0M#M?T9^pTw_~rrYkhge~)I7Rz$r6i@PwBNj~jl+;>4Az}~3e?&LoLMAxm1bv)DWb7wA zsMVxaD)gdv91>eNY_r`HSn)sOe`>%KNV#pw>_dG(#MUObW`*pAIL~cGzyZ1KaUG`H zI#Ep%0`!XQS?AI6=%(r0D%oufpB?L-+WLs7#2wpGjN}UoZY-pA=;V*EHK-hXcrlRN zxstNy30*?J(#m4?GB zYCClu&7RCesCja!?wt!V!8w0d_wxR%?)_V!-OYj*OfuzXYlPLTz_Do0>g#sZugvU2T&?=BLm4CJ+Io>(& z2Hn``i>lzkQ&?NYV|Ip3w7ZAMYLaZ+xR=`-Qc;Yvy~fn~~G{ z$*9{QtZ=G^Sk3;P?eVUaxzL20>^`eQ&hUXzqV!K>mF>flR!-T%UJ?^+At{FLS@#3-c5(!8-dg9hWk9>Tv(^uv_cGdTh=6^Ay9>&emH3 zed)FoZZ>siO`lKlcJ68opvFd)@bkTWOgUU^^(9eSc@AO%;MZXXt-U4% zCGR(R2CZ}OlU$rTxyUvm1f{tm>O-6s8%5h(ctL+zzOB4AM><%V!&yrDnf%7KH%%Wc z^Roc(g8Atfq1XAF!^Db@4wlnj7G|SNw+SZ`XZOyt7t<-=pGn&_75lcjV!iHk&+O#r zx+@0gBMuUFO1)%k3lIc$yN-2j@1V-(&7~;&vgIs$j=e6dx%(#OF2y{{_ViZ^ie+~e zK#$)h<2ag0I=pl!{KDtnqo`fwHgPqtfH_J9pt@cH?gTz)bgONH5_TvtE6u1)Ligfi zc2uk0C}7p<$q{XF2R&dQ3PuLJQC{k7616+=J;&W;!8HBlQCk_h;$EQUin3|!d}u2a zv0~b;exSl#Ae+a0C^8PSr!2La0ZoLQZ=mM7Kf1sunYTJM_%6qJbpxMs$^WL*6n*=% zQuFT!dw$|<{k!6ahi_H}?i}n5F-ah~Vgsq(N=dkUqC`H+Gf@fjINbLL4!TPtr_rvq zqV}p%QRN=T!@J9TcXEn~hRLH51C~kGID?{O==Bl%Rt1(Kfg1fU=q()ijA*KG535kJ za+-0~ijget!bjT*lgiIoVz$gJ4K&(>4jq&4L=rUw-Yr|;QZQL(=)V~0^Wx?j3|!fB z;JnQ}?-AWM_>L0AcM_~UHcuCG5dIjwC^qTY-%Q=hr7-NpUKMnv;Wjka!o&L1`Z?Dj zVB2wUUpY(2AS*Qwj#SheA983B<}h_Mk?*=nIyGGr;TqD-E^u^G|CjIFb6e`4yUzi` z3A0`6?GQ3Rh=PH*x>ew8N5f2%ESBjCOfxg}m~^z`;NqJ^xcZ8p0AE(}fqB|1seqOi zvUK~yT|F2EHuqFmg)ymVDG8@`FG{otUvT}L!{wP}1iq%ugvZ}5m=ps7FC1{u(%iE5nTSASljsDXRr z6r#z5o6dr^!sIR8!)!}^Q;{m?r3a<0z;dMyN)r`FV1vNuJz+W(q zKI9TJc~|-B*)d+7ea*-aDOk>Bu`Rpqm+C_~*G6)IFHboomIxU_d ztIP-S7yq1f|Nk~n{O{uUzetgHbgrh9T4yrM5fLEh(g%eOu9NqG5>2s_Qum5&vc|9# zY=q8>Y2iE`P^=kO$DL1*OloJsb}iA>MoPk)|Cs*wyNCr;pPQ8)zgLw1Y7F<^Rh0jU z*Ygus$V9Ex@R*3p3?1^;m1Osf%~QFAFn%k)(s76QX2im2_+MR)&@8FT%|ie9$8d=? zmkaK-`JF7tBlW+Kn*JwQ@bTz%E)Lr)PY}prpdB2rRcx90&D z?DX>AW65dX!<;v2Hk>`Po`rhh{o48<<@fBF?G|7KT}8AX&~U{{N6a8yj|HCv5|byz15ZlF@xR*Ouca>! zLz8$0^SIxVc=fmcJ5TDrFmM0lK?tk@Eqv1_6zRYHjsL$mkN@{?{K3-j1VG^aXXO4L z@;)@ez5_GlG60by6M#KMGb$#&?r+ZCJ#(7vC0qce2eXja!#d~Htf1jrV#nfW{cWx< z23%K{H$yK0YdMjk@}5WAc@B$RLjW=%qxiw6Nvjv46ZXx!H!oZ2b0BPPjB++zgn;q= zqhHtwo*fQ@jLo^06rYnmgJBF@OyzP4o8SIoQ4C8*<=FjnndQ3RKL(O09|3F}!Do$R z;eR0BUAh1G8Sn*>74GHD{C+KX5qJA<&_b*>{zp8Scp_cL&BN%^_CkTAHl}D?KKEj}DC~1DK_Sp$UG=n) zK>L~cC}5TzJv2Rc$k({txN(Umv#fg6=zkr%mjL|hK%DJ*eFlu;_Und&y~G- z=M}l2qiLHCTI`+Wbh#K@&~mMHe^|j8VV2r5({z3BrJ9cyLg&2977tA`t0ZI*OYk=gsO~?R(@$U{Bc!f ziQ8k}qVaIbx@DHpv>^5Je@IU-XK>Q1x%x2U*k5xF7_*&6d^R61)^6B#lbW0R_2Dk%*HGsZ#@G&m}?Tb4Tsq2sYbaKHG9!6n6ef|6&jGEV6 zK-M5H9eDje@7(|4hcBr>5)fVR3~KiKRY(43*M2Jd19>66YZBktNqVF1tK}>1lKAS? zLD#Z5e1?si~v z%v&QsoJe0Mt1R>efPKRNg3-nPDM&t%4x$NmiPKE~?1sgnadS?6VhRcD2aqZ9XBFuN zQMAA#ejEm`N!z$*YNV`}K|*%-g4(u|V;&rQGa1T;JSa_|vNcT~>I>Oj^4yvaqRFSh z?gXXp$l5MZGxbN!E}3cywzQs(l?{XDcJEF#yK|R-o8EpBxssV?aQ^vA`(O|NZ`lvv z@XA_1(q%Dgj8gEoGV2gMx_NnafBO8Fzu>1r?x9D2?0#KD{+&;~`=89GD*ReDjng)} zvIub3biWy{one5-r&sr+v-NEFv-qk0`Y*V6L$9iXLOg30^dtp}&!Yp8yT2PoIKkr( zy5Of6CIe}#aF@b&q7SCbV{oe33^U=NI=a;s!DTs>xiwAG`Jt9Z-eI}{`;ufuHYMk@ z`VsYo(b<%B+0Z7Us-?KyxYlpQzAw^aLJWJnI7dlOcz-vdU&e7XR%Bawan1{)RFG-;=SjZvwD| zFZAC6>&+aKJBLesy3D6CUjgUx*ZUTa{sc{W^8WoLDg0%v=x8 zD%d1_NgV4J$R$=H<|!gdf@E%qbk~tp<=A5}oL|`Q$ImPY5u@+GeStoS6j;D3DlNU6 za^?f3PXLQ9X_0BC#^7?pjM@W-0DjRmnZRRwr@PuuVj=QW%R=Wn?Q3Z4Hu{nSI-vb% zPV&xEsPY8W_3UAbSv`W|H|aZ33jX)Gux5U0rNI3++%)a0?|b0_2U(34egyx;vke3~ zi-v{Q=qO z;wnG%gb?gBz*_;Lcf$u1yz^YbON1nVPHQttB4l>a!`Garb*V86HaOJ@VBnHAYo79n zOCxWS$?VpO6J}^xVzKlO3KRSa-T6!*CfAi3`_#m^J&@3O+P2Q!tfscsV^M9gdoo@j zB0TzJIPmKW8Ioowz$uJojaKkoKe&h6xknGzI36~Cz4sQY3b-@#QcZWkQ|vBLR8@A3 zYmCu!0hdI*6HI;B^WcQO75j~H&m%i~8TNTw(zTNCa+V3F=zPLqQSVZh!6=ku1n`^$ zy1mRgm1?mLcJmw<`3m!~m0d9$Ml8Kve1(3V4`8s#LXwpsBtyHI2XUOVu$w)^4E<5q zs0wzo9tQZ=unPKw&>AIk6wSmr={vebi79d)zMS5u{lg?;yS)9Reu~4Ey+PO35zj6L zny;U}4Ni$#rtAA%$t(1h?xKEzSzef4 z$k+-S1Q)cdBzP1}M{^?k(tk9;f#Klv`z_IzVrK}r4QIM;Vo0VmNwS7bwluBqeep27 z_Zq7AWaPnH(4hgCXGnBuCeF_g0)EPXvu#zUgt84-1#B|ggUMYrkQS!;FRpR=FxM` zu?ysRn8e=f){w|i>Ftg25|(MFH&zt;fXOgIPh6KF_kA02lUzJ~8`PF89@gI3A+q;1@K#A7zjscfg$opP>+7~hA z`jYn@zy5kp>?0( zwBKCx;r*3Vr$NDe0HoMxs2^+Y-W5i610K-d;z%EB&H6c0YNf?kbJ(>d3`F$3m%*vJ z*=af2rxIQ@C_azf4?Cghk%81io$xh#ewpmnYw$X8R7tdm93R;~v^$##3ICtOd+>JV#++Q1ML5DY?Tc@jPaNW(!mRp>edCe@*VH~>DGyh0* zdVnnwF{#9?|Kd|Jy}Ae6@oW9v{aE`ia8OVBiHxs#GF*N|djJnLnCbS=d!iSgKP=Tj zFG_B@8z)@?ds_`in=U@2O8B!^ejq)tcGnalqU>(VY$=6eJ$wrulNqpRmfrcyLm$5R z`U&l=78`Q>kxuFGgaB6}_DM)^_lgMGJ<>eerK*h*0haK8#r#)Pz;bdjIa>1&voe4g zMhMft?8IBBU7*<29g4_*2(Yf@)Mw}k&;_ZEw=b)OFZ6Q^A0M#z;MFN@IUA`#TrBME zk4UI_l}|OUOHGmBYkJN)NZGa@?R+fAjiJIbEg)_&9l{k?4Zh)sv(^j#A`9XD+}O5T z+5V+`IKX^MGX;Br_7%G<&3wMRNTBkM5IwcvC?4fx`dD$c-2{ijg-FGlaQ)kdSuiOIpy9poVxt#&ZyGn}(vrPKP2_{cch3beJzB za26(jckUfEO?87$OZ4D!$$Z`QZ`z6j*<*V6!O=@ldKNydI5*8U+*igdBf87B9}t_tB4+QVp;qEsI56|1Ii z=kL>6LK1zmJ5r6aVbTbXl-xNdI}|hVUSas=Bf6&cNkOf}efBnXqPh-ntryF8f`W?d zHzl5v(&wrdYn3hmJx3p@U5GVlKNr1ip;Xb-nr8Tu zQeTZjO?0?f9!1^gyR2HVM3k3=*5JaIr8~y?V1YO=?PZ4S(InZeO5-v5CEf@<@65)= zraxCX@PDTtEFxt);TP09->)BncBrR!ej^%xBu z1(Og;eSez3njLB(MKV?VOKKy(jZ#~Zn3@?Ibq>@ro6Ap|GP)O1KU)^R5Qos#uNQqg zpJkP#rzOC8s7F(?8N07%7n-tOyw%i1A%a|+Ri8#qB6y+`HUpnrJb^Bda<)~$MK{JI zY@{rnZrvY}bCV&^y;tD^#))~_U(3_fSa!FUxa#-#>eEM$8D1MpCjb2S@cUEe>mIo$ zFNQ5MnYb*?-Zy->$<4l{YThuVKgHeB2<~-!eUnUgDUbW}RVC}=pT~C%AL*Zz=TY2$ zw6&9U<-s%j3dIom<8++2l~_%NE^5x>jokLNuSo4sp|jK$^vUt;nJ}><4k5GgGm1Su zOM)YU;pUK@aSrJg`_Aipf`KZ!bQZG*s*u|)0%M^_fDz|v+NM=$8l2{Hy4IEY9BB47Rl%e?5m;+$qKaet!nXO2A2Lv-F@k>@hJh|59N zBI`khMvb=twpsp;Ca=tl$|J|sCfy`G`m4c<7GAUVB2LV{Sd_0F0VzAH&Bcy)Z$$A} zgqe(wa#z)@l1{;%2r}DVq~I(bZS1n-xfd%AJB*T7jK!B)9#vCe>)=>8%j59=ns!4D zNqh=ySM|H@ep#l?dLPYp@~R4Cp|ou|ICJ0t23pUQ$I+lUV^@2aoF}70c)4NUMm|+T zqe#oM8U7F|wov5?u)e1OH9^a(Zi9SF6;Z1mTY(b0D8Q*tYGA@p>2Xj@hoa2Ga1=-- zG}KrU?xDddbn$uPZH5oOtRfv}X6u==%K1?rpnW7QxMru{Fv9=&ST4A5>m@pc8D-%D!BSWaxLmGnAQ$+JrrkfuWJ`qzI`rG&ys`z?57E|{fqwyYw4W_q`3Am| z{r47@rJ|@x7=0L=|)K#~)=`b`#DVG)^bZRSh2)6vlB6t_t}YG3g#@ zCF!Z3cYZaWc+9dW@1VLS6zpRhcw0n9h(roOy+B~lQmh_-o4Cc|(1yTjLvWwYCA<8| z?OWNIQWJ&sFQpGjp~q4wyw-0$RfM)LBeLA#hurpZ0ryYUS2~~cdqn}pcPEiH`9!Gs z=bu-hlkTq&xht87RZdsWM%Q}G3LPL7fD zjMCC(t0R@c6Y1R;n8?AXniL6M%|W&r;$`hoL-dDNM*}yM$U*N?o|$(>iG}zr^cg`_ z8l^d)CT|~bP6!J{%fTzJ6Fk@oLnV!npSLd6OV7U=Yhfk$izh!~?oHRTxYZ-?PE@N^ z#PRHXgoPpv)4MrU-$!E>cg;43xT(bo%;u9ySx9MoJ;j(75ue5vFdNu-s1v=Gsx<2? z+D)a`^R@07Br1H{UfYfMVo++~jyJMsiEFImj5t6OOSvXwrbUF)qJKGp(&6~Uk62YxX$q2{|2;W+?2` zjT&_!YEZl^kw|CU!nP}=GAn=X7JmFjpp`XzqALNjdm{-d5RP*c*4H$PbOC$yXdYC` zbByrY&1f|{zm307MVH$zsH*h~b4;-JZ0F~c4R6uCHuo9{$DlXtSZtev*GaNc~Y&=`WF(I0uzb+s4gh-85Cr4k>dhP^+A|-P=Ps}YkStNIY zYcwZ_YI^BAUClZ^hnd6B)^>{FTW2vPXRAq&(Zk^Z?gA|u78q|SG9%bcX@59-iYv+%k!qnrIz&NY&6&*%qxXr95fK5oKDO{p8f^t*Nm~ zu6^;D*d%UX4M>v79Pa8~ijtvWdJkOJ5SsCXW~es~esk|FnnGw_MLI;uX&lD7QGOBI zsNi54|LGdq5%?fW!<)oQ)uos?#&dAdTnCN=ihwtG{@M4H5!TsSg;wddE#{5|0hp_^e9O;lAWyrZ2< zUdyeM5w+v1SIH1VOw-d1jlJj!(R7$Q6i#Y=a)0Hsmc4@4P)?2{35UKO9;o-*lrQcg zbdhVJuir876Yy5d)Jr+^)h^?0M#4)wkF@bJxeQqhqkq#AcU;+zBHOs(ObIIs_O3jL zo{1a`X?^zk*dDh9MWAt5bR9Q#6_W`M(C_ukzu(d^3T;dHF2zB3FgzP73HtW7gsUX0 zs3QSj!ev+9=}gE{efiqOV55`+j;@$(b(__OYs_ex&To`>K+apcQ0--^V3*liQ77^~ z?QogIm?mix>2wEVgSQ4}(NsC`g&DYTMkvI!_q8_!e?#)MmOGv<7Aw{XH8two+{H7oVw7MdkW zoGzj#PEPI_=O)BRO%1(ND6{m1kdB=1-JiQ3T{5S?$ck! zQB+)$0=L%Q5xQ^+8Z>a!=9Dlry_AOR_Z&h>OZPmBBT)`>XiTS$C}2N;&8-I>rZm*DBJKC!%BQL4rlq~f*kurm)^sSHn`aacAPOyVvO z7?y`+%>Xiil&fB!7Uo!>;?SC>md1zy*92$~3wUe;#G#_sa2HUV>sgPAkFj}%H^f1G z007zh(MrNhEN5xXf87dA*wuk9j2ei(W2EL>T-;zd>`&qj?SJW^UHHIYe7xml*b#8e zsnh^VYs%_Hv4u^dT|IO0TAi>H*Ci)nSU4+BfxH*?0-*{;P8@p`B10owW6I?_%P8R7 z1sfY$8YR$e^6=+F<0q&Lj;ckn?yYZD5zKt#-24%z8qUHI5%6J7(1XM^w_Fb2lRgN5 z*$DH9(A5mX{^MMcn8g;kh0jT$oYFk8juXc%aq!4~7TEIPvUR+h%0fY+ne+szG}wDt zu-6uv&^sE<;=qbi><~a|Du3Sr7~|8It&@eM;EC>W*RPc)$38_XzzD8rRf8ut(uBGeSt+Z{tex1Dt!cH-eYTkCZhIa($s-gC@%8&HnTP?j#8&~XL7 z|464kyfB}3Bl=?sRU7;P`>J^&@3+I^aQojL79#_pCN01A7sZPFg&XS(PKOgVfu>b@ zXF_fRsru}uPw_^&_o4O~2W}bqNaCbVDEO-Leo#n+$S^0DC%VOTXgqQzagMZ8a*KfZ z4pe#@XhpVNHXm!Nu6P}{)6|+oia_m0+L6?IVROURI0Q? zLu_?3#>|3t2ikBhNs(%>o2zma}dd(KpT~EW)}5!V zj{gsP?-|u()`fvuu!5q9AYG+PQ|aA8kq#ogcj-Np5D*cN7DReidhZ13O0Nku5USEk zLMNefUuM2>oc7&s?%ez1-aBi#@Lda5-jj3o*=L{UdG_9j%FuM#dn5601b8Q0Q(Z_K zC{65@vg6FOR#DI+c&^r{I^bA5Y7{)FQt3b)W$#%!UPW~l%oK-dRUlII;&UO^&ba=< z8?k>%*~uknG~tpInRsV%F75Ex4S-?D5a0 zF@6JRu4THtVM?K1`UQF59%S8{%nyn;F4e2A*zO*yr9|~k95e*M=1|e-AqqYAJ;qi3 z=Br7i6>^h~70^#956XJaBQw{PjrQ^ud3Kw(vHh+7@2h~$#@zl`x$;F|%#Vk$Dblc2xvmABWYjHJ0Gff71@gn7$dS{)rpPv2w?c#RN z(=+TOi{FSwrlPC32l6@RS#ZsuGVaX(9<>qMzsSE=_p*S9t;veL!|5x>3rCKuoVkEQ zPn}5pxf9NQonyv1geK%$!>R4cM~`5nG@L76^sHE>-?T8-&kWQZ0X%a0ttUfLR#Vem ziGmf^&MaP}HmOnS-3BO4FTtf}?_38IuE%(aVcDPAB`@s|Jx@+N-mX82h8*utRt(jy zIE$Nph-tn%k;-Q?jxVOOnXLfHakVFpZQ|as7gOQ5ZIp*d7olq1^y96$Qxz258Q3dh zYI1hOWfBr(b(!df%E{Kq3H0S)5IGJjo*cRt_OwRQldIn~i9f$lWA>A3zNl{MZf8U0 zPO#J`=RPUMn_5_ic#DeTi{jo#mG*&`{Ja+0$d4&q>qQ7>r-#R)bEm1tXp-k$3CCzw zKkl_u`&S*RtZ#5PX%@2^4+y`zosu9fgE*KD71j07Tc{fYyhO7-h+NX}JftEbsL355 zPL35XayL08L$J(m+=RY#2)-Kfl_ zP&Nvg#kuA3%>YOC(aDjm$#L!{TY`lENA_pS#v7IxzsPuW=0`+#9rG~v-fqaJ}N%yji?XDXq>?@x)BF6VU#Vs zPyiVzps;eT+m9K?9PR5`v<4GwlWV!po#rVl)a827WUFJVS9|Z$D?bhq6F8mLuCa_5 z*F)Ws4B29Z1C3-r6wC=ig>G6bxFqxSLzCm1o}`z!>3_C4#@eEx-<+ezU^9efBTBaD z8XGH;eFDPLL8Q=Ho(?E^MmDvR**4jLk%r%>%!m39k>{h(OP|!!qB|FUh(93zJ^pao zFIkD7Jjj4xEcIAO3ZmgBH2h?7z=9ew4nR6;*5-8;owe0_*Oq6F;_G)Qz|$0y!_a{+ zVS#&+C_cKZu#3jHahD1Tn@=Bi6bw(*rX>Lv@cp${hUPdbW`a){n^U2i5Gr8)RQ zQ&t$Z4zvRqs@sSxB!+mt@GE2s^qb-%f-m^yAZNr;XUj}$?XW4_)J{E*#W@QUs5(x4 zfK)0n)hQx(HkwI0fH&#gLH3rfCqcK*6ff18Cv?a2k{XEsQi0 z6ofg*DhIhbw6It5;mKtFi7Li=wjL`lCUi!Ax{B!Nyu$?w)NtL<>n7eKnwa91~l zn`-yQIhM1Fs|U`(aV4E%j{~5!$}qM_2S2v$ai@Mc>~^7-j;Yo{<|+|Ha(R=fcPQYgC zB);>|z^=nGTkA4)%W4X){`e3Ju#csbNN2&7k6mj3rgdv*KEp=1M1I%%CuFGS@hJoNeQ3xrHW;#Wd^OW`@ewikzHE8D0OMOno}-Z{j!At&-*>3~ z=W|hCCY|5DoTLBJ)<;LVUV=T+8%Y<1zcqaRNGrw>LNxc{EyN>1wKg8IbucvAC2N=j z{Y2MQ`QVb{%JKrG*YsJLt0hk}{aLv=2!>6Djx&rVOZ$`Khpbi-rU{{_RydypUC8P% zt7bz2x2S6eJJ?vgYk=RlntQda_J$ehMp^ZPUvPn65iMc*52WX6*~jxfvNQaA)ReoB zwzWY;P!sS$70=M^bs_jZq)xrl|Gs3CyVjIUri~tQv3c!;J*prrh%OR{dcxsGe}1Qh zw@zv2K)f_a!hs`e#Ao1^XW|n&`Ci9V(mo;yZ4k=D+FQnh48zgs6!K7h!S@5yeea~N zBD{cBk9eRdRc$eyqXqY+BY$y~0#AfX1orhyXBzlxA&j^mzX^xBEdI9{pHPDU2 z#$Z2mr$i)Ba3++aa}c;lgyS2?5R2~AY}7C7tll%+itVcd3cI*FlhRXbOvz3K>4hp& zC7&yICLRKM$(sB4_%!!w5zS`3(9z>-Bt$$)W2a)owt5}3!dj`p!w63-XZ2Jd%Vh)a zmJKwu;B+OqjM#M?rQViA9nt(VCa1677f6CZGn|Y(N(r|g$HXja40@?7g(`oj*Y@S?Q zR;!M8MUTza#~G7@MvN_Wsz`~Lb67P>(sp#;-Chx#+?8*|J@G)MzEi-hy_aEUuH)Pm z-Z}}%-=}pTvRu_3|7v&i2+kp;X+LYE=%TqW>;>|2QNg`?2?8?YQ zG``->lLsnYJj8A-5CG3@F6QdRdd@c=vTByK0WBf7p1k0O>}^3;hd!+s`Yif;>E5N; z_0TKXu9lr#yg+I9X#FrdPl<>t=Y>fCbHbwJm}N!%^5KZKPWi+wie~*i=uQ)(NbeD# zS5sD{GJyo1X>!SG^bCbbCI4YeY;&&+#gLHM(D=qEC?mH2xClW~SM2QRKpfPSR9?-tOSrEw z>6HD6cQo$85XwY!3(X#mZk(_Gvgg;#ncBp(FAF0)*dH3H1J|@<$WF3Qb#9diD-z8S zTMAS;2M@GxFZabsJlwC@j}Q?&`ihLZN8?>`->k#9dLcL#w05*ul^>4|*iWipp+Lu;6N zTCtb?kRx_B8G11cE;zr9je=<2Z!s;7x7IC19zDbib!srKShjX0CdFx4V-%9gWdO-P zGxxVXe$ZN0nS>`j_aD%}4{ktQY3?}}MpmuyR7VyL;6s>~mN(hog;7CDY7=vF52%-? z-4by79>r0FKx5NwSW~q8=tjxPi6Sis&8?C<6olG%AkRMV7KkhhLV?H<%`!?<;W5XV z%-lq<(JU)4J3P#;m&wXQbGRUB^vpj$I-_GGH9GiS9c&|M3jk{To+q?KxVCrt5Q?Z9 z=PL@qFjQAvgA&R8C(JG35%)sL?G!s-cF>vy)*2RrK4>W^{9P@PnC)v{61!%ik2 z$u0uo!;;7=GjD03FI`p_=I;gGbU?Ux98Cx5dc}_Ds<*sblSMhveNZA>-!#zOMS(G zlXcV1OWnDLtp+rPlBD&7!lh9UUj#%y9DETex*IN946x&wv|37CVk*vwd(*XjtA>}z zfp(8A9Wq;xOiQ|?EEYifaBK`TOV!bN2KY~JKJI`-+i~pD-KY$)PBhuRm{H4V38^N*yG7O z%??kY8^fiiex-|DaTZ?H>WepdN1yTvTX!Z~o<98io}bxA_DwbSt{3-|D5FUXDl^i6 z0dB^Oj{p`~=>2AJL^oAKf;L0U6;U0dV2yYNR_SHsh0 z?aSTew*7&m>0Uh(yP-)uU;Jlqq>w|F$3dGqOFuq~Ntt4cuX@CtxnNE>lkVphPlRWf z;0RMoq;XN+8DORkjZV2$mnM*jSTPdXQq_8K4L@e4)z2eO>eaD+#M+&`B zJuRVoO2N>k9wnewzyxlQxhx0FKXu!dpFebz`{=dpYY3n=c2w&d=dLsUNiuD2ZQaQ-^9Q`#;ov z$r^C4CL-Ag((1J+qjyh4@&RXLtBbPj>Iq1?hHze~z9*tQYt*!a1^P5vR0Hj8M#-#+ za}gg(%$ZqKyLjl5cchr+W2*)-`z9xCz4kJ_G>!WLG|Dt}IUz1gxll8>QhmwFOOCy| z9-NW~@~{ffXlGrUZJvKt2XM%vTQ&9A^1|(&4oyo{Bo~z)aZnxaw$6vusWF^Co*U8m z$Y#c=6oj4!G+%L2PTKx zoQFe1qYHz;Z4X`?0HA9Nxg%@67wP;;JaSsY!>KI3L}?d7zPcKiGvC=dm_Yo~U1tG+ zUn#-NCSW&HzR^xgbc(28n*?JrD#0*`8XC|LPRE6c!@E-`h0>FLLOlN3`+}!=a%Ca? zE&k=;vzQnZ+hZx>)CA|2<>y|Rtdc3oVZr>&qj0b?EKyjRm-|p*tF<0Q)E*JqaZel; zrxX)@^DKRstmbNZRctPh2$ zSDAUrDl;3u=*JBXINl`v+CW(=JJ{)TNeP7IoJVA@r0RCK>?iD1(SPc}<+w^c>k+$t zLzs52OY)BQ9P+TgSDMIurbL9hxXxxS3vi@EwwA$&Aq)hINSRxl+lLQvPRu_ZGN%^a z+?&YlY?yM4w1iA-3)wE?{OcU)7Zew<;1nU8>u6Z1D4@WRf1PZ7eeR_vjiscQ%kC%5 zTDP z9`=E%e|M~*KlHih0o>*=n9et>#l-x>#LtWVg|8 z49+H*3%&>vf>9X2=e9&|dGYHS$X^=_?n1@Zno1E7P^pj*h}$cGgQL;jbXHXbd@UAS z@nP$N%@S}53%QtIY5^1}$8g4p@7~G{zZ(BgGp5u&cYM!S=9CG>IixH2+;=|xmpjP< zJwPJW^bILiz!M6`NJo2-b=yx`Wxi7hEnBw=2j>AU!SfA&%2NPk)-}h|j+sWWw@DOX zT%M6-7JQltd@}HX;5LBe;9!IeH?Iu`;BC!cGr@&jeA)h<9%IE2_t13i8(5!l0?+R! z*8lXyt#<%i!o;(q>mHtB9I>=eUgo35xs6lMIl zz}zQ@MyG50O5GmWKGL*YqU2NvbJwLaX??GDO~E>DytTiR3jorBj7tmRvj3xC;K60Q z+iTLa0C?`t4bwOI#I9FX2XS+!e5F?Q=^xW;2eii$Cj0 z%#CwG)1-5hoM7J0CC{?9=srECm5S)ZVmniC`>j9DfbI>u;%6K~z1`$Xh7NTOdRCGE zdG8&JUI@ovv~^~2>NJSyn#uW~a*vCSV!>xlU##i7sO>zc0&|#^rd4i%jmMtwH`rzl z&tgaz^vQErf<~!n`Tl)is_uLc_1E?~+{T6;?}SFm?3Ie{a|#}A_47Z>d4KKd&ydmQ z+-P7P@;OFA)N1u{i`4R{@uR((v)0nQxXszgVVAmx`Yy!9g~fyk+@n_$V+Z&?5(ury z>~}%(Uvw)il;mD=q^?>t*E&kzIU=uqx%e0evQt0Lj2gS>RU_+E1U4*WfiymNtA8k3 z0KHa=5lt=%J)inV<%ll#Nm$Z(&ZX3^D&`j(*SSqAxMvI&R8!jpa;7)=R&l#Pv5*GJ z>n9&j$aSV-%pvF`HwH9p;E&QUOKg_eWw-4CG&*L<`(yKg3l#t%fdw*=5T=Nv@!7#Q zk3aC@B>{c9tCtI^(ZC5`HkhkM8pOAl79MD&aDm3d&X%M(@0S%qJDs`c$ZFzHi8Ze- zxE374#=q$ddZFjbB}pDH)rd1@G8w5fhEEHsLA)B= zJw*@xx@U&2BGqg}B$Y<%Y)O_%YlQHi&hqA$FC#O-6*JCA-kaX?`=;&2;&E^=yvbC~kCR zX!!k&%+Ze*Rt(~Kt;!@ zsY~28wIW%pat2})(U7+ZRwKsypBol=z%6v6MK(Qk^%mjdyh2ClMzi6P8!gwEcb{kd zk(R!44X~iI$|~|dx|$$||K@7`Ftg!!Abtb*Mnv!INA^o_5sy{6so~6Y(qu?C9I-cnq)iQviY6 z9D6BC#C!=eFh2a!TUc&nT4NkNfg)O2xR_zGc#$FUil~Os@pM5%31ei8ROSMcr&YP6 z?QWz_twcy~tMSb{cY?Yew5CBQZ(^13B0SUb9!*MVc&{kp@|*|;r@k3wJsJM&Q(uBO zu(Rw9*BL^7<`rx))!O{(2x=r$rfP}gw}r2OIvSd65m8y~<3^=xZFCakJLQL7lcV|- z?${LAGB>EBw;w%;NH%AdB>b5l`Edf*0`CHIr^}x6BN2`HDr=2g`B0I`_x#4D}!Q~jf@RYHTJ32qZ{PoR@q}BUSpA>4mA`N>7ail$y0!l> z_|q3<`A%5Q*_I!%sL8*?qLhAIwErkEU%m&9bOv)y(m&k(Po22|eHA3`Ub+6G?5*N2 z3DlqOTEA|nli|kEy}F+%HPZFRF!j~vHzylT*QVx&X~+IuqxpY!+N*=_&rj=lmPpxj zZC_?wtDuS5ysUSp)91GcGc zHbwt6CcJ<5@c)bV@V~C}FV5TlXI+NCwrJdCay&ym(E^MqS0h!c6?k&Oj17YRXJ+j8m|_o|w~lH|DZmA3 zRoEn2k9{hZO8Qgu?&|F#Kteilw7+T#6gxwmPTdAwBn{efxcQ?5*7h$YuuQ*yF#w5i zN$E!u&z;oF!yarRNWB(Qy-aukIpmby*doU!2+-m%>^}T6oKol7FhE=_(x8~8F(=8d z=!$R#xe|cdym_oQ*?g^V_}abyfqU;Sd%mD#PIRr=t;k^%lT14lU#?juNP&P`UBhz z`@1Xy`e6fQB7Z$loJ|c=pJcg_@h7nT*FiD;{tP*6uHIoshC;Fp1Oh3{NGG*)29yJ& z6F(T=e^(BCXGs1-FFyk4JTe0~Q037;3uaY(bmSS&W&S*zAQt}*TBK9niO=+b`c2rK z>CjQYQDMIN5KaVeViG>;u$DMVtlA9xV1b$+|0bbO)Opd-b3I6pckUuaf`r3eEIv8JT|1N1>nczc-?^@t{ zf79s!HKN1I{&X7cuRn_6WVgZuX&3dawB7oi8=S5E-^32T_pCj1rvcQz&-9Nj;uKzs zIG}L)R8-F4@I|_s*64fAdB)$RdauoKNyY!!S#^sPc>8n%vaanM3kDjj^h^DOxPKSo zM~>&;h4}79xB%7NpYI4DrxPgmRwxXVp@ab{S1{0S*xJsnNWHtvydVAU>D3djBsle! z7CmefiurbLQ<=7_-Ek2%bdJS&{rl$O|F24+|9$g3BD^?e-%5oYEc7gAYa+9}M6{IP zb+ikb3SflZ9EqVZfMY*`zDSQV{ons)AG`>%c_6Wx7wb6fo7P-@VA3)87nluFYAU#jsIau(q3ihe{jo0>xV?;}T54vJ-x%-N^*F zUY_;QvKpD-)D^Z|q34+Md(?<`o?6FTZE{cX!Ls?Pj;TMwz1*Xciy(0Ehp@To?oWCB zKv}x>0>kPnds~^JiZvAEghR{WB+#a;C`k0XHJ#vfTuc5hnQov_CC zjP!ni*y`%zPkKgl$CkIgoM%a&pFOR$zMG3FHWbE3zb2$I>u+mYm#!4dJA3Aww|6p~ z0lY%1Awl{5eKTsH(=)-Z+^n}fQO~-H*S4CM36N`rx()@3wStGLCsf{AMOUNX!(Uxt6)oNrRSugfnQd%H@YJfZD&7tYP9=3oLGkkzl>1Zb7-{w8aT1D* z&2@R43u=v{-waH+VgP5^fE6))|7L4BbZcRu9!=C<2kYn&j>;J#K|ohmBC-TJeXa|Ni*M2so_= zK2W>b`RW{wt0s~8b_*YI39fWITD2sZ`cNcQw65rwxExy1g}~eAb*&_+b}kc()(9CB z9!@S>&-z&QQ^R5X6C$lWvjby0I!)!XmHy}wOI4EUMN#u?Hjye@QWUD7^2!_j>N$vs z+IKhd!TgLf(19^j7%74+4lR!^17Sw)3PK-#qjc%;7M0y44)VLyR4i(prLfN5#eUOo2_ECHO)xT z3M8^X&sGbT@p(K0b@~Dv7TYfw`pIPaL+z&rR3cpFCEa6YaaRf;eMufR_jR~XSNWU@ zDs?#5s$|7W5`SB36st2MnZ*p!uSt@lJkEpe7DeK)N>7*g&It*%`zrcI5 zyB!QKLYXJ_Z}byC*n6#kxAt1;$a*_?X2myNH4tFgP*b@H3}kR!LzG;lv=uYv&exylT)yY17gq~wfykqTQ` zR;(%n6XR4MRP@5MJ{&bMEhF6w3dsij83bUUVuIdS#ESM*5hA!rKj?~3ZA;RjvpYi* zt?-4?`7~DfZ`9UgvS{5TtEUJd{Z6&ABw4`?F7WYssrB+)w)xSuvEsMiB*1I|EnBg) zmY0gP&i6Z3xiRH~X2|eYws;Ey5T%Hb(f|deJ^|e5@u}ry!xgG+jYYmn%bMlI;TP`6 z!_soCJxV!V3RjDA;p#iWnaUX`3c|$x-QXq1EmoIJD`)yHl;7(6zCQCOzgEDJ zJ#~h^SZ)l z5q0{#ZlE!3lO~iQVS1&isiEeV-QCf%=5OrqRJA*w$tDB^)QcB$5e8=d}Z8q=ti{8Fo!=vX(?vkw6t{uq0Q+3C9{A2$Z{7^yWL$u zA4EEWCh{o;Vu=>Bfu+SC)MPQI@Ei=|tx;Gqvjl_rWG~PC_W}m;{4hwbJQol*&}jd2 ze<@h|MlZIBwbB2D#&JWbb?-qiU;5JCfauoNS@b@`k9%ULp%tzIj8S__F+LXH+@iut}$uBbKVZDXIaT#NStQdm;??ogQMKbD;u?zbvWAl>OLorEz>XrwnmfZqwQYFEsEmkm>zeL?P#%J|s3-9# zUDKLEDb{kEw4#DG?@@Y zz+5PM1(r+~DhEN!+`Q%DZ1|Io#ob>Q)>zOEf+a#TfE>01>Go&=7GKHGG z4%C%xA_wqFDrL!UZRS!<4xhwWl@xoD-|z=XzTr=7@D&lnj5ULHyxC57?nP`HiFfRM ziwh5r)=emRXN+{4Va6Wam`4#@vg5frd^lM*qIzZ7e2;{|zUP4MY7W~|?B|V64E9^V zT^6cN*CkwCEj1=dSJNe7RKI>we+WMiL+*wu6+uNy43C3A;PBt9G+6BTm2=2MdZ zrP;5c5sh+KV(RR^#M~LOvN*SmZPQ^v!@Q`eIjM|5_5v-k)yQ7OXg$HZWt#6w1`ett z(j}s=ToE#7DXjYlsmEBGG2ZD<_*OX$!4Q`aT%d#WzE#YUkLizAPxfrkvYJZ@?_XCx zi%o6XD=^?XWbTI>nvA$raxW=%csTBEL=9(q8EkaZUo33Q?#QR$&pgi+K4s@!TcS5ax5#~wpBd1 zhhWs&QlNp2O4uxZXhcp=ed5RpN0VG)NEKgV7_i&(N_cHN7lTdSEow!bqtWbv7rbEZ zA|s_q_W32r=LFKZd;QZ|1HScmmGkt-22e=QkTKEe`Tj_##|-TWm{l=q^7Q!KRB7^| zRV6qRb`quO{$sBr0}jeR`gXZ`aRr{oR+YBey@|9d!>q3>EgY3Vx3DqKHkrb=JO3Yqr{oKYr|g zpAl-J3h(=9?w?dAYI3NdlJ^;R-IpTj4NK>HJMpOq(Bd_st_qyjOM}*RT?`-Z)Si{M zP6Cqcj%+pEaZW^S*07r1$WW!Zo^Ovq2%CZiSX1DgTR<~2Evp}g?q*{=y6W40X7JOF z6e3(&uy`Wb8z+OA_YXgM*x7gNg+qapBsibalNc&P=1TI0K&aV?LYd?vi%^haaw4Sn zd3KY5 zmu3wS3!;zX5n?YJ5lUU|H~E_ohG-n(LuiJ;u?`XK&lMVf4oVmYR4o7G8hQ_w~kN+Xsr(dnxl7hwK}Ne#;d?(GPpI`vpoY zzVMT#rPgO?bd`kPP+Qoz{y?lg5%R?_o|C`0$|FXFh_GB-!GJwBth+{hwL*Cg{;W0; z=UgMHAzmy29&xpmX-F(S$AeK42re$n9ahi|+8#~8CD}NdIX}y@vTM};(g*^g*~@AN zl<2RBj!(#b@08N(twG7DpclkW^ajXtQZd{P?wW!Yog@Bz_Kxg|0FI!LNmBj#oYS#grFz;v3&_Lx2NW37^0#kOrB})>TtJS5D+rl}ig<+P zWBbDo_F~%UO_!b>0RiI3V`br<Vu5qbs;QG`F62{Z_68+|?(c0(&x z5;>M!(nyeeXYh_+_BCR$-i|S4M5%Z^Z@*bq_B6S&`msG|<1v_SQOeBCeJ}_1j+upN zk-)aX?>utY=omJlDq4<2GG1vddoq0gW$x%_$%pVJG#$pMdW2Sm%>IzpNJSj%)g}F$ z{>(kY{;(I(y5mG=LX7Lk!0>wyWOehtblM)8<%x7g-O5q>IofjijpF#HIVL{Q<+zym4 zv=y$M31<7;#wHT@(BY^TqI1cShj3V!SI^odM1(t!>+9PX1{Px`@lczV?a*Lufr3)T zk|nKA15t1eng__h$r7x0#FbfW%7g2^{Me0m!W&+N6{FMy$w99iCQbr?;}yI3Z)9mx zrDRh%-PQ+rR?F@=j0MC4WgG!uX0P+3kK3O~){Z-&99XEg*W9{95cXYs66qL^duQ!_ z;9JlQcp|&)3L`)rt+DN^q5y7yDsH9LYMS)e?EVRET(&&v+jDZ$9(O)~UKEQdg%Il$ zJ?EAF&OylkZ4Lqs>ZA5p@&qC?mBv&8d|`$w!+{9Barmu%uNjX~gzv@Fxl!X~UK|SO zC?6pgKT!LUj(WOmZOnwnYs3h&7_AknIhU9ORdf%6Dw4CW&w5@vBUar0_H7eKP7Yw( zvK?<9dQB=Vz8WF5-3vi!O%(Uc$=bS@1oy=(-by>SnqYQ#0c{3G*Tu_CShrE{%{f%( z_P7VXH7|MM*R_zSV_y(fEMO#2aW_}fK)xf!5rqejnV#|E$t(BT-?iA^oeo7AVXP!q z662w6ngarJ%);@4`=u!w)w-b^57g8=pd%mcIizArSp%jSDiXiEoqp3Lh??hz#`-NB zRnv9(U-}Qt1@Jug4Svd*1$DAjIMwQ1vZO0gLPc5e2Z~MybD{xaIvS<^7?|;_e>&sx z=P>1>x(1!A>UypUg0=xvBAoky!n@%;(;1y;*xkcsJ6IrHmqzRxe!|72D$=dyh4ogR zw-V2hAvc+qTa4nScA7yO6QL;QNn|htgl(3whEp4iG2vxho7+k*8z7-cM4Y)HA#JKT z?b7c_^TM{CO$Ro-m($~p(0YqvUm~x}ZxIckB-rJt4qVL?tkzfn4{Q#8vop$4*WlZ?`-@ znE!B92th)VJ^iJnu25;`hWK-h;+8h2at-aAmf+}lba5dCSd?nohOERp^SHat<`pGUFM0o zPGhm8!>^xas)&ICi8WiL)9YaBt?07NC>4CLu6!d*oGH;LvBD}$Wy!nGL}8+G%;v46 zxw-G1v;J}70US7=`>oH9pTXWw14uAOky7>8L;c)>>X9Vbv)z1#*=*8Ni9ql&JUAIi z$JA~tFN`2LOllg-RsN+GKoetZUvWjS*C)$PN9N8hZnoaeu?UQrQWsXa$*S0&2oc#h z#W+uNjt*o+E4Rv}-%yPkzQm^3Zm?JvtEUw5qIc?jky8LJwE{(%}RjP)0ORAv; zahW=Wm{NMuWW&--F;ywbt&dK&BRFg0zCjmV3*JM=+}br^($RwWsPJOU;Fb{(NTBbOaz)MY(f%mVbSFJgK+?wU4L|?Aaa^T- z`bywG;Xy8sJZ0W&pKXj)i10O4>WJgyO?^-1F3=1C?p;bi0lF4uUwzs--OiN7EVS2i(mTJ#YH&1<^(zHKhz zeVgf_Q7)Q=Mf2_%#Hky;6e?DJND;$mj{0tr1h*tAmzTbFX0EeT(^Ro|6sr;XMrp)% zW3{v_-;z1L-)K_RWL&=XTscnYcSHly1R9j-&lExk5FMc9}xdSj7dytuMB2tN97o_Z+u(0rO)%f8te zW3)2GspVW~NZxMPVFt$FDMfMxx9C2pmYc1N)g7-^dqs{y zg(+wuL6G3(!bA}KOgyKhpEa2WQuWw1a{TD4CjWaFeE@OP5??&u{M)Y|Z$|9$TR^X0 zmy&b}`S3wG?LF4+z#I#uog21^ztDfQQarjsjhdVy^cddDtdQ_TS4*uur!*V1pmAA3 z@vMG5YgJOPzk3KXR9SwTT>z~f*-2xopE^&GVE~$WBDl}CsGc9~k6w&OoG+NV$THdc zc1KEhosXrQG@-6(uGZ7<$`xVTV{9XZmCF7I)BS)1=Rs{jjPT+_4TzWGpqspU-m;?H z_Xf#11|NltU=H4e*Q#!t4Rmn+F;hCZ!BWxVu<9&LZJ48}y9O`9F z6AoXwD9F`~LOqXps_ScashGOl*e_KSkdfE`C|;>TteLVhNowo`IQp8%E=XeOarJy3 zi?zC8c*%XXGWu3Tx%r}Jp4)*^we?_|NOJ+(Z5iBppA${(R{Fl{Mz4P+LZ*Xgb1WRB zCeYE5oFO5?GOZJ8`$2oi11j-E25prDILZY6efjb)X4Iuxw%TM#o8nS$cq$+qDW@`@ zzTsYSoS1BOX>SWG`c43y!egNJ{^cScTDfjnP}!0pC*!5BU}9(2GXYeVg1U9z@uxIA zDF@LKJW2+%28D&@{9~Xw^>E{Zu-$Sb2&^@xbYraIzDaA$WGt0YV>qZk+O`Pkt*$bJ z9Yv9{!uXpfeI>p;^KHxE>KfVa57Wx^Gjr7vfG;-nw(>KVb_GUgWLy((O3m|YC3i)$ zSGzacMTPe5OlZ5p&+#08K>A_F(W%jHWOPY~GvFdG- zmP0-YV@7Hd!%=f(`;ruih{dnUxY5X=LUJl(Z+OA(*AzIbxZq;x!fVe!8xIbdPzd8DH^QwPShRs#BnEpqcnGBRe5r{r4Tm0}wu;#l<6ju7nT#f~a zQa2=h?FExS2o8yIngnelKNrT0bXFO4P#S{VivgN-#z~l7Zgt$WphwQ z&|O^_W~#>-qMe#yb-~&#BZMcXnKu8vvcjepgj(yWv?jhz8OEO?3*&ps81}5+X^`1M zXCB{xoMa=+kn=zQ-TMrmWK&6J{hX4i&FpZtqTfR+*qA3MO(aWbOWdM;?BE-jAUQM4~lmpTErMRJip?RN%IA>^1}J z^=v?8#%7r1Y7lj021+Q}R~>_}PC=&Zi#&C-wMgT)ip*)DBxEo_7u&-t3*ITDiT>1r z^3;ERCOG4H0=DNqmGJy*^mLZUMp&q;MjcQc_&ueM$`X+h9B66{d#(Y0N&bevwlVj0 z>O{%f8Wd^%h?~t9|<#<9)-X zx2`Yh-xRa&pW7@lH~xTJEIR$x`_(V+2ObE>PI{z2RLR`*5bI;^C}mOGUeL^WkP`P^ z#Xc6jP8n^GEqO$&GB}{FQzj2r>|6DZ$e%08ChM%(7;{aXbKo`~MZ=Y_#@;H=Fjzm9Y~+exdIX&=L2Se|~hQua5|A^*l9Un~$JKQ17S&TIyYR z5kU)ib3b!THd0=pR73Y(C<`04StF7|SlK&x$2x9@8|@I@$6bib+~v|8EiFj9VqyS= z%C!XJXefns?kiI>vy$ARK4dR_T?8~AY);_w!r3HM5kc$IxCl&&ZjdeZ!AGy-(j(%-&82Vy}98(gr1r(uG@{{i35g?+tUFUYS|@^yX=+ z;l1?vzp%59CwA6$t5YX(hE0vM&!62}x``lird;fvh9&Ty^=HwVOD{^W_u2((vJITR zPZIF(G!cM7pF+;}di_bS=Vwx10m*Nw^(f4Z#HlF`u4P+08yPX3v$VAIjCF>Ki>n9d zJ`!Eha@2X=Kz>y{6Lp&-vNe(u9|gGzYmx%H(&GlVdK8~4Cqu0;EFNy zTi1WJ`tJq@cL4VFmd)uj)UE&X`8i*GUvi&gI#7>C?r=$3cbP+lC&_QE=Z>Ouf`0!% zVL@=u-ZU+HB!gRj0b6&b4ZX=Ub|)5r_HGq#em&%m+q$caL7j5>-3FJeN*;4R)>8_myMfj`r@rMYe$Nha(>(?zSU2FWpkx{3k`}3 z$366l7HsC4n!NIlJDaDkpZ|^Be|!YI`Qv?=1=`>2m7m>W!Yr`Pi{odWmG0{N>K@eo z!abN8K(RV4#vCD}Lwn9v>#ka=2bv7jp=&*KUx^rBCVX0=;de0pTCpBSO#^xE(YM#T zv$NM&6&x-s*jTWgWRb2v#|8iS`Ll*JF!~9(8k>~p zob(seYMMfDzkI!sfo}KpQLc5%;aP@sOWk~hP4gORP*HPZB!%ESmc-e@c-inf8Ogpu_qnf z-9SCOzu8Bp{<9RJz;A1{E>?x<=0rVr(>7n{qkwsuEB}ShQ}^W`u_X)DC1)%+2rteO z9fHJByH8ycE-4O@Pec;gJ${vCLDzd>QrP>b{v4^IbEIvoSQCLoteEeWB~8@#G4x)S$*mGFml2GWe^i9Sv~#GW46l&Bz}A-%|V zNt@qY<|AlE4|%JM8ARs3P%@81GE5$7$_(~w_g`ZwQ+NeZx@_pTibOMdRz!N2ahjKA1* zOqU&v3Hn^@XD2&WX;KCiT-tl=y&p-Psi-v*V%zP;7y9TENHq}o+WwBbP#!LvC&fS~ zbg83?SO#F~znnW0Np#Hsstyk;&t6v6$!4izpZ+F2`t*06^&;S^2=JWCF8%N|zJDdf z>%a+iuR$e3gLfc^NLK9oJagTlz`3KoTYR?iW)_S6iKl=tU2;sT@AIM>%2v)?5Y=n% zqd6QuEpRA9M$dkYNlt&}VoLqtPP5bYfMZrpPR9+tw^@(H3GKa~3b9%ubgM|F0VA=r zw6s>;dHmt-nN}#(CelO!X)b={4(D(D1;I67Walpm#hv@nyZrL}OaYkatvqf1X$o}Y zoPA{IPeGg3Umd2mfkwG+Sq_K143(yGL#fkNk0n+8Lh$jPU*GB0%T5>F`|O(}PEr0W zrGYa0bD({mUY`@2X1%3OV0r@3!MNQIAJ1Lvc66tkq-MZuy7Z8FD7o03-z@xs*~x*x zX~%WpPiL9`WR}fLWrnYSC~OaZwF|$$u#5Yb9m^08Nh;CmX~#q)O7bo)yocY;URX#U zsyYnbp}~88Eyj8G<=&)==}TaXg(zNpwC>8|Jc{pamyZ zq7jp)h0InGvhmchj#;h$r5MaGEHo=IiOyYG-Hu->Qt4pDe+gdKq&u1W_f{vVg&eW z8=RU{13HMf6fRSJN@X0ss&YO?qt#wO zp3(cTJZ)1-&&V9?zZ{Uu4!@lILpqIft)@Bd(#e#IJ<9V$7zmJn4%tr^h2%6F8aq~D_U64-M^z9fX8@`sI3u?e>3oZL(6pZhtDWP-vvD*%QzkqOQTavp8E9iQFU;r)T44jt4rm- zFw=_WKRBY45h_~LxQ2hl0NGur#yue>#88)f51n7J8i?mi<&9Fwly--8d0KOJ7x$wg z_S19#Q)lQ4a{Z>=2O&eEcEItmBhyq)_@y`d|a^w`l$EwEf!s zK2^>asL=GoR30nb2onBcuW#b95}i~Jri*yI8U8YRhkqy~?%t`d9pppB(qvn1QJ!ur z)Pm<^e#FaP&O}LeccMskEkoaHXOs;~oDe!~<~*tU3!DG<4?lNaQN}uU7%M6$JT-9a zrIk1e5?~@A?$MDS3;GKb5!d{E41U^1`s(wx4a#o^r}s-GX5mhKGM}xk)U~+z^N%=FO`fiu+v6J8%l~~B zcNGH%E|F#%>Aks$2`O}JavDK;9hUWX@f=1RjxuS#{pEk^47umenFZ~eFLLNN?mDlm zuFel>9kKUl@WY;%vX3FY{goEFiv9tW$)QFkaup-5qD|%~2O<-?Ce-e0##7(#{{Ee5 ze=!(`T7=njc`MteDUN1g0a)z(*a$rOX_f@_H+L~M2N3gH^7p%;;n)cfyuaTQNllYe zjCy~Z)1+${RnKl;Q%Q;qpV7asMEkp7pq%DL7CR_47n3e0U>c%=#n z35jsGY${U{{+)~bc>jvByZBuqPjAH*hxX<8m`|Q|R_+=yLqAdUzv-u2jla(e&*2!H z`W7UpWH?w&Op&+}$YEhQNaFGImw)>U_(v%|eB+>Vt|YmYwWShI>!EP%-+talgnnCF zA8a~hZakCFfw`;kWy0Ix zoAL0MvO(Zl-&$8i=v&b@B}XtBFp;=Se2BiPjPnGB5Olj}j@H}#*fRAvwtu<-vBWYk z?YcojCaS3&L>@pOsUuW8L1EI&ZlXh0Sec%U5ta%z^F-726(v&%^sA zq`fbFepkv5JiNU3%Xj<_wxQ%;d3=|+(Bu9Wi3>$#zG1mO0Tv4c-K>6!-rUMJNeT36 zUKhCTu4kT--nHS)JZ1qd%sSb-i4Dz@NFtI#s;4Y{(J)I&s;1X%A{ zQ?w)(Cvg_%0jUU(U1!+CGZfPMXwce?$-!K)^W8A3xv9L3ytQ8b4eLec5>HlZ0~|KM z(WZxe)2zezVeM^xN3AWHMIW}&U;36UTF)IrTffjuV8XvU@5s3vO8Ggh zJ$r>>hlif?{>6Zxet2SdSG+IOi4Xm40RMdN9x4^DDv$mzQt>Aanc%OeS%RQo`JG5b zs-BB+{zV8l|Is5`zwD$#bA%&N zLLs7K%GqrOrDHSwf_lX<@fv{&!A!XDj?SmqGS72Dr%hO@M=HDEn`0p|5e>sNcRqGm$E4-F+tR~ItQ}fOI zK~FBFAE4m&is^fjNLLtcv#YNOHsCs%TB9c9Q*{C%9Zzi>g~pO6;NbW^?OwZh{P7#l zSkW$+86tEjtSbyza_bO(V?1FkKAtP)#mJg0{0bvX2DTj}x~SOjEE%!fsXN+x#h%Z+ zt;g;dVpFLf#UV4=Qf~UP3E7goKEZg~Ia!Pk?_m97x-#A0f1UfbHV7s*xfUq-$7xTl zw+b%m8dZP4#veaXti|BZWI_byFL>lX@c;Gu_&bR9`WgMNAbIYeL9+G{Ey<0sg9M}u zmsx62&S|ayW@&g6aZhNwMd=(ku-{Qir)|u@` zQhbl)8ZXM1*u9*X=ACxk*wY4X)5I$8kc`^KRa>NXDt@fz6ebph&R3^SG)jkWfvoH0 z@fAN)!MK@BM+Zz4k>xjlXej%gXIo-!;ws=t^;pO#}bWt*u!QxR^<<7*- z<>L=G8NP_bj(**_q3+1}+j#ajVR}xZ<>g?x$Dl%95=J~AJ5zI{#}22as@*jZnyxFl z2X(ex@QJy(?#$##gzOue5nr=Wl+kTZVS-jIOS&&^QaFldG^A+QM4xF7g#7#!Q=mfk zWiqOE@CLuY{~O5xB|N--`TPxJ5H+eH?oqH zVEPkxHvtTgroF&hptn;?cMk47Iotsx`MeCay}&AMzphSqMm&H05l-3QU0#$jCzSmD z#rZ>^U`2^g(1K5=AOg}TdQxsp*KAnG(G64MulszniKm4IOQ|e&MA>l9C6cFPUlvc= z{YKOTtAGZ@i+?M0Yc&Xi+LyA)j1*8s$6<{NN?}6TAno`=;e%wQc(IBy#hWQ0fgIkMDvsMR9hb2kn^q(P+Z1tO3 z4thf^5t~lB!^-9-*v>}afkS%oxpo-{*vF9|_i=fy(U{=YdCB0zWvc8rpDR0vhIbdNr9Ft(&3z=H5;hp9dvLFJVq)+h( zhA4Z^uC3GP4n&Gx!P0I;7{=6$!tvoTpN#fH&ILSXeCqg^Wfz+~`6I}LW2GVF3YpRo z8FvMG8Yv+6wo()TR%}O2m;VwV-j|~CnMLW)^UJ@byE(ER_dMEo4g3`)oBV^ucZZUr z*vn={+Nd6s!Kvc#`)T5s6hp#vLP3%yrgr1H;4DNSM>n}M%?Z2jdqTkRn2AkffXHDa zpm-ZLR6VwhKHu%!**zN9Mhd8Bmdo6iK!sHki1$_zhYUDS_w>Zzo~37&?p05r{k%7= z0f1NJkvuF4g=y2x`iCm?*9*i`n6|7e!rq3p963HOApn8P8Qum6dW0v!)M&SgF^lB_ z1Z$c-GhAbm)YEvta_l|G)_3pI_X+KMg%?X~Sd!@`j<07bC?=ljw$%;JBl>PwW)(`ZnRAq=Z*aDB z-2K{r#-9!XcAb7Qw2%#@NS>(Cr;aF|Sm;?eQRb2U>r=d+!u!9tMm$iGKk4% zRB8>>@Xz6IBh`_wE>2XT-so*fmE}caR=If|eRW0hZub{d`A?DI+j1RX13btVP=r{mGv zH?$N>F67rWz_VLvP=v%DF$O4xNdGr{uyGeIvQ`s@T$GWgE|;CD&j^gqwN7fE7&uD- z3{>I-t@*{(mPul#kI-vILhY;EO&ZGFiJ^n)*!>RA2GWlzJ^LTcoU5WwG=W5+4RmAn z^F0&`3M8pBZ|At6KmiEXbN!RYNWW&_qxx&A;9O9pw+RX0RyWoBcJgAJqpq4ko)#yC zy*OJ#X>XOvdA!jEC#49IIZg_89j=Z$^$0FtE6hz$>pvLU%PyJ~b_4mh{LvhLeC)OM zY%gcmQz$=?;@bVC61T;KN@BN^%dN{y^Ztv7{6V$m4^+^`&w=V+-?{k0p{}E`xjwJi z$?|fn*N1Ww^2vkUXPRBmisIJd6O{TBNwlB2<`kz^1+F)mh$oG+}^5e6ag#p)PE6slx%}qtNa;lC-SF;9fsx5l4j^@{LtcwBN!}hL{w5Z(W z&_r)$qw_9u!u(l`FV>Mm^WH)nb8rJW%jWkM3t;4S+xSdS)SAc)?Z4Qyi<11L*)J$B=Y5cZ;hPWe3i;Dd0`? z?O8@vf1>+xKleuROW+QbwIJJoigr4=dDYV)yQDY3tK7*?mm2YSB{GE? z*JJd>-?fSG){i>k%!dU~ui17Pm$)GT_>ZQAJhy{7lNWF$-G8wtlvAU0$QKnAXPpt1 zm%XgCj<6AbcpxKxp`1GCQFM7w1B2`3i-~06$PYmY*}>ew5qZM$DKa3Nz>LpyiWn`W zk$lG~vsRtoPYjQb#Tvt3vK3zS|H(ab_D%m{lWoRr@zd&}GsyDLAcAM)HgcAjLPHBF z?NK^mUuU#L#^c*{&b`mg3iu^&1Ll~*|)i$k~cVtU#v z#{yU&mybD{SeDaB^HbgUu}RyfHS1m+j7^6z@!JdPVdW1be>$bsKcjf%gB)|m>#8vG zySIgYr}F+^Vs=^})qs^*tHg{+s;I}Y6r#XhI8L!V-slB|?@4yh*(fv8@daVU)QTT` zh*$}QHOJHOaDqEF!mb08L*aF<%9{;^%QyYovKo>2@Trx$ z<@@PwXhZuwqd95hCjoEh-QR^Rdg7#bDr!iU(okjYd%tS*U2&fJSm!X+c)b?Hk=yb% zlk8U$^g}f&DH3lrq}hJs9eOBiY15P$`7+1w^~Kz)%T6qke89Vm9N{>%>pC+g(%@Au z^df_iH|5#!b>9*a7e{xM!M`~ zUYWVt=6r>Cu#Wk6_FKZgXbP-a>GflNh+bEx2o@XVa#|zVK$@k`vKzMzt!etOg>h~R z`LMBXt$_rqD6{jZ+nK2V=+xv!4;3iZ&dvfJ5?qPQbPQ!e4Y^vdLc(`_=5;v>foYrth)whk9v9Hq(g>r_Hu@d_`VOTXM6# zwHshvp1p27KLnIg|Hzb7^5LVDueIVGj|}el`O#34q(AV^{za$^H~4#@@{tkvIWuY( zQHITkx=(1H}@xSB}Dw?Q6`%hL*CR)SKQ&D%3Wpf0c&@f`(Hqnzt7k>iq8E zk93}cVq(3$wVv-qpisxrMMJ|Dm8QFYsJxrc`7+M_+d{Y41xygZoIzdZH#Z6o5^~gb zE5exyL>cmm;vEL$yir?v(f3s0a;`?gVc_4TpI@3pOBS|I@w_kr6wbcxi(ZnCj%h6i zb4TqM&0@dl>qm_49a!?}wP1p1_9$S^!~D$@K6N%@HpGXhoH^g>U{Cc29y1`We2w0k zGdGI5xi5lx!N)h?)xaippXGyJ(Of#Jr$x=*>xNQK@*>tAC(yNOnrW~|O4C8er#ezM zl|g%KGx}*BF4>mV=%(U_277$>>K9Zb)_|ge9Y#XCM!wRC*bAHj)=zeszC?=h&B96( znU8)TWKtpVMkLsdl2GNAYB3-CG~MD2M##T%qc=T&wdEHvDev;Gb_)#vh1rDDDY==3 z-x?+JAOkJ9+&U1vB3d{g#Kys=QG6DU+Hs~zt?^5 z=<`AZKA}kPL|l&2jfg;~oP2jDH|$8E5sb=W02}Ysew#o^cAR%!t0fYg5{-Lu;PT7S z6t&II)89_?1nW1TCRg2BJGfY4aSAWVFx;XFXFIx8LpqaF$%=oEpb7m0DgquzE${V~~eO zOzf_O{WYpeilyxPl|y-Aj>1ATgNms$Y5L+t?3cuLS1H*%$mIhS1&pXys^R1k(QJLn5fU%H z^qYqiJy27yEwYFe_58?A*5^p#I1!%7NT~D#68_VpqWdB&XwFc#;X{$DsT{mss&Yds z=YZc>LtPj)@+UC*tYwk_`Mn#asxbFZbTUOa^|%9z*TgzhVKr?~#iIL_P%IXbkCD5q zmVAu7Q$QU;CX;~WE^=6XEZFC9qN!$U`_xR>MXg&!6z`Ih{MMA)r&xG)T096$PzxrN zApA)2!Qj2E*i_n(+4Pmzh#y5wStrd9>^ZCMj(x2rC-!Fae4)V)7=d|ew~6S-Kfx(6 zn897iVj*032G(>oEUvZD&z$fFXyk9{EErC#B>May(@}K;6uVhXDY{y`5NAvXuTB4& z{6upN_*{Tp$94Uv9xx;BDO|o#-~1l4Mum1ee9V2V*Q@6cNQT6YyamYeMkKl2QxM_b z2_}^tou0Rza>6W_v7_8{H5V|*AO4wXNf2Q*7nN^(h z(edVpMrChBJU4{E_dValfr!WP3+sX?&dyK*v|}B^Fmz{D0@#UzDDFDRO{9RVOv@VN zct(JzIKqL@+%jY3b1=tRQc;BoyYnG#%-BMKyJ7A@V;8$;3tdf`v0=l-1xPj3I`D+t z{w+*N6Wp>wT5OTq%RT@Sp_t%p>q3T~ftDj@8|PT(^Xv82ZBhAMxaLZyhZQx)%I9_E9y@L~;o9(Ex`gge`taH>Uo0F$ zxd6nO*CMLR30iv#tJrCgLp6rEP~DS-d9EDQG~R5mouLGoo|Q)H<>K5KdyZfRQOuCq zRbeLz!*hImsLsOm5fB_|6m_ZcJ?-DU?v=U!C+1T!;NY5lF#UMw>8-M0*CPA;F?Pdd zUEI07LbH$O!UY1o#kJ+VL3-fIr*c`Za^NysZ z{`gReQ0>@WKVB}LIzsHA=|SZda1rD38#(hpq{S%NEfW87v!I(dfz1L-9f&+%i!mDc zqAz^je2Mrz*+{+2Glnb?OA|d@WIyzGFdF2)-I2rf8|rP;d(M=Rc6^S(Vl|5yK1iV@ zg?;PZq?KEc^)`_1V=4}HM#igMHDE0&{-Q~Z|ElkDXrmhNqItM&%yPaK4Y;+~_VA33 z!Ub0sT?d7byL{kfP%J|^t1@%b;V;MRl5z=~R z5fp~f73@!1h&H|4v5GuwOjM$AIZN^r;IJf4d`Gi0+uZ7)Nu)_wOreGN!2R#s-H!vi zr9&0(i{Q@Y60KSyhv)$M&su@cH?FVSOQX) zFp$cs`g&83aC=qiu&_fDmE>=%A53($cnQ|W@rhO^R$ERg)JadjuH)*Pr9of#A_3qv z1fr%oagyGSSd&lkPHJeO?atPLVTv>?FQuD1VzXx&v+7+3vv;tP+5r}<9M<<(n~YvI z9ko|g-UKd-^UpbvK+|}oKo!>TA9L)6pY`c&-5tqn=T!6|bA(WSXm)s$jys<9I+j>^ z6-n4dPmY_~vDbHgv>mswhol#5GpFrO$4~uRWbK6p)^QwWu}o~W+=gZ@Jsc^})}YrU z9cZZsqK6qwWNONg*^0PMn}W2^ib0MQ@Xw7Fs$wto;nN7)M!wKG82`c>EciPtH1*F` zWQ(pSfQ67u7L`3E<{ z4)t?$tu7ysn%0M)FWi#`HGjf^Vq+p$P=Mmot0(=3+=aD6$M(QCPoqtqxHs7#Yrc+a zJ|BGK-8-(9liBoxMf?EQ^b`Q|j~M&j@$ceuXoIwVrC9nU&@ELDZdBEKKh1{nB_^l= z)m&bGR<||R40XC~zgfrh2BNXLxGMKg>WWBrYWi#UxUyqKG!5{h3QCq$?jhX$iXQ`B zA9>7`Eq;zzgyFysxT_C6;01>z@5$8`jzTOpH@n`|w2%cH8rX z77qgl05EvcnWV&ee>#6(yS-rpL?K3BE!IA?u^zgw(l?MjO8`92QI7F%)N&t4JygRr}!lZDMl@v4V0A#IJN*&UwS zJ;l|_pnJTzDHSUrccNdo^{;BtRJ@eZ{ft~lmf{@oY$38)a zlrE)cEQ+Vpm0{E>{Fc1AQv5lLBR9#n==?@$H(f%;>(H68IFYV9vFXz-pV(j@A~4O3 zv9y-k9D(rx+4qisy}PCISiaevXUO(C*>V16S;d-ers$_Y5cwncnKOqi^84ph;oOgCK{eGk{UHv(2r66Ti!&dEmY- zOeDJHPy02{pY00ZcLsonbylcL1wUZ@T0ZZvuPrA_Fsct0Z{#2+L#enF^Ta-ncPNL6 znzZZ!Aa)z-O?(>)h#Bi}jIY*TsmXZJ&}+;8u<0eYbE9o}w9CtF@|8&?UOx6o_T*L{#Uvq~Z^&Qs<29E^lDg;Ip|3!{P!}BA5=5OsI7Fr= zuS>CrU|lu%@g^&QMY8;f4KGg7bNUyyp=6M=q1e-F2kA~hw+HkB<+Sgh`IKL*`7tX4faF19Qs13?O+7;I}-|tzJo+w?l%!N6||wf-}5-n zluV1@mRRYY`)wSM?q~4E{ZANdoX`i2yUi7i!1_4QrNOwGT;`vB}`@Xaf!w% z*xjUtGma|r3?HskjUUA%V0B-!(^Ba(%IoQBs)}#p7AZ@d`Z$AGC7hkf$`R1c`ymZe z_c48!XtaRPf})_}hQQd{8J?DVE%?Vf!Me)a30@_{GFQab5bYx_?(WN(lt@ zdY;InSaUE}CQn+G>UwwGo>kmWDeKbWd4>{e8}pnc!lNkmp%q;fBCXG3NeUi4jed4E zG&9Q2Z=r;(RAKy?gklX-^{F+3Ivq7XzmpdEs;-Kv+*2vp_qH1M@(BsEr`n%wvq1CS zdmiQjE4P%f%S_kzN@hAqqzT@OC)gg-w zrw%O}gKKCijX<_Weyo#&_3e6=xW{6c%Hz1^*j@2!LypWQX}r0U(rNB2JHR7hP+vRnJD3ot_IU`7sc00or>dZKHaLp>(i2!gxl0QI=aEiuWi`(DL;0hy2Vz*`PDQ0 zer@El%m4e~y}ORv&0<sSN$kZwb!Z4coN%B2niM{Dv%TH%nr7g|IDf@_ zLl{cpGuNq^cKUGI-YWU6@8vf}ae=+a^+3!{9^17eArE1_^)eZ={P!}GU*Py>fu}6q zJEF+VuSHzmJ6wsAKd--Y_td*1Rqo^;ae-cH0{;#w#cNs1WkQXEnK$xsWMl7Rj z^cYgGPg|~){Lo0Tvq$+ii3eOESCg?PqGC3CGFSxLCV_SJ79QahR!NHtQA*-l zJh+%}-wq`h3KcJ%CfK!c=&8h?Pd}`fiSYlZ)(@@&v(B@a%JbjE0#WR~E;8i=?Nyil z0!P}qy?W_Mm}d3;)&6L%%5--eC=2N^eihbN+iC|?sEB8B=U`$eju<+=qY+%Cs7FiG+tGBimm6 zGVay2#)XFujcF>t0A?nv^)D?n$K!_;7I|xr7oUB`*Ph~QtAc(`DBLi;jBx7qw1_?f zBx#en+mRKWfJIim#owTo%5CoHaJv{T=I>EU2yCs@!^+QFXRXqPNJ*%S8_6RWXI>L6 zM@)I@JkO1*avH6&#sZvMGUS%)3;TARP2mO7{}3h|&gk;jz^~>jb0?!{*EqlV&?=+z zoL?N~s_vxj`#^8pJ;+`~rjW4E*HYnqStlk5(#}vP-MIv_Qk(Q6VOTOkly^usw9q2k zSf3l*!wn0jrg2?C-%A&ayLi*3zpkj;-Hp4Y<-vp-<2ABw{CU4!??TjR&f=>1aba`3 zXjYS0R?%{QA-7^BNNKuhyxP%OoW@*=&m{%)?TKEpt`n=->IPTYVA)~hk9ti?(w{cd z21%A{nSmCM#Lnzi)>F^+SUmOuNoG5*c{y1WXFL3bTcnYNh+|2Xt)9q0G{3y8&jahq z$0^*F$NX1kEK(2O`T$(6d4t!e=#JixMC!%L+V6Q+OLv@kC$YRh68nE@NNbLRHU1dc z+5dTKuQN)D@%Y#a0SzU%btjw4G>?#kuzj>i$asWkUqfK z*wadQuRq3W3X8fIBp5C8I1LW^j97G*>gtI-i=F$ikM1McGjV845;l8XO`T>7*;_Ti zo4iaoC!0Ym1-4djd0trA4(L#Lf28(E;ZLS6=b%-6@88x^`T2Qj`XqP8~v?iTjn1|c~C9eWr)de zE0c}AS@v(lYTe3n9^iu)+k8Mv_Xr_KpWn}=6F*?uTVEGF1`oH7WEA2E@5~rh(-c8l zmg@&$AoX!dsnocsS)8b$Zx&de zTJxG23@twk>s}RL76zB234YS0kc+ONcSlVUKjw}3_g;>BcbW(h)7>CgJR?%-yiqT1 zcrKq4t$Q=Tzh0bVI^HtfyjmIO;vRs4y3~DMdV#2atfRm_%e~7#e7rH5e+YI2Pq<2K zb|=PqV@lm-lUU2=z01Bt4LnbB9Esq~7h7Ud>pFTo%aw$39qmD5OwZk$SN0g9^qk)| zI_%1&S#!>5+Z9H>NYpxroAT#W6>+5S^X+}WOr(vrJf>64fM!T74N;T&7_!=#8 zRR;5Gtx#ote9D>I$@1aL;90u2@Z{4g>+Op&px!LPy@qYgleVj(Av;@4H4@>sI3hni{dI!6WlIIbZJLf9Z&i!ie3-wj-TfKm+K#Bu6Zz z2h}7I2mRGJg}Xftd@5lgJ_hEyAW6Jij}}9pE7QG9#93iJ^P2bSS?ftlJ~P{k&CPgy z=*MLIsfTS0(UW3FLyL1yYs;&W-#^ordGxXXtF@w^16tad2oLUjX?I{LY~NRX$(qD@ zw$?aPrdxn@O1xwI{-Y#JnuBlfJ*2JN{{^dcw-FlU((#{ZWY5A_m!unI_gk;OT?f~@ z&s^+0nsMRiMjzx?9xEwZV*^c7C%4t{TSueuK`GW&0&Sp?MS2Xu) z8$X)NI(2UDa=^CRZX7f#VCQ}YPFZF>bH0@wWmml`HTXdsiJ?yTd_HGrty~ksl zAZ>#DyNIZkBC&~vttX91MQEu#7B85kx%WjI7TW9hsMrlBRkk&_^!S=ShU;N>EvLE` zUmqyy0tH?=bUjt@Tay$Mqu_S6Uy2tz7JT(W{n#O?r6R_>8(g<#8oB#D*Gme@N};DX z)-}VKMVje7BoN>hODk`6pR?Y8aH$?khGL;+3Dg=JGGOv8{@;$|MP)QMOssO5`X)X)72omK z{HxaI@z=OG73w;4laPvTqJF2MPv$m=0C=n4jK@$FY{5 z0tx?c!bgvl6y#zOd+bzY&!UZw5y-UE6*w*O zg&K|Y%*in?SU$ZzH{SaAb$6Ni5jhJf=Wq{+G|065EwbJ0SmsNwzC2akwqH8Nn*7rzA4QMVVDo` zPemO`Um0yrR5zAsIZ;d-c3jJPWv&!jzB{CAEVb&!*r(FLw$JsXIJ$Uf!t2n=DJ~SG z8h>GH8m6n)Q8F~b^$y_EiX-b~{{p=0SXS+T&&feD1e;N1XlAG`rIiTQcOh+c2w@bM z@$AxWVLTI|q}InuWd+oVQJK8OETxT@J0v}eDT$nj*>;Q6#Al&H1KD?f16gl_4$BB& zh3P+Hu+khlhisx*w|H&1CM%}44aOP~b3UTxhr%QP-}W~Iw1cH`KjNLSaQu!ABhLs@ z@8RH3>xq9@qs|a%P_8&9>P*@?uS59&5&NuC>TPrV8Ft0%q60RS5o9JA8Izy{MD$YKqR_>m#kbD{#-q9Ijm<>t;*$6KWp_cFn>zo&g zaLKTXmW4J#`dWp!tphRNd~>6<>9p<-^So$3C8}TEeachDRM{5m5-u~Kl7VF$TUjZH z)KM?e);(RSAHyxPkQ0Am*Ix@4^g5ljkVTN~e_*!3ze5l=G$;gdW5d0m`AcV_Jn)|p z#NE)BA8I&Ba2D<;03mEkUJ_{_BKdW`EI{zF^$#B$avNiUBWXT;9+XT>1#yPIy`9Nrcz>wjM^VL>c$x7ARoMJz7eGMfo zea^3RTXjT%l9O&W$<`(V%v<#q`VKRXU2L1`n`!IHkv;0#s|r7RE^KD;Bl7c}hH&gY zB*_{HuLh76M1;Xz0xB1{-eqSQfIc`3RIhz#;d%sXdm~OHvjk_u?;r%L1gH!;#H`2j zhzi3yIkycBGv^Gi+$j&gE>IX6JicAS-p?-5;~(oH#06S*;l>kNuP(5w?=73GkiOw( z)QSC6v45(aIGmwp=^PI6((RKGCHA(cWG$1UBWQH2Tw6f)#vKJ@{9(=6Bc}TKjd%wB zqGPtV%RWf~L&Em7&}>7_@PfsK4uj0zVWfoo%ks)mJe)Fy)0Hqw%-Mat{^eH*b-`8i z{UXo5^lr$bb{FulC2Hr6Z`aFBXfZ`>%USlHhymHOU#uk~3a-L-{Y#-V1SE^8(%t$*$J1gQM; z7~jVfTNF$aoHh5d1fxv(o1py$?=PnOTIen>IB><1j?cXP^0nxm6PajR>>pEJ_FuIh zOi8msIw2HXNe@~-iz|OZ(EwrRj91L3n=ARB`EP{`ZPsnM>e|@Xqxs^m%4wSeYLcEs zM)0z3e(aB7JPGtI2Jzdvn^W5^sCc;un88Pvv7wnEscvl?j!v)0*X%7db7$S4&ZE`0 zQ&+E`Zbz%m1vHrwNRK3N_;#z(Sd?U$9Yru-lYZr&DZ50O|X8O#h8 z3>|KY(`~Mv(UYma!2erQ4_$9QqMP4C!IB6iJGMFMk((h~-2s{QP8PkL8R?{(rid9b z`SQJbI^A>YldOVPUUCxt^#}6#hg?wG8JBtPVga=dSb;H)f}$^l)#JFNfsty15ft{C zQt%M1HrYIKzo!JXn;k2g5rD>Rn8U});g7zvwX65J9voV+E*x4dC05wh&6LFW0UWoa zt6%VX(&#ZT+O&NSjOr+R>klF|Z=QNNIJy=gMVg(ro$A;ryYO>)y|w8|tm zB}KdQ1Si3(2v$TF2c(#U z`*Tl)Uf)-_mDLU*EL#G>>@DW6v2(H8?&;7|{9CyN4Hs4`v8cJqee;sWGT7=6kk!`w zF#as$E9Abu9pt_fG>n-o-z4xnHJr9ij-UbUOz9P2SkpHB_)!I?{H)81ETPtyEEVMX zPfr}fZydBc@f%?A%!9E{rUQopQ)429`oC7}-Z5~)z9g*&s*kY3wkrtk_G*AQ@%XdhudNzcciSUy>5ruV6Z3E7385}_UpzV^P+j;rD~I#r zM?YQywSO3Yon7D$%6W&uk8GHFck@Z9CsyZt&8rSt*ulO8)y^QXmi@GT&Si!>%cTLo za4V(`dN%Cm?YVK08y-w0pxSDaeqesHObg2UETtr?rBLK+8fm>kmH%W-N^(Lrh0N1x z7LVjAQ?hZO4B8!lDOaTd_A9U!@r{HX(s@9BDvKRYMz8gnO@ z0G$@vxi)9n`3D_0jgpFe5_zB76!ua^EkplUt4*es+4!TR3^1Dp!Dx*Nz`0m473<~TJhmjtzDD z>Fy?IvfsZ}P?Swb9EfyHP|kY^htbQFK(D)(gFqNg6DDYTR&*3VbSV;i#tOa0VP6TVXq?^; z6P27Q`*}+DJ&i}S@*OPNH7g9_okOd=&(Plr__N0=G%!Ib&ULtN{~WeR)qNd*WTf|v zqq`VO5N@+M3v#;Uzgl_RzEV0MGV9uyuh+P?_^s@I*?YGagcK`hegzvBGLy#^;I^{J zE7Tl~VSlMWnZuQ$Vartlb$gm?B6OW>Qp9aHo>MY)K1!P@A{uWS!Q^tK^}Sius@Hbf z0wM}oetH(`s|*Zv{c0d@B}S4({0Z@@^h%vSEp|>>o|!^-+u7DCajH(PcHQ5B zKmTor1aR53KbZq)8pA60e(X*VMYF=Sw-f8T z`k*>JY*&rr(Og{Bj%)sh?WiSW!zFiiUlP&v^4I+eo1yY z-%mL{1D&k#vY>xr5%Gn^UqGoa>4i z@3QcWL-HbYO^+i>qCmQNCF*)1jq)*1x1%$aVh=~?N8H(8D69oI*G&f|l}myW_tLvA z56zE7y^(8OI&6R)i`tPF&xQ;A-kT_>&L2*H^4wI8)tcHkeY$)W#rNGP!vJ-t z5@GmH9LA9oXyugwr#ukgCL^@yI$%Q`7FPYX0iHTx7d(4{8>TziYq0CFFqPbS^ZLhg zSw}G-t$fcM21vjVjXm;1IOS)HcJCOCv<2i`eOW9nqEp1eKocA)sW<4%RF%LPFLdo9 zm+b)V5V{`iyp8)_qOR+R0{oNf;y_VPW^b+Os+iLXKhTrT1BRhAeytax_Mdx~Dma5d zP^|7v9JhZF=IRutT1v$x{7sG=@;qDjzn2UR;}FD_90jaxidk41IPi%2#t&WENv?xWpP*<% z|Edo!u_hG}30lR;`S%U)7{fcf?_*P*m;b9KGnn_!n#}*W1qC&yF88r~nRt4&!B!Se zA)l4)%WOp;|0=)7PjI8*JHZVm-Dsk+U`Bo z_E}$x7WkMa41BRzJ+yW#aS0GM*EI_2$6!}<86{fVH*U6N&S6!|x;?^kKUx7T7Su&< z9rj8{TO`q$%uJ}Q3;hwBIxb`X$_bBv%tdXI|H(t+esTH4b!9Kv-J3({8UA8Fco*12 zZZ9b~JXTertMC;LeW97do28f_DOa}KdQjbG@=Bmx^4e$$sedcYJbm%Gh^@7bxNYiB zfBtmiWAXWhi@a1`Luh^7+{Lo4?nxH*H@9X`Wh4Y~z<)tl%3)!i!66f1mUK=;bPN7} z*n8`!DA%uVTsa~NqN0RKDX2(;bPl4Fv~&wdmoRh;q9P?Af;5bDNp~wPHFS3kH4Hfe z49vW@Cp>%~J@4;1&w2j&z3Z$6cyr@gb6tDy>$B_Hd*{xl=#%?O)k+7&*BuC1b2hE% zP!p+;A2g79Ao1sdo^IL}wml$Ma+PX-jh9mJ8Y5b?qFg`QHuOtmy`5?FL_eo5&m+%K zy(2k~60uC_nuv@9kgmKHbmx>Z2SrA;ruo)K5CMyBg~@qv@Z{xD5gm*EJZ*RMp65ig zzx)Li0V8w9P{yKdbm8)r;dI}5-~u$Qiz*qVx(qpN?pWnZ@?w6+#5c2$) ztU?fBWc+RUymhv+n_HQ74;lgk8Zd8dP@7;;CWrRI%L@=~<$67^T{dF& zJ9ssIpjSD?ZYYWzonKgD(UlA4N`46oVf7qH@-CyQ?}+k1ZU?pkDO5`4V;E&O%;8AR zde$r%eQ(bATGTe@+wIgMFZC~u{Le6ztfZqALzbE?gl8J>zqjpR)vSs4ohc(d0%`|; zkq`qqp$yiQ#GN$Y>Ik3Bd4+k#4*zEl$Zz$-vx4Km9cpk{*M1KbJJ5X)yBPLZx364prcOOxV1w*B}uGdn(5rcSZ1_Ccsvuf z=W8Ehz!}FWqvxRdrJ-_=pN!?B9ta`}l zE)SvM)`wlrK%EkAZooQL~xM{MWipx}w%y{rr^lr2|!$TjgHQ*lpZA zogQ5HtkT{(!(AVQB&+N^ESn<&aaP$6@o&r%n7*przpbFwV0gIzk6LR(Y^ zByYWJy`iZ-lX=)8;W+;(>*!PG6O4BW(1e+!iUoLMz@fW$Gz2NXHbH#}a9FJ9Ux` zY;))HRSAdK!lHfv1O)O%CSbJ(_oR1guA z=I(d4*52cj^aBSL?FKq|dPwohGmw6Y{OQ+jo1*h)kYoGB&2M4C^{;5|4qadHcY7?- z>OK^yC-r4w_ZIH)v|1SK?fpYiC~>^8e^~#_6swh%oZkLsV^}u~bbiNZd^Y4jYVd1y zDCm-{cUdr$62vVWeip^eo(AlR;RLG!?-sg9NtoFQJq&i-iR(I zHTp7ipWMQo_Z-4ZUm+H}W5eRutu(kog*YC)tGyFp$HTeJvH)9PRwsKTn$=<+axNUT zwxqmc*O@M7L+0dE(*Fjz4A-j*)$#;sG^0`1bZpJAxkMH%&7~0tK{0lb>NmVAaNZr= zf}>ZZOg7|sn*yZAZ%v@cm^JdAWGk(G(f6URxutw8sDBNTgnkQ>D-GrTJ*9GZ|Z=li$oTxgpC61`-J0) z`Wg`5#lA+!Dv9YBiGA1DTkDy-O*_XGzO4PEkab(;`w)85`H@LjUK$T9LYG*Q<=xH5 zElaZ;c39D1l$p3sfJMnnf|Tq=Y)3=6c!3|(&pO*kUr153BL1G4@SR_(7wP#oj}FE28szotV#8VwuIiG>}c1-I#YcaNF!1&$Jca zU&z_TJ|ASVr)DqP=JZK=%Ef44eur+BX85HkSftww8LIVcQ+35d`?Wwf`qdD0#<}1{ z(w)m3o5!8xV&d(+;*oBS^2L|A=@zV>$iIpTX(a_tG$Ky}R z`b_UsqR!PBSxMNAFt zy%HMoi7Ic>9XA%E-?RLcZ8_4_iNUE)tKp z6`k&gyX#K%KzCw}Or*2*w#dM$TM$sb=gD3wQV`n^nOy&gm0NGYu}CemP<24ry8roW_lZkp_?CL*uuji=o7MHpu*(D`v%c4!GVW|t za)T{rmxLrr0AsZ-G-7$eGD$o<Pvv zvY$lX{ouSYCJFM_EPX$6p{q74Y^laZTUBl_$fHaO9p-okvUPT=%v(ps#*)*wf1d7T zU<+wJh`hV7^hH_Z(6aV3D?E8(o|4Kz@5qXcsBS%-n6)=_5A=S~sg3nu)scD1tUc8% zH@=~>2DQ#XODe)d+4eie1ZL&?|d!a$f`+}li#v+};_5Stu zHKtVdvjG~f`O3;|4o~a!1d3ke>W4p>uU^{3w6rsKg2N=dy1qlpE9|(j4nIJNLv4xL0+|q})#*m8)6A(Mg)y~c ztfA+r3dt4c9@sEscHXXG+k*7qu?^Qq1%;joB0mS+@)W)XVqQfQzs$`q*(wawSNt_* zut|Nlv;^eE9@N{!7nM8E8KkMTTI^wvZ5E`aqwUF=;*sE_v^K0=gDKrYrE!}%IO=Jg z*1DIy&9nr&EdwK`G01{}OqR-&JO)+i@h#abzJZ%l7!y$tZ|?s1uBfuJSE!VleX0@BR4g{cZB>V}+OI?Gfp2Ebi&TbEIV~Pcp*LEtpp6Vd zzUJpNn4LwBGq-xB3WHATf-QMN*R%?HZ@(l?9A@EL6p3+VW2y)alvZoMSyFI6D)&wo zQSKeGL8_pF`HFy6&W=)_4iiGyqkKnS;|^+=1836v4YwW!Gy$m9!PCH9BcOE2YG^^i{em?Igy`UDzU#)oaiXYaMj>&KtOhf1?R$8uLqKV@`h^=FpPm zP~h#ja~=vZ z=(iSSw?j|z_8)bB1>zok_Tp@puQ{F(H&hT@lX_))YWecH-PdB;4`dZr^GYtz78gb4 z2K&p$RZ+%T^a>r#qn@ZW&fjz5Hp~`$ce3m5)3#sR8#(j;H`*JOB;D-{!$O7K`Y z`}S3P9a7KQfS%BFK(Eqo4dibKINVlKQ|kqKn!fbbPHOs^hJJszM3H`%9w*F5WzjB*U!}^}B_rABegf~Mazc!WTM@OMKHEA^W+Hj!L@Mp` z^IK2(DhMp)PNwFJ|EhH`(8GII@6l!TQ>TG$H2iswfw36^bnPVe3W~1_R|Kucs`ntzl)A_1JS-tzeb)e>P3C#ey$8M6W@^D)Y z+=FQ=*!c=L>nS7%mj2O)dbBv>=M9}t?6Zj7F1-{qCaWss8#@JxY6+E7KBp!2H1jI| zq(mI8Ra&i9GGqPNBXB;|bUpoja*xzm0lrD`VOXrBg_C^(dueaB(>S45Udll^EaS~r z3pvCtlB4(JkQt!SnNp$j^pLie%}E}LsQt6_YU=!J-QSxe&0OV|j{qfPtcJ0)t_0i+ z=~$`^SzRr0pm{;?>z%say3}1;{Z?A|ZeIFikE;J`>ttYD7uI+^8zvMA8Zlls4F zJ%uFtZDz`oxXIge&SyU0I~otlOtineJvsC^EQKsgI+y8dV1490bDVkVy+Cs%QZ@OS zHoE#764kbkpN+kfyi={IED>d(ruF)lFFu7L`vk-DUyQ5ZmGiI!vygiDe&+~yBOe{s ziEiDQK%zYj&~NWV`*~pGUo^x+JX))FYDkwH;g}XZ`WL70&fWa>L-p!Mj*Qr=TEG4F z>#N^?e0~XRx9B53$k~ekrma)xggO};cJJ<%$ji%*uJmUhWTyoTapVI8(ujD({r*MuY#WN3}(en}l`td1rRHbzv4-d7r1@>y? zMWP-)d{|~V$fUR^{`A4Oc@xEwDV#{SPM!Yk$Jk9VLj}s7(JR0I{^wr~ zrNrt7Y~cYp6A!f%m?EJ;^CM_*j#vwZbIB`M#YS1TQd`k2b{JB)rl->p}9G z5PYNpzF5a;fpdbT%0u_$*v_=$tFv%nf)t6zf`^HDL99}~0tbqn0XeCJVBtJy;Q)9A zwz4;DFwL|Yu+}RzBaVlatHmC!bs2HuR5K2QGbps<_)pL>feu)3M$Od;f)g))qyKIy z5NsH8t6)MaMTQ41!sqx=$3WMZ*C+P516{#cZs1IS$LvVe`CM zuJDy;z$0j6I8 !6!9EIgEbSNCwot&x~-WM<~0zCzGveEho%42aTUeJe7cTv4EQ z=I-r3rS)ddX*>WpKF57#J@N842oXaPHW}EKuSKYBB(X4%b-366}K!UZa&ObOI;ewBV19{PnzJmC~%iqL&S>9*A0~iBe za1u|7e~u>)4MVz9@y_9zsJtvg>iXJ=92F9UEpXf0)yHspY7biuyh>AYQQd3jR

    76X6I}D#M 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 Ud>y|E{B!)M>ygrb`hER>01_yyr2qf` literal 0 HcmV?d00001 diff --git a/static/img/rancher/istio-ingress.svg b/static/img/rancher/istio-ingress.svg new file mode 100644 index 00000000000..abb12973085 --- /dev/null +++ b/static/img/rancher/istio-ingress.svg @@ -0,0 +1,3 @@ + + +
    K8s Service
    [Not supported by viewer]
    Istio Service Mesh
    <font style="font-size: 25px">Istio Service Mesh<br></font>
    Default Nginx Ingress Controller
    [Not supported by viewer]
    K8s Service
    [Not supported by viewer]
    K8s Service
    [Not supported by viewer]
    Istio Ingress Gateway NodePort or Load Balancer
    <font style="font-size: 20px" color="#FFFFFF">Istio Ingress Gateway NodePort or Load Balancer<br></font>
    Two Ingresses for Istio-enabled Clusters
    <font style="font-size: 21px">Two Ingresses for Istio-enabled Clusters<br></font>
    • Allows Kubernetes services to access external traffic
    • Default for every RKE provisioned cluster
    • If only this ingress controller is enabled, Istio can only control service-to-service traffic
    [Not supported by viewer]
    • Allows Istio to manage ingress traffic directly
    • Needs to be enabled in Istio settings
    [Not supported by viewer]
    \ No newline at end of file From 01b3cb13ca6f33cc2d53ac1226fec4774ff6f2b4 Mon Sep 17 00:00:00 2001 From: niusmallnan Date: Tue, 8 Oct 2019 14:02:56 +0800 Subject: [PATCH 32/32] RancherOS: add date and time zone page (#1714) * RancherOS: add date and time zone page * Copy edit time zone data page for RancherOS --- .../configuration/date-and-timezone/_index.md | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 content/os/v1.x/en/installation/configuration/date-and-timezone/_index.md diff --git a/content/os/v1.x/en/installation/configuration/date-and-timezone/_index.md b/content/os/v1.x/en/installation/configuration/date-and-timezone/_index.md new file mode 100644 index 00000000000..13ec156209f --- /dev/null +++ b/content/os/v1.x/en/installation/configuration/date-and-timezone/_index.md @@ -0,0 +1,22 @@ +--- +title: Date and time zone +weight: 121 +--- + +The default console keeps time in the Coordinated Universal Time (UTC) zone and synchronizes clocks with the Network Time Protocol (NTP). The Network Time Protocol daemon (ntpd) is an operating system program that maintains the system time in synchronization with time servers using the NTP. + +RancherOS can run ntpd in the System Docker container. You can update its configurations by updating `/etc/ntp.conf`. For an example of how to update a file such as `/etc/ntp.conf` within a container, refer to [this page.]({{< baseurl >}}/os/v1.x/en/installation/configuration/write-files/#writing-files-in-specific-system-services) + +The default console cannot support changing the time zone because including `tzdata` (time zone data) will increase the ISO size. However, you can change the time zone in the container by passing a flag to specify the time zone when you run the container: + +``` +$ docker run -e TZ=Europe/Amsterdam debian:jessie date +Tue Aug 20 09:28:19 CEST 2019 +``` + +You may need to install the `tzdata` in some images: + +``` +$ docker run -e TZ=Asia/Shanghai -e DEBIAN_FRONTEND=noninteractive -it --rm ubuntu /bin/bash -c "apt-get update && apt-get install -yq tzdata && date” +Thu Aug 29 08:13:02 CST 2019 +```