From 7163ab7994c5b9835b34d0bd2c928a04881cbf04 Mon Sep 17 00:00:00 2001 From: rawmind0 Date: Fri, 27 Jul 2018 16:45:51 +0200 Subject: [PATCH 01/18] FAQ guide for network CNI providers --- content/rancher/v2.x/en/faq/network/_index.md | 9 + .../en/faq/network/cni-providers/_index.md | 156 ++++++++++++++++++ .../cni-providers/img/calico-diagram.svg | 1 + .../network/cni-providers/img/calico-logo.png | Bin 0 -> 34608 bytes .../cni-providers/img/canal-diagram.png | Bin 0 -> 211428 bytes .../network/cni-providers/img/canal-logo.png | Bin 0 -> 38090 bytes .../network/cni-providers/img/cni-logo.png | Bin 0 -> 11604 bytes .../img/encapsulated-network.svg | 109 ++++++++++++ .../cni-providers/img/flannel-diagram.png | Bin 0 -> 87847 bytes .../cni-providers/img/flannel-logo.png | Bin 0 -> 20980 bytes .../img/unencapsulated-network.svg | 105 ++++++++++++ 11 files changed, 380 insertions(+) create mode 100644 content/rancher/v2.x/en/faq/network/_index.md create mode 100644 content/rancher/v2.x/en/faq/network/cni-providers/_index.md create mode 100644 content/rancher/v2.x/en/faq/network/cni-providers/img/calico-diagram.svg create mode 100644 content/rancher/v2.x/en/faq/network/cni-providers/img/calico-logo.png create mode 100644 content/rancher/v2.x/en/faq/network/cni-providers/img/canal-diagram.png create mode 100644 content/rancher/v2.x/en/faq/network/cni-providers/img/canal-logo.png create mode 100644 content/rancher/v2.x/en/faq/network/cni-providers/img/cni-logo.png create mode 100644 content/rancher/v2.x/en/faq/network/cni-providers/img/encapsulated-network.svg create mode 100644 content/rancher/v2.x/en/faq/network/cni-providers/img/flannel-diagram.png create mode 100644 content/rancher/v2.x/en/faq/network/cni-providers/img/flannel-logo.png create mode 100644 content/rancher/v2.x/en/faq/network/cni-providers/img/unencapsulated-network.svg diff --git a/content/rancher/v2.x/en/faq/network/_index.md b/content/rancher/v2.x/en/faq/network/_index.md new file mode 100644 index 00000000000..a05e993968e --- /dev/null +++ b/content/rancher/v2.x/en/faq/network/_index.md @@ -0,0 +1,9 @@ +--- +title: Network +weight: 8005 +--- + +Network FAQ's + +- [CNI provider]({{< baseurl >}}/rancher/v2.x/en/faq/network/cni-providers/) + diff --git a/content/rancher/v2.x/en/faq/network/cni-providers/_index.md b/content/rancher/v2.x/en/faq/network/cni-providers/_index.md new file mode 100644 index 00000000000..6abb62fe8c7 --- /dev/null +++ b/content/rancher/v2.x/en/faq/network/cni-providers/_index.md @@ -0,0 +1,156 @@ +--- +title: CNI providers +weight: 2300 +draft: true +--- + +--- + +### What is CNI? + +CNI (Container Network Interface), a [Cloud Native Computing Foundation project](https://cncf.io/), consists of a specification and libraries for writing plugins to configure network interfaces in Linux containers, along with a number of supported plugins. CNI concerns itself only with network connectivity of containers and removing allocated resources when the container is deleted. + +K8S uses CNI as an interface between network providers and k8s pods networking. + +CNI logo + +For more information visit [CNI GitHub project](https://github.com/containernetworking/cni). + +### What network models are used in CNI? + +CNI providers implement their network fabric using either an encapsulated network model such as VXLAN or an unencapsulated network model such as BGP. + +#### What is an encapsulated network? + +This network model provides a logical L2 network encapsulated over the existing L3 network topology spanning the k8s cluster nodes. With this model you have an isolated l2 network for containers without needed routing distribution, at the cost of an little overhead in terms of processing and increasing ip package size with an ip header generated by overlay encapsulation. Encapsulation information is used to be distributed by udp port between k8s workers, interchanging network control plane information about how mac addressed could be reached. Common encapsulation used in this kind of network model are vxlan, ipsec, ip-in-ip... + +Simplifying, this network model generates a kind of network bridge extended between k8s workers, where pods will be connected. + +This network model is indeed when a extended layer 2 bridge is preferred. This network model is sensible to layer 3 network latencies of the k8s workers. If datacenters are in distinct geo-locations, be sure to have low latencies between them to avoid eventual network segmentation. + +CNI providers using this network model, flannel, canal, weave... + +Encapsulated network + +#### What is an unencapsulated network? + +This network model provides a l3 network to route packets between containers. This model doesn't generate an isolated l2 network, neither generates overhead, at the cost of route distribution needed, that is managed by k8s workers. Instead of ip headers to encapsutate, it uses a network protocol between k8s workers to distribute routing information to reach pods, like [bgp](https://en.wikipedia.org/wiki/Border_Gateway_Protocol). + +Simplifying, this network model generates a kind of network router extended between k8s workers, that provides information how to reach pods. + +This network model is indeed when a routed layer 3 network is preferred. This mode dinamically update routes at os level at k8s workers. It's less sensible to latency but + +CNI providers using this network model, calico, romana... + +Unencapsulated network + +### What CNI provides Rancher? + +Rancher supports three different CNI providers for k8s clusters. They could be choosed when you create new k8s cluster from Rancher. + +#### What is canal? + +Canal logo + +Canal is a CNI provider that gives you the best of Flannel and Calico. It allows users to easily deploy Calico and flannel networking together as a unified networking solution, combining Calico’s network policy enforcement with the rich superset of Calico (unencapsulated) and/or flannel (encapsulated) network connectivity options. + +On Rancher, canal is the default CNI provider combined with flannel and vxlan encapsulation. + +K8S workers should open udp port 8472 (vxlan) and 9099 (healthcheck) + +Canal diagram + +More info: +https://github.com/projectcalico/canal + + +#### What is flannel? + +Flannel logo + +Flannel is a simple and easy way to configure a layer 3 network fabric designed for Kubernetes. Flannel runs a single binary agent called flanneld on each host, that is responsible for allocating a subnet lease to each host out of a larger, preconfigured address space. Flannel uses either the Kubernetes API or etcd directly to store the network configuration, the allocated subnets, and any auxiliary data (such as the host's public IP). Packets are forwarded using one of several backend mechanisms, being the default encapsulation [vxlan](https://github.com/coreos/flannel/blob/master/Documentation/backends.md#vxlan). +Encapsulated traffic is clear by default, flannel provides experimental backend for cipher it, [ipsec](https://github.com/coreos/flannel/blob/master/Documentation/backends.md#ipsec), that make use of strongswam to stablish ciphered ipsec tunnels between k8s workers. + +K8S workers should open udp port 8472 (vxlan) and 9099 (healthcheck) + +Flannel diagram + +More info: +https://github.com/coreos/flannel + +#### What is calico? + +Calico logo + +Calico enables networking and network policy in k8s clusters across the cloud. Calico uses a pure unencapsulated IP network fabric and policy engine to provide networking solution to your k8s workloads. K8S workloads are able to peer with cloud infrastructure such as on-premise, using BGP. +Calico also provides a stateless IP-in-IP encapsulation mode that can be used, if necessary. +Calico also offers policy isolation, allowing you to secure and govern your k8s workloads using advanced ingress and egress policies. + +K8S workers should open tcp port 179 (bgp) + +Calico diagram + +More info: +https://www.projectcalico.org/ +https://github.com/projectcalico/calico + + +### What can I find out more about the different network projects? + +Once 3 distinct CNI providers are presented, it's time to see summarize features and popularity activity on github projects. + +#### What are CNI features? + +Here is a summary of different features of each of the CNI providers supported on Rancher. + +| Provider | Network Model | Route Distribution | Network Policies | Mesh | External Datastore | Encryption | Ingress/Egress Policies | Commercial Support | +| ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | +| Canal | Encapsulated (vxlan) | No | Yes | No | K8S api | No | Yes | No | +| flannel | Encapsulated (vxlan) | No | No | No | K8S api | No | No | No | +| Calico | Unencapsulated | Yes | Yes | Yes | Etcd | Yes | Yes | Yes | + + +- Network Model: ecnapsulated or unencapsulated. More info at CNI network model section + +- Route Distribution: It is a must on Unencapsulated CNI providers, and it is typically done by BGP. Route distribution is a nice to have a feature with CNI, if you plan to build clusters split across network segments. It is an exterior gateway protocol designed to exchange routing and reachability information on the Internet. BGP can assist with pod to pod networking between clusters. + +- Network Policies: K8S offers functionality to enforce rules about which service can communicate with each other using network policies. This feature is stable from k8s 1.7 and is ready to use with supported networking plugins. + +- Mesh: This feature allows service to service networking communication between distinct k8s clusters. + +- External Datastore: if CNI provider needs an external datastore to persist own data. + +- Encyption: This feature allows cypher and secure network control and data planes. + +- Ingress/Egress Policies: This feature allows manage routing control for k8s and Non-k8s communications. + +#### What are Github projects? + +Here is a summary of different github metics to take an idea of projects popularity and activity about of each of the CNI providers supported on Rancher. + +| Provider | Project | Stars | Forks | Contributors | +| ---- | ---- | ---- | ---- | ---- | +| Canal | https://github.com/projectcalico/canal | 536 | 75 | 19 | +| flannel | https://github.com/coreos/flannel | 3.279 | 774 | 107 | +| Calico | https://github.com/projectcalico/calico | 572 | 225 | 82 | + +- Project: main url of the project +- Stars: Likes on GitHub +- Contributors: number of people maintaining the code base and documentation. +- Forks: number of copies of the repo. Contributors typically have to fork the repo. Other people will fork the project to build a custom copy, push code to a feature branch that they own, or for various reasons. + +Note: Tables is updated with 26th july 2018 data + +### Which CNI provider? + +The above question doesn't have a trivial answer. There are many different providers, which have various features and options. There isn't one provider that meets everyones needs, and there are many different options. By the moment, at rancher v2.0.x we are supporting 3 of the major CNI providers that could be used by every user. + +At rancher v2.0.x, canal is the default CNI provider. We recommend to use it in most cases. It provides encapsulated networking for containers with flannel, adding project calico network policies that can provide project/namespace isolation in terms of networking. + +Anyway, all of 3 solutions could be a good CNI provider choose and may work perfectly fine. + + + + + + diff --git a/content/rancher/v2.x/en/faq/network/cni-providers/img/calico-diagram.svg b/content/rancher/v2.x/en/faq/network/cni-providers/img/calico-diagram.svg new file mode 100644 index 00000000000..a8a95ec7b50 --- /dev/null +++ b/content/rancher/v2.x/en/faq/network/cni-providers/img/calico-diagram.svg @@ -0,0 +1 @@ +arch-oss-value-prop5-sm \ No newline at end of file diff --git a/content/rancher/v2.x/en/faq/network/cni-providers/img/calico-logo.png b/content/rancher/v2.x/en/faq/network/cni-providers/img/calico-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..1babef8df8d148befda33946f7490e97d9e7b6f4 GIT binary patch literal 34608 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�dQ`55WF!w6kh5d4$Hbm z>O|8EBRS)*<>c>bSEZC?JaxCUVr=ZUx(4tR<3#FAWpl%2v^WIHR|eA0DvV{G$*D

ZG9@RT`TZ7!4D3&z>>)j@tz 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 z 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 z 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%0DF2HH^y6 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%0Al3bYMU3QJT28w=C~s?VCn_<)OxPs-Qtmq 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%0D~}aK%FXl;Z!R*+e2bU3} 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⪼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 + + + Produced by OmniGraffle 7.4.3 + 2018-07-27 08:48:50 +0000 + + + + + + + + + + Canvas 1 + + + Layer 1 + + + + + k8s worker + + + + + workload 1 + 10.42.0.2 + + + + + fl + anneld + 10.42.0.1 + + + + + workload 2 + 10.42.0.3 + + + + + 192.168.34.10 + + + + + docker0 + + + + + + + + + + k8s worker + + + + + workload 1 + 10.42.1.2 + + + + + fl + anneld + 10.42.1.1 + + + + + workload 2 + 10.42.1.3 + + + + + 192.168.34.11 + + + + + docker0 + + + + + + + + + + encapsulation + + + + Overlay network 10.42.0.0/16 + + + + diff --git a/content/rancher/v2.x/en/faq/network/cni-providers/img/flannel-diagram.png b/content/rancher/v2.x/en/faq/network/cni-providers/img/flannel-diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..aba8b2bc42be63d36f471490c0e05418d63fe54d GIT binary patch literal 87847 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 literal 0 HcmV?d00001 diff --git a/content/rancher/v2.x/en/faq/network/cni-providers/img/unencapsulated-network.svg b/content/rancher/v2.x/en/faq/network/cni-providers/img/unencapsulated-network.svg new file mode 100644 index 00000000000..58bfdbf3760 --- /dev/null +++ b/content/rancher/v2.x/en/faq/network/cni-providers/img/unencapsulated-network.svg @@ -0,0 +1,105 @@ + + + + Produced by OmniGraffle 7.4.3 + 2018-07-27 09:12:19 +0000 + + + + + + + + + + Canvas 1 + + + Layer 1 + + + + + k8s worker + + + + + workload 1 + 10.42.0.2 + + + + + bgp r + outing + + + + + workload 2 + 10.42.0.3 + + + + + 192.168.34.10 + + + + + docker0 + + + + + + + + + + k8s worker + + + + + workload 1 + 10.42.1.2 + + + + + bgp r + outing + + + + + workload 2 + 10.42.1.3 + + + + + 192.168.34.11 + + + + + docker0 + + + + + + + + + + ETCD + + + + + + From 424333b8ac90616ebcf7df8adacaffdb1b225d34 Mon Sep 17 00:00:00 2001 From: Mark Bishop <37810556+MBishop17@users.noreply.github.com> Date: Thu, 16 Aug 2018 20:14:35 -0700 Subject: [PATCH 02/18] Making grammar/style edits. --- .../en/faq/network/cni-providers/_index.md | 136 ++++++++---------- 1 file changed, 58 insertions(+), 78 deletions(-) diff --git a/content/rancher/v2.x/en/faq/network/cni-providers/_index.md b/content/rancher/v2.x/en/faq/network/cni-providers/_index.md index 6abb62fe8c7..3097212b54d 100644 --- a/content/rancher/v2.x/en/faq/network/cni-providers/_index.md +++ b/content/rancher/v2.x/en/faq/network/cni-providers/_index.md @@ -1,156 +1,136 @@ --- -title: CNI providers +title: CNI Providers weight: 2300 draft: true --- ---- - -### What is CNI? +## What is CNI? CNI (Container Network Interface), a [Cloud Native Computing Foundation project](https://cncf.io/), consists of a specification and libraries for writing plugins to configure network interfaces in Linux containers, along with a number of supported plugins. CNI concerns itself only with network connectivity of containers and removing allocated resources when the container is deleted. -K8S uses CNI as an interface between network providers and k8s pods networking. +Kubernetes uses CNI as an interface between network providers and Kubernetes pod networking. CNI logo For more information visit [CNI GitHub project](https://github.com/containernetworking/cni). -### What network models are used in CNI? +### What Network Models are Used in CNI? -CNI providers implement their network fabric using either an encapsulated network model such as VXLAN or an unencapsulated network model such as BGP. +CNI providers implement their network fabric using either an encapsulated network model such as Virtual Extensible Lan ([VXLAN](https://github.com/coreos/flannel/blob/master/Documentation/backends.md#vxlan)) or an unencapsulated network model such as Border Gateway Protocol ([BGP](https://en.wikipedia.org/wiki/Border_Gateway_Protocol)). -#### What is an encapsulated network? +#### What is an Encapsulated Network? -This network model provides a logical L2 network encapsulated over the existing L3 network topology spanning the k8s cluster nodes. With this model you have an isolated l2 network for containers without needed routing distribution, at the cost of an little overhead in terms of processing and increasing ip package size with an ip header generated by overlay encapsulation. Encapsulation information is used to be distributed by udp port between k8s workers, interchanging network control plane information about how mac addressed could be reached. Common encapsulation used in this kind of network model are vxlan, ipsec, ip-in-ip... +This network model provides a logical Layer 2 (L2) network encapsulated over the existing Layer 3 (L3) network topology that spans the Kubernetes cluster nodes. With this model you have an isolated L2 network for containers without needing routing distribution, all at the cost of minimal overhead in terms of processing and increased IP package size, which comes from an IP header generated by overlay encapsulation. Encapsulation information is distributed by UDP ports between Kubernetes workers, interchanging network control plane information about how MAC addresses can be reached. Common encapsulation used in this kind of network model is VXLAN, Internet Protocol Security (IPSec), and IP-in-IP. -Simplifying, this network model generates a kind of network bridge extended between k8s workers, where pods will be connected. +In simple terms, this network model generates a kind of network bridge extended between Kubernetes workers, where pods are connected. -This network model is indeed when a extended layer 2 bridge is preferred. This network model is sensible to layer 3 network latencies of the k8s workers. If datacenters are in distinct geo-locations, be sure to have low latencies between them to avoid eventual network segmentation. +This network model is used when an extended L2 bridge is preferred. This network model is sensible for L3 network latencies of the Kubernetes workers. If datacenters are in distinct geolocations, be sure to have low latencies between them to avoid eventual network segmentation. -CNI providers using this network model, flannel, canal, weave... +CNI providers using this network model include Flannel, Canal, and Weave. Encapsulated network -#### What is an unencapsulated network? +#### What is an Unencapsulated Network? -This network model provides a l3 network to route packets between containers. This model doesn't generate an isolated l2 network, neither generates overhead, at the cost of route distribution needed, that is managed by k8s workers. Instead of ip headers to encapsutate, it uses a network protocol between k8s workers to distribute routing information to reach pods, like [bgp](https://en.wikipedia.org/wiki/Border_Gateway_Protocol). +This network model provides an L3 network to route packets between containers. This model doesn't generate an isolated l2 network, nor generates overhead. These benefits come at the cost of Kubernetes workers having to manage any route distribution that's needed. Instead of using IP headers for encapsulation, this network model uses a network protocol between Kubernetes workers to distribute routing information to reach pods, such as [BGP](https://en.wikipedia.org/wiki/Border_Gateway_Protocol). -Simplifying, this network model generates a kind of network router extended between k8s workers, that provides information how to reach pods. +In simple terms, this network model generates a kind of network router extended between Kubernetes workers, which provides information about how to reach pods. -This network model is indeed when a routed layer 3 network is preferred. This mode dinamically update routes at os level at k8s workers. It's less sensible to latency but +This network model is used when a routed L3 network is preferred. This mode dynamically updates routes at the OS level for Kubernetes workers. It's less sensible to latency. -CNI providers using this network model, calico, romana... +CNI providers using this network model include Calico and Romana. Unencapsulated network -### What CNI provides Rancher? +### What CNI Providers are Supported by Rancher? -Rancher supports three different CNI providers for k8s clusters. They could be choosed when you create new k8s cluster from Rancher. +Out-of-the-box, Rancher supports three different CNI providers for Kubernetes clusters: Canal, Flannel, and Calico. You can choose your CNI when you create new Kubernetes clusters from Rancher. -#### What is canal? +#### Canal Canal logo -Canal is a CNI provider that gives you the best of Flannel and Calico. It allows users to easily deploy Calico and flannel networking together as a unified networking solution, combining Calico’s network policy enforcement with the rich superset of Calico (unencapsulated) and/or flannel (encapsulated) network connectivity options. +Canal is a CNI provider that gives you the best of Flannel and Calico. It allows users to easily deploy Calico and Flannel networking together as a unified networking solution, combining Calico’s network policy enforcement with the rich superset of Calico (unencapsulated) and/or Flannel (encapsulated) network connectivity options. -On Rancher, canal is the default CNI provider combined with flannel and vxlan encapsulation. +In Rancher, Canal is the default CNI provider combined with Flannel and VXLAN encapsulation. -K8S workers should open udp port 8472 (vxlan) and 9099 (healthcheck) +Kubernetes workers should open UDP port `8472` (VXLAN) and `9099` (healthcheck). Canal diagram -More info: -https://github.com/projectcalico/canal +For more information, see the [Canal GitHub Page](https://github.com/projectcalico/canal). - -#### What is flannel? +#### Flannel Flannel logo -Flannel is a simple and easy way to configure a layer 3 network fabric designed for Kubernetes. Flannel runs a single binary agent called flanneld on each host, that is responsible for allocating a subnet lease to each host out of a larger, preconfigured address space. Flannel uses either the Kubernetes API or etcd directly to store the network configuration, the allocated subnets, and any auxiliary data (such as the host's public IP). Packets are forwarded using one of several backend mechanisms, being the default encapsulation [vxlan](https://github.com/coreos/flannel/blob/master/Documentation/backends.md#vxlan). -Encapsulated traffic is clear by default, flannel provides experimental backend for cipher it, [ipsec](https://github.com/coreos/flannel/blob/master/Documentation/backends.md#ipsec), that make use of strongswam to stablish ciphered ipsec tunnels between k8s workers. +Flannel is a simple and easy way to configure L3 network fabric designed for Kubernetes. Flannel runs a single binary agent named flanneld on each host, which is responsible for allocating a subnet lease to each host out of a larger, preconfigured address space. Flannel uses either the Kubernetes API or etcd directly to store the network configuration, the allocated subnets, and any auxiliary data (such as the host's public IP). Packets are forwarded using one of several backend mechanisms, with the default encapsulation being [VXLAN](https://github.com/coreos/flannel/blob/master/Documentation/backends.md#vxlan). -K8S workers should open udp port 8472 (vxlan) and 9099 (healthcheck) +Encapsulated traffic is unencrypted by default. Threfore, flannel provides an experimental backend for encryption, [IPSec](https://github.com/coreos/flannel/blob/master/Documentation/backends.md#ipsec), which makes use of [strongSwan](https://www.strongswan.org/) to establish encrypted IPSec tunnels between Kubernetes workers. -Flannel diagram +Kubernetes workers should open UDP port `8472` (VXLAN) and `9099` (healthcheck). -More info: -https://github.com/coreos/flannel +Flannel Diagram -#### What is calico? +For more information, see the [Flannel GitHub Page](https://github.com/coreos/flannel). -Calico logo +#### Calico -Calico enables networking and network policy in k8s clusters across the cloud. Calico uses a pure unencapsulated IP network fabric and policy engine to provide networking solution to your k8s workloads. K8S workloads are able to peer with cloud infrastructure such as on-premise, using BGP. -Calico also provides a stateless IP-in-IP encapsulation mode that can be used, if necessary. -Calico also offers policy isolation, allowing you to secure and govern your k8s workloads using advanced ingress and egress policies. +Calico Logo -K8S workers should open tcp port 179 (bgp) +Calico enables networking and network policy in Kubernetes clusters across the cloud. Calico uses a pure, unencapsulated IP network fabric and policy engine to provide networking for your Kubernetes workloads. Workloads are able to communicate over both cloud infrastructure and on-premise using BGP. -Calico diagram +Calico also provides a stateless IP-in-IP encapsulation mode that can be used, if necessary. Calico also offers policy isolation, allowing you to secure and govern your Kubernetes workloads using advanced ingress and egress policies. -More info: -https://www.projectcalico.org/ -https://github.com/projectcalico/calico +Kubernetes workers should open TCP port `179` (BGP). + +Calico Diagram + +For more information, see the following pages: + +- [Project Calico Official Site](https://www.projectcalico.org/) +- [Project Calico GitHub Page](https://github.com/projectcalico/calico) -### What can I find out more about the different network projects? +### CNI Features by Provider -Once 3 distinct CNI providers are presented, it's time to see summarize features and popularity activity on github projects. - -#### What are CNI features? - -Here is a summary of different features of each of the CNI providers supported on Rancher. +The following table summarizes the different features available for each CNI provider supported by Rancher. | Provider | Network Model | Route Distribution | Network Policies | Mesh | External Datastore | Encryption | Ingress/Egress Policies | Commercial Support | | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | -| Canal | Encapsulated (vxlan) | No | Yes | No | K8S api | No | Yes | No | -| flannel | Encapsulated (vxlan) | No | No | No | K8S api | No | No | No | +| Canal | Encapsulated (VXLAN) | No | Yes | No | K8S API | No | Yes | No | +| Flannel | Encapsulated (VXLAN) | No | No | No | K8S API | No | No | No | | Calico | Unencapsulated | Yes | Yes | Yes | Etcd | Yes | Yes | Yes | -- Network Model: ecnapsulated or unencapsulated. More info at CNI network model section +- Network Model: Encapsulated or unencapsulated. For more information, see [What Network Models are Used in CNI?](#what-network-models-are-used-in-cni) -- Route Distribution: It is a must on Unencapsulated CNI providers, and it is typically done by BGP. Route distribution is a nice to have a feature with CNI, if you plan to build clusters split across network segments. It is an exterior gateway protocol designed to exchange routing and reachability information on the Internet. BGP can assist with pod to pod networking between clusters. +- Route Distribution: An exterior gateway protocol designed to exchange routing and reachability information on the Internet. BGP can assist with pod-to-pod networking between clusters. This feature is a must on unencapsulated CNI providers, and it is typically done by BGP. If you plan to build clusters split across network segments, route distribution is a feature that's nice-to-have. -- Network Policies: K8S offers functionality to enforce rules about which service can communicate with each other using network policies. This feature is stable from k8s 1.7 and is ready to use with supported networking plugins. +- Network Policies: Kubernetes offers functionality to enforce rules about which services can communicate with each other using network policies. This feature is stable as of Kubernetes v1.7 and is ready to use with supported networking plugins. -- Mesh: This feature allows service to service networking communication between distinct k8s clusters. +- Mesh: This feature allows service-to-service networking communication between distinct Kubernetes clusters. -- External Datastore: if CNI provider needs an external datastore to persist own data. +- External Datastore: CNI providers with this feature need an external datastore for its data. -- Encyption: This feature allows cypher and secure network control and data planes. +- Encyption: This feature allows cyphered and secure network control and data planes. -- Ingress/Egress Policies: This feature allows manage routing control for k8s and Non-k8s communications. +- Ingress/Egress Policies: This feature allows you to manage routing control for both Kubernetes and non-Kubernetes communications. -#### What are Github projects? +#### CNI Community Popularity -Here is a summary of different github metics to take an idea of projects popularity and activity about of each of the CNI providers supported on Rancher. +The following table summarizes different GitHub metrics to give you an idea of each supported project's popularity and activity. This data was collected in July 2018. | Provider | Project | Stars | Forks | Contributors | | ---- | ---- | ---- | ---- | ---- | | Canal | https://github.com/projectcalico/canal | 536 | 75 | 19 | | flannel | https://github.com/coreos/flannel | 3.279 | 774 | 107 | | Calico | https://github.com/projectcalico/calico | 572 | 225 | 82 | +
    +### Which CNI Provider Should I Use? -- Project: main url of the project -- Stars: Likes on GitHub -- Contributors: number of people maintaining the code base and documentation. -- Forks: number of copies of the repo. Contributors typically have to fork the repo. Other people will fork the project to build a custom copy, push code to a feature branch that they own, or for various reasons. - -Note: Tables is updated with 26th july 2018 data - -### Which CNI provider? - -The above question doesn't have a trivial answer. There are many different providers, which have various features and options. There isn't one provider that meets everyones needs, and there are many different options. By the moment, at rancher v2.0.x we are supporting 3 of the major CNI providers that could be used by every user. - -At rancher v2.0.x, canal is the default CNI provider. We recommend to use it in most cases. It provides encapsulated networking for containers with flannel, adding project calico network policies that can provide project/namespace isolation in terms of networking. - -Anyway, all of 3 solutions could be a good CNI provider choose and may work perfectly fine. - - - - +It depends on your project needs. There are many different providers, which each have various features and options. There isn't one provider that meets everyone's needs. At the moment, Rancher v2.0 supports the 3 most versatile CNI providers. +As of Rancher v2.0.7, Canal is the default CNI provider. We recommend it for most use cases. It provides encapsulated networking for containers with Flannel, while adding Calico network policies that can provide project/namespace isolation in terms of networking. +All of 3 solutions are capable CNI providers and will likely suit your needs. From 55aea4e76c960c55d837369d7b969c0d515073e8 Mon Sep 17 00:00:00 2001 From: Mark Bishop <37810556+MBishop17@users.noreply.github.com> Date: Fri, 17 Aug 2018 15:14:23 -0700 Subject: [PATCH 03/18] Update _index.md --- content/rancher/v2.x/en/faq/network/_index.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/content/rancher/v2.x/en/faq/network/_index.md b/content/rancher/v2.x/en/faq/network/_index.md index a05e993968e..e37c8f948ee 100644 --- a/content/rancher/v2.x/en/faq/network/_index.md +++ b/content/rancher/v2.x/en/faq/network/_index.md @@ -1,9 +1,9 @@ --- -title: Network +title: Networking weight: 8005 --- -Network FAQ's +Networking FAQ's -- [CNI provider]({{< baseurl >}}/rancher/v2.x/en/faq/network/cni-providers/) +- [CNI Providers]({{< baseurl >}}/rancher/v2.x/en/faq/network/cni-providers/) From 6008c5b78a92a13673b2b76fda7ebc14480e298e Mon Sep 17 00:00:00 2001 From: Denise Date: Fri, 17 Aug 2018 15:18:39 -0700 Subject: [PATCH 04/18] Revert "Revert "Helm HA Install"" --- .../cleaning-cluster-nodes/_index.md | 2 +- .../rancher/v2.x/en/installation/_index.md | 36 +- .../installation/ha-server-install2/_index.md | 458 ------------------ .../rancher/v2.x/en/installation/ha/_index.md | 40 ++ .../installation/ha/create-nodes-lb/_index.md | 48 ++ .../create-nodes-lb}/nlb/_index.md | 2 +- .../en/installation/ha/helm-init/_index.md | 68 +++ .../en/installation/ha/helm-rancher/_index.md | 102 ++++ .../ha/helm-rancher/chart-options/_index.md | 94 ++++ .../ha/helm-rancher/tls-secrets/_index.md | 26 + .../ha/helm-rancher/troubleshooting/_index.md | 123 +++++ .../installation/ha/kubernetes-rke/_index.md | 81 ++++ .../kubernetes-rke/troubleshooting/_index.md | 42 ++ .../migrating-from-rke-all-in-one/_index.md | 56 +++ .../installation/ha/rke-all-in-one/_index.md | 10 + .../rke-all-in-one/layer-4-lb}/_index.md | 2 + .../rke-all-in-one/layer-4-lb/nlb/_index.md | 174 +++++++ .../rke-all-in-one/layer-7-lb}/_index.md | 8 +- .../rke-all-in-one/layer-7-lb}/alb/_index.md | 2 + .../layer-7-lb}/nginx/_index.md | 2 + .../404-default-backend/_index.md | 2 + .../rke-all-in-one/troubleshooting}/_index.md | 11 +- .../generic-troubleshooting/_index.md | 4 +- .../job-complete-status/_index.md | 2 + .../troubleshooting}/ssh-tunneling/_index.md | 2 + .../installation/removing-rancher/_index.md | 12 - .../en/installation/server-tags/_index.md | 2 +- .../_index.md | 16 +- .../single-node/advanced-options/_index.md | 9 + .../air-gap-installation/_index.md | 2 + .../private-ca-root-certificate}/_index.md | 2 +- .../proxy-configuration/_index.md | 2 + .../single-node-install-external-lb/_index.md | 6 +- .../requirements_ports_rancher_rke.html | 57 +++ 34 files changed, 980 insertions(+), 525 deletions(-) rename content/rancher/v2.x/en/{installation/removing-rancher => faq}/cleaning-cluster-nodes/_index.md (99%) delete mode 100644 content/rancher/v2.x/en/installation/ha-server-install2/_index.md create mode 100644 content/rancher/v2.x/en/installation/ha/_index.md create mode 100644 content/rancher/v2.x/en/installation/ha/create-nodes-lb/_index.md rename content/rancher/v2.x/en/installation/{ha-server-install => ha/create-nodes-lb}/nlb/_index.md (99%) create mode 100644 content/rancher/v2.x/en/installation/ha/helm-init/_index.md create mode 100644 content/rancher/v2.x/en/installation/ha/helm-rancher/_index.md create mode 100644 content/rancher/v2.x/en/installation/ha/helm-rancher/chart-options/_index.md create mode 100644 content/rancher/v2.x/en/installation/ha/helm-rancher/tls-secrets/_index.md create mode 100644 content/rancher/v2.x/en/installation/ha/helm-rancher/troubleshooting/_index.md create mode 100644 content/rancher/v2.x/en/installation/ha/kubernetes-rke/_index.md create mode 100644 content/rancher/v2.x/en/installation/ha/kubernetes-rke/troubleshooting/_index.md create mode 100644 content/rancher/v2.x/en/installation/ha/migrating-from-rke-all-in-one/_index.md create mode 100644 content/rancher/v2.x/en/installation/ha/rke-all-in-one/_index.md rename content/rancher/v2.x/en/installation/{ha-server-install => ha/rke-all-in-one/layer-4-lb}/_index.md (99%) create mode 100644 content/rancher/v2.x/en/installation/ha/rke-all-in-one/layer-4-lb/nlb/_index.md rename content/rancher/v2.x/en/installation/{ha-server-install-external-lb => ha/rke-all-in-one/layer-7-lb}/_index.md (98%) rename content/rancher/v2.x/en/installation/{ha-server-install-external-lb => ha/rke-all-in-one/layer-7-lb}/alb/_index.md (97%) rename content/rancher/v2.x/en/installation/{ha-server-install-external-lb => ha/rke-all-in-one/layer-7-lb}/nginx/_index.md (97%) rename content/rancher/v2.x/en/installation/{troubleshooting-ha => ha/rke-all-in-one/troubleshooting}/404-default-backend/_index.md (96%) rename content/rancher/v2.x/en/installation/{troubleshooting-ha => ha/rke-all-in-one/troubleshooting}/_index.md (55%) rename content/rancher/v2.x/en/installation/{troubleshooting-ha => ha/rke-all-in-one/troubleshooting}/generic-troubleshooting/_index.md (98%) rename content/rancher/v2.x/en/installation/{troubleshooting-ha => ha/rke-all-in-one/troubleshooting}/job-complete-status/_index.md (96%) rename content/rancher/v2.x/en/installation/{troubleshooting-ha => ha/rke-all-in-one/troubleshooting}/ssh-tunneling/_index.md (97%) delete mode 100644 content/rancher/v2.x/en/installation/removing-rancher/_index.md rename content/rancher/v2.x/en/installation/{single-node-install => single-node}/_index.md (97%) create mode 100644 content/rancher/v2.x/en/installation/single-node/advanced-options/_index.md rename content/rancher/v2.x/en/installation/{ => single-node/advanced-options}/air-gap-installation/_index.md (98%) rename content/rancher/v2.x/en/installation/{custom-ca-root-certificate => single-node/advanced-options/private-ca-root-certificate}/_index.md (97%) rename content/rancher/v2.x/en/installation/{ => single-node/advanced-options}/proxy-configuration/_index.md (98%) rename content/rancher/v2.x/en/installation/{ => single-node/advanced-options}/single-node-install-external-lb/_index.md (95%) create mode 100644 layouts/shortcodes/requirements_ports_rancher_rke.html diff --git a/content/rancher/v2.x/en/installation/removing-rancher/cleaning-cluster-nodes/_index.md b/content/rancher/v2.x/en/faq/cleaning-cluster-nodes/_index.md similarity index 99% rename from content/rancher/v2.x/en/installation/removing-rancher/cleaning-cluster-nodes/_index.md rename to content/rancher/v2.x/en/faq/cleaning-cluster-nodes/_index.md index 29fda3d5053..a582dfe6a2e 100644 --- a/content/rancher/v2.x/en/installation/removing-rancher/cleaning-cluster-nodes/_index.md +++ b/content/rancher/v2.x/en/faq/cleaning-cluster-nodes/_index.md @@ -183,4 +183,4 @@ Chains | iptables -L -t nat iptables -L -t mangle iptables -L -``` +``` \ No newline at end of file diff --git a/content/rancher/v2.x/en/installation/_index.md b/content/rancher/v2.x/en/installation/_index.md index 3c8753c6312..6493b977fb9 100644 --- a/content/rancher/v2.x/en/installation/_index.md +++ b/content/rancher/v2.x/en/installation/_index.md @@ -4,38 +4,18 @@ weight: 50 --- This section contains instructions for installing Rancher in development and production environments. -Choose from the following installation options: +### Installation Options -- [Single Node Installation]({{< baseurl >}}/rancher/v2.x/en/installation/single-node-install) +- [Single Node Installation]({{< baseurl >}}/rancher/v2.x/en/installation/single-node/) - In this simple install scenario, you install Rancher on a single Linux host. + Install Rancher on a single Linux host. -- [Single Node Installation with External Load Balancer]({{< baseurl >}}/rancher/v2.x/en/installation/single-node-install-external-lb) +- [High Availability Installation]({{< baseurl >}}/rancher/v2.x/en/installation/single-node/ha/) - In this scenario, you install Rancher on a single Linux host and access it using an external load balancer/proxy. + This install scenario creates a new Kubernetes cluster dedicated to running Rancher Server in a high-availability (HA) configuration. -- [High Availability Installation]({{< baseurl >}}/rancher/v2.x/en/installation/ha-server-install/) +### Reference - This install scenario creates a new Kubernetes cluster dedicated to running Rancher Server in a high-availabilty (HA) configuration. +- [Port Requirements]({{< baseurl >}}/rancher/v2.x/en/installation/single-node/references/) -- [High Availability Installation with External Load Balancer]({{< baseurl >}}/rancher/v2.x/en/installation/ha-server-install-external-lb) - - This install scenario creates a new Kubernetes cluster dedicated to running Rancher Server in a high-availabilty (HA) configuration. A load balancer is placed in front of the HA configuration. - -- [Air Gap Installation]({{< baseurl >}}/rancher/v2.x/en/installation/air-gap-installation/) - - We also have instructions for a more specialized use case where you install Rancher Server in an environment without an Internet connection. - -This section also includes help content for Rancher configuration and maintenance. - -- [Backups and Rollbacks]({{< baseurl >}}/rancher/v2.x/en/backups/) - - This section is devoted to protecting your Rancher Server data in a disaster scenario. - -- [Port Requirements]({{< baseurl >}}/rancher/v2.x/en/installation/references/) - - This page lists the ports you must open to operate Rancher. - -- [HTTP Proxy Configuration]({{< baseurl >}}/rancher/v2.x/en/installation/proxy-configuration/) - - If your Rancher installation runs behind a proxy, this page provides information on how to configure Rancher for your proxy. + List of required ports you must open to operate Rancher. diff --git a/content/rancher/v2.x/en/installation/ha-server-install2/_index.md b/content/rancher/v2.x/en/installation/ha-server-install2/_index.md deleted file mode 100644 index c936195f38a..00000000000 --- a/content/rancher/v2.x/en/installation/ha-server-install2/_index.md +++ /dev/null @@ -1,458 +0,0 @@ ---- -title: High Availability Installation 2 -weight: 275 -draft: true ---- -This set of instructions creates a new Kubernetes cluster that's dedicated to running Rancher in a high-availability (HA) configuration. This procedure walks you through setting up a 3-node cluster using the Rancher Kubernetes Engine (RKE). The cluster's sole purpose is running pods for Rancher. The setup is based on: - -- Layer 4 load balancer (TCP) -- NGINX ingress controller with SSL termination (HTTPS) - -![Rancher HA]({{< baseurl >}}/img/rancher/ha/rancher2ha.svg) - -## Installation Outline - -Installation of Rancher in a high-availability configuration involves multiple procedures. Review this outline to learn about each procedure you need to complete. - -1. [Provision Linux Hosts](#1-provision-linux-hosts) - - Provision three Linux hosts to serve as your Kubernetes cluster. - -2. [Configure Load Balancer](#2-configure-load-balancer) - - Configure your load balancer to have a highly available single point of entry to your Rancher cluster. - -3. [Configure DNS](#3-configure-dns) - - Make your setup accessible using a DNS name by configuring the DNS to point to your loadbalancer. - -4. [Download RKE](#4-download-rke) - - [RKE](https://github.com/rancher/rke/releases) is a fast, versatile Kubernetes installer that you can use to install Kubernetes on your Linux hosts. - -5. [Download RKE Config File Template](#5-download-rke-config-file-template) - - RKE uses a YAML config file to install and configure your Kubernetes cluster. Download one of our RKE config file templates to get started. - -6. [Configure Nodes](#6-configure-nodes) - - Configure the **Nodes** section of the RKE config template. - -7. [Configure Certificates](#7-configure-certificates) - - Configure the **Certificates** part of the template too. - -8. [Configure FQDN](#8-configure-fqdn) - - And the **FQDN** part. - -9. [Back Up Your RKE Config File](#9-back-up-your-rke-config-file) - - After you've completed configuration of the RKE config file: 1. it's no longer a template since you'll be using it, and 2. you should back up the RKE config file to a safe place. You will reuse this file for upgrades later. - -10. [Run RKE](#10-run-rke) - - Run RKE to deploy Rancher to your cluster. - -11. [Back Up Auto-Generated Config File](#11-back-up-auto-generated-config-file) - - During installation, RKE generates a config file that you'll use later for upgrades. Back it up to a safe location. - -12. **For those using a certificate signed by a recognized CA:** - - [Remove Default Certificates](#12-remove-default-certificates) - - If you chose [Option B](#option-b-bring-your-own-certificate-signed-by-recognized-ca) as your SSL option, log into the Rancher UI and remove the certificates that Rancher automatically generates. - -
    - -## 1. Provision Linux Hosts - -Before you install Rancher, confirm you meet the host requirements. Provision 3 new Linux hosts using the requirements below. - -### Host Requirements - -#### Operating System - -{{< requirements_os >}} - -#### Hardware - -{{< requirements_hardware >}} - -#### Software - -{{< requirements_software >}} - -{{< note_server-tags >}} - -#### Ports - -The following diagram depicts the basic port requirements for Rancher. For a comprehensive list, see [Port Requirements]({{< baseurl >}}/rancher/v2.x/en/installation/references/). - -![Basic Port Requirements]({{< baseurl >}}/img/rancher/port-communications.png) - -## 2. Configure Load Balancer - -We will be using NGINX as our Layer 4 Load Balancer (TCP). NGINX will forward all connections to one of your Rancher nodes. If you want to use Amazon NLB, you can skip this step and use [Amazon NLB configuration]({{< baseurl >}}/rancher/v2.x/en/installation/ha-server-install/nlb/) - ->**Note:** -> In this configuration, the load balancer is positioned in front of your Linux hosts. The load balancer can be any host that you have available that's capable of running NGINX. -> ->One caveat: do not use one of your Rancher nodes as the load balancer. - -### A. Install NGINX - -Start by installing NGINX on your load balancer host. NGINX has packages available for all known operating systems. - -For help installing NGINX, refer to their [install documentation](https://www.nginx.com/resources/wiki/start/topics/tutorials/install/). - -### B. Create NGINX Configuration - -After installing NGINX, you need to update the NGINX config file, `nginx.conf`, with the IP addresses for your nodes. - -1. Copy and paste the code sample below into your favorite text editor. Save it as `nginx.conf`. - -2. From `nginx.conf`, replace `IP_NODE_1`, `IP_NODE_2`, and `IP_NODE_3` with the IPs of your [Linux hosts](#1-provision-linux-hosts). - - **Example NGINX config:** - ``` - worker_processes 4; - worker_rlimit_nofile 40000; - - events { - worker_connections 8192; - } - - http { - server { - listen 80; - return 301 https://$host$request_uri; - } - } - - stream { - upstream rancher_servers { - least_conn; - server IP_NODE_1:443 max_fails=3 fail_timeout=5s; - server IP_NODE_2:443 max_fails=3 fail_timeout=5s; - server IP_NODE_3:443 max_fails=3 fail_timeout=5s; - } - server { - listen 443; - proxy_pass rancher_servers; - } - } - ``` - -3. Save `nginx.conf` to your load balancer at the following path: `/etc/nginx/nginx.conf`. - -4. Load the updates to your NGINX configuration by running the following command: - - ``` - # nginx -s reload - ``` - -### Option - Run NGINX as Docker container - -Instead of installing NGINX as a package on the operating system, you can rather run it as a Docker container. Save the edited **Example NGINX config** as `/etc/nginx.conf` and run the following command to launch the NGINX container: - -``` -docker run -d --restart=unless-stopped \ - -p 80:80 -p 443:443 \ - -v /etc/nginx.conf:/etc/nginx/nginx.conf \ - nginx:1.14 -``` - -## 3. Configure DNS - -Choose a fully qualified domain name (FQDN) that you want to use to access Rancher (e.g., `rancher.yourdomain.com`).

    - -1. Log into your DNS server a create a `DNS A` record that points to the IP address of your [load balancer](#2-configure-load-balancer). - -2. Validate that the `DNS A` is working correctly. Run the following command from any terminal, replacing `HOSTNAME.DOMAIN.COM` with your chosen FQDN: - - `nslookup HOSTNAME.DOMAIN.COM` - - **Step Result:** Terminal displays output similar to the following: - - ``` - $ nslookup rancher.yourdomain.com - Server: YOUR_HOSTNAME_IP_ADDRESS - Address: YOUR_HOSTNAME_IP_ADDRESS#53 - - Non-authoritative answer: - Name: rancher.yourdomain.com - Address: HOSTNAME.DOMAIN.COM - ``` - -
    - -## 4. Download RKE - -RKE is a fast, versatile Kubernetes installer that you can use to install Kubernetes on your Linux hosts. We will be using RKE to setup our cluster and run Rancher. - -1. From your workstation, open a web browser and navigate to our [RKE Releases](https://github.com/rancher/rke/releases/latest) page. Download the latest RKE installer applicable to your Operating System: - - - **MacOS**: `rke_darwin-amd64` - - **Linux**: `rke_linux-amd64` - - **Windows**: `rke_windows-amd64.exe` - -2. Make the RKE binary that you just downloaded executable. Open Terminal, change directory to the location of the RKE binary, and then run one of the commands below. - - >**Using Windows?** - >The file is already an executable. Skip to [Download RKE Config File Template](#5-download-rke-config-file-template). - - ``` - # MacOS - $ chmod +x rke_darwin-amd64 - # Linux - $ chmod +x rke_linux-amd64 - ``` - -3. Confirm that RKE is now executable by running the following command: - - ``` - # MacOS - $ ./rke_darwin-amd64 --version - # Linux - $ ./rke_linux-amd64 --version - ``` - - **Step Result:** You receive output similar to what follows: - ``` - rke version v - ``` - -## 5. Download RKE Config File Template - -RKE uses a `.yml` config file to install and configure your Kubernetes cluster. There are 2 templates to choose from, depending on the SSL certificate you want to use. - -1. Download one of following templates, depending on the SSL certificate you're using. - - - [Template for self-signed certificate
    `3-node-certificate.yml`](https://raw.githubusercontent.com/rancher/rancher/e9d29b3f3b9673421961c68adf0516807d1317eb/rke-templates/3-node-certificate.yml) - - [Template for certificate signed by recognized CA
    `3-node-certificate-recognizedca.yml`](https://raw.githubusercontent.com/rancher/rancher/e9d29b3f3b9673421961c68adf0516807d1317eb/rke-templates/3-node-certificate-recognizedca.yml) - -2. Rename the file to `rancher-cluster.yml`. - -## 6. Configure Nodes - -Once you have the `rancher-cluster.yml` config file template, edit the nodes section to point toward your Linux hosts. - -1. Open `rancher-cluster.yml` in your favorite text editor. - -2. Update the `nodes` section with the information of your [Linux hosts](#1-provision-linux-hosts). - - For each node in your cluster, update the following placeholders: `IP_ADDRESS_X` and `USER`. - -``` -nodes: - - address: IP_ADDRESS_1 - # THE IP ADDRESS OR HOSTNAME OF THE NODE - user: USER - # USER WITH ADMIN ACCESS. USUALLY `root` - role: [controlplane,etcd,worker] - ssh_key_path: ~/.ssh/id_rsa - # PATH TO SSH KEY THAT AUTHENTICATES ON YOUR WORKSTATION - # USUALLY THE VALUE ABOVE - - address: IP_ADDRESS_2 - user: USER - role: [controlplane,etcd,worker] - ssh_key_path: ~/.ssh/id_rsa - - address: IP_ADDRESS_3 - user: USER - role: [controlplane,etcd,worker] - ssh_key_path: ~/.ssh/id_rsa -``` - -## 7. Configure Certificates - -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. - -Choose from the following options: - -- [Option A—Bring Your Own Certificate: Self-Signed](#option-a-bring-your-own-certificate-self-signed) -- [Option B—Bring Your Own Certificate: Signed by Recognized CA](#option-b-bring-your-own-certificate-signed-by-recognized-ca) - -### Option A—Bring Your Own Certificate: Self-Signed - ->**Prerequisites:** ->Create a self-signed certificate. -> ->- The certificate files must be in [PEM format](#pem). ->- The certificate files must be encoded in [base64](#base64). ->- 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 [Intermediate Certificates](#cert-order). - -1. In `kind: Secret` with `name: cattle-keys-ingress`: - - * Replace `` with the base64 encoded string of the Certificate file (usually called `cert.pem` or `domain.crt`) - * Replace `` with the base64 encoded string of the Certificate Key file (usually called `key.pem` or `domain.key`) - - >**Note:** - > The base64 encoded string should be on the same line as `tls.crt` or `tls.key`, without any newline at the beginning, in between or at the end. - - **Result:** After replacing the values, the file should look like the example below (the base64 encoded strings should be different): - -```yaml ---- - apiVersion: v1 - kind: Secret - metadata: - name: cattle-keys-ingress - namespace: cattle-system - type: Opaque - data: - tls.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUM1RENDQWN5Z0F3SUJBZ0lKQUlHc25NeG1LeGxLTUEwR0NTcUdTSWIzRFFFQkN3VUFNQkl4RURBT0JnTlYKQkFNTUIzUmxjM1F0WTJFd0hoY05NVGd3TlRBMk1qRXdOREE1V2hjTk1UZ3dOekExTWpFd05EQTVXakFXTVJRdwpFZ1lEVlFRRERBdG9ZUzV5Ym1Ob2NpNXViRENDQVNJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dFUEFEQ0NBUW9DCmdnRUJBTFJlMXdzekZSb2Rib2pZV05DSHA3UkdJaUVIMENDZ1F2MmdMRXNkUUNKZlcrUFEvVjM0NnQ3bSs3TFEKZXJaV3ZZMWpuY2VuWU5JSGRBU0VnU0ducWExYnhUSU9FaE0zQXpib3B0WDhjSW1OSGZoQlZETGdiTEYzUk0xaQpPM1JLTGdIS2tYSTMxZndjbU9zWGUwaElYQnpUbmxnM20vUzlXL3NTc0l1dDVwNENDUWV3TWlpWFhuUElKb21lCmpkS3VjSHFnMTlzd0YvcGVUalZrcVpuMkJHazZRaWFpMU41bldRV0pjcThTenZxTTViZElDaWlwYU9hWWQ3RFEKYWRTejV5dlF0YkxQNW4wTXpnOU43S3pGcEpvUys5QWdkWDI5cmZqV2JSekp3RzM5R3dRemN6VWtLcnZEb05JaQo0UFJHc01yclFNVXFSYjRSajNQOEJodEMxWXNDQXdFQUFhTTVNRGN3Q1FZRFZSMFRCQUl3QURBTEJnTlZIUThFCkJBTUNCZUF3SFFZRFZSMGxCQll3RkFZSUt3WUJCUVVIQXdJR0NDc0dBUVVGQndNQk1BMEdDU3FHU0liM0RRRUIKQ3dVQUE0SUJBUUNKZm5PWlFLWkowTFliOGNWUW5Vdi9NZkRZVEJIQ0pZcGM4MmgzUGlXWElMQk1jWDhQRC93MgpoOUExNkE4NGNxODJuQXEvaFZYYy9JNG9yaFY5WW9jSEg5UlcvbGthTUQ2VEJVR0Q1U1k4S292MHpHQ1ROaDZ6Ci9wZTNqTC9uU0pYSjRtQm51czJheHFtWnIvM3hhaWpYZG9kMmd3eGVhTklvRjNLbHB2aGU3ZjRBNmpsQTM0MmkKVVlCZ09iN1F5KytRZWd4U1diSmdoSzg1MmUvUUhnU2FVSkN6NW1sNGc1WndnNnBTUXhySUhCNkcvREc4dElSYwprZDMxSk1qY25Fb1Rhc1Jyc1NwVmNGdXZyQXlXN2liakZyYzhienBNcE1obDVwYUZRcEZzMnIwaXpZekhwakFsCk5ZR2I2OHJHcjBwQkp3YU5DS2ErbCtLRTk4M3A3NDYwCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K - tls.key: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFb3dJQkFBS0NBUUVBdEY3WEN6TVZHaDF1aU5oWTBJZW50RVlpSVFmUUlLQkMvYUFzU3gxQUlsOWI0OUQ5ClhmanEzdWI3c3RCNnRsYTlqV09keDZkZzBnZDBCSVNCSWFlcHJWdkZNZzRTRXpjRE51aW0xZnh3aVkwZCtFRlUKTXVCc3NYZEV6V0k3ZEVvdUFjcVJjamZWL0J5WTZ4ZDdTRWhjSE5PZVdEZWI5TDFiK3hLd2k2M21uZ0lKQjdBeQpLSmRlYzhnbWlaNk4wcTV3ZXFEWDJ6QVgrbDVPTldTcG1mWUVhVHBDSnFMVTNtZFpCWWx5cnhMTytvemx0MGdLCktLbG81cGgzc05CcDFMUG5LOUMxc3MvbWZRek9EMDNzck1Xa21oTDcwQ0IxZmIydCtOWnRITW5BYmYwYkJETnoKTlNRcXU4T2cwaUxnOUVhd3l1dEF4U3BGdmhHUGMvd0dHMExWaXdJREFRQUJBb0lCQUJKYUErOHp4MVhjNEw0egpwUFd5bDdHVDRTMFRLbTNuWUdtRnZudjJBZXg5WDFBU2wzVFVPckZyTnZpK2xYMnYzYUZoSFZDUEN4N1RlMDVxClhPa2JzZnZkZG5iZFQ2RjgyMnJleVByRXNINk9TUnBWSzBmeDVaMDQwVnRFUDJCWm04eTYyNG1QZk1vbDdya2MKcm9Kd09rOEVpUHZZekpsZUd0bTAwUm1sRysyL2c0aWJsOTVmQXpyc1MvcGUyS3ZoN2NBVEtIcVh6MjlpUmZpbApiTGhBamQwcEVSMjNYU0hHR1ZqRmF3amNJK1c2L2RtbDZURDhrSzFGaUtldmJKTlREeVNXQnpPbXRTYUp1K01JCm9iUnVWWG4yZVNoamVGM1BYcHZRMWRhNXdBa0dJQWxOWjRHTG5QU2ZwVmJyU0plU3RrTGNzdEJheVlJS3BWZVgKSVVTTHM0RUNnWUVBMmNnZUE2WHh0TXdFNU5QWlNWdGhzbXRiYi9YYmtsSTdrWHlsdk5zZjFPdXRYVzkybVJneQpHcEhUQ0VubDB0Z1p3T081T1FLNjdFT3JUdDBRWStxMDJzZndwcmgwNFZEVGZhcW5QNTBxa3BmZEJLQWpmanEyCjFoZDZMd2hLeDRxSm9aelp2VkowV0lvR1ZLcjhJSjJOWGRTUVlUanZUZHhGczRTamdqNFFiaEVDZ1lFQTFBWUUKSEo3eVlza2EvS2V2OVVYbmVrSTRvMm5aYjJ1UVZXazRXSHlaY2NRN3VMQVhGY3lJcW5SZnoxczVzN3RMTzJCagozTFZNUVBzazFNY25oTTl4WE4vQ3ZDTys5b2t0RnNaMGJqWFh6NEJ5V2lFNHJPS1lhVEFwcDVsWlpUT3ZVMWNyCm05R3NwMWJoVDVZb2RaZ3IwUHQyYzR4U2krUVlEWnNFb2lFdzNkc0NnWUVBcVJLYWNweWZKSXlMZEJjZ0JycGkKQTRFalVLMWZsSjR3enNjbGFKUDVoM1NjZUFCejQzRU1YT0kvSXAwMFJsY3N6em83N3cyMmpud09mOEJSM0RBMwp6ZTRSWDIydWw4b0hGdldvdUZOTTNOZjNaNExuYXpVc0F0UGhNS2hRWGMrcEFBWGthUDJkZzZ0TU5PazFxaUNHCndvU212a1BVVE84b1ViRTB1NFZ4ZmZFQ2dZQUpPdDNROVNadUlIMFpSSitIV095enlOQTRaUEkvUkhwN0RXS1QKajVFS2Y5VnR1OVMxY1RyOTJLVVhITXlOUTNrSjg2OUZPMnMvWk85OGg5THptQ2hDTjhkOWN6enI5SnJPNUFMTApqWEtBcVFIUlpLTFgrK0ZRcXZVVlE3cTlpaHQyMEZPb3E5OE5SZDMzSGYxUzZUWDNHZ3RWQ21YSml6dDAxQ3ZHCmR4VnVnd0tCZ0M2Mlp0b0RLb3JyT2hvdTBPelprK2YwQS9rNDJBOENiL29VMGpwSzZtdmxEWmNYdUF1QVZTVXIKNXJCZjRVYmdVYndqa1ZWSFR6LzdDb1BWSjUvVUxJWk1Db1RUNFprNTZXWDk4ZE93Q3VTVFpZYnlBbDZNS1BBZApTZEpuVVIraEpnSVFDVGJ4K1dzYnh2d0FkbWErWUhtaVlPRzZhSklXMXdSd1VGOURLUEhHCi0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg== -``` - -2. In `kind: Secret` with `name: cattle-keys-server`, replace `` with the base64 encoded string of the CA Certificate file (usually called `ca.pem` or `ca.crt`). - - >**Note:** - > The base64 encoded string should be on the same line as `cacerts.pem`, without any newline at the beginning, in between or at the end. - - - **Result:** The file should look like the example below (the base64 encoded string should be different): - ```yaml - --- - apiVersion: v1 - kind: Secret - metadata: - name: cattle-keys-server - namespace: cattle-system - type: Opaque - data: - cacerts.pem: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNvRENDQVlnQ0NRRHVVWjZuMEZWeU16QU5CZ2txaGtpRzl3MEJBUXNGQURBU01SQXdEZ1lEVlFRRERBZDAKWlhOMExXTmhNQjRYRFRFNE1EVXdOakl4TURRd09Wb1hEVEU0TURjd05USXhNRFF3T1Zvd0VqRVFNQTRHQTFVRQpBd3dIZEdWemRDMWpZVENDQVNJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dFUEFEQ0NBUW9DZ2dFQkFNQmpBS3dQCndhRUhwQTdaRW1iWWczaTNYNlppVmtGZFJGckJlTmFYTHFPL2R0RUdmWktqYUF0Wm45R1VsckQxZUlUS3UzVHgKOWlGVlV4Mmo1Z0tyWmpwWitCUnFiZ1BNbk5hS1hocmRTdDRtUUN0VFFZdGRYMVFZS0pUbWF5NU45N3FoNTZtWQprMllKRkpOWVhHWlJabkdMUXJQNk04VHZramF0ZnZOdmJ0WmtkY2orYlY3aWhXanp2d2theHRUVjZlUGxuM2p5CnJUeXBBTDliYnlVcHlad3E2MWQvb0Q4VUtwZ2lZM1dOWmN1YnNvSjhxWlRsTnN6UjVadEFJV0tjSE5ZbE93d2oKaG41RE1tSFpwZ0ZGNW14TU52akxPRUc0S0ZRU3laYlV2QzlZRUhLZTUxbGVxa1lmQmtBZWpPY002TnlWQUh1dApuay9DMHpXcGdENkIwbkVDQXdFQUFUQU5CZ2txaGtpRzl3MEJBUXNGQUFPQ0FRRUFHTCtaNkRzK2R4WTZsU2VBClZHSkMvdzE1bHJ2ZXdia1YxN3hvcmlyNEMxVURJSXB6YXdCdFJRSGdSWXVtblVqOGo4T0hFWUFDUEthR3BTVUsKRDVuVWdzV0pMUUV0TDA2eTh6M3A0MDBrSlZFZW9xZlVnYjQrK1JLRVJrWmowWXR3NEN0WHhwOVMzVkd4NmNOQQozZVlqRnRQd2hoYWVEQmdma1hXQWtISXFDcEsrN3RYem9pRGpXbi8walI2VDcrSGlaNEZjZ1AzYnd3K3NjUDIyCjlDQVZ1ZFg4TWpEQ1hTcll0Y0ZINllBanlCSTJjbDhoSkJqa2E3aERpVC9DaFlEZlFFVFZDM3crQjBDYjF1NWcKdE03Z2NGcUw4OVdhMnp5UzdNdXk5bEthUDBvTXl1Ty82Tm1wNjNsVnRHeEZKSFh4WTN6M0lycGxlbTNZQThpTwpmbmlYZXc9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg== - ``` - -### Option B—Bring Your Own Certificate: Signed by Recognized CA - ->**Note:** -> If you are using Self Signed Certificate, [click here](#option-a-bring-your-own-certificate-self-signed) to proceed. - -If you are using a Certificate Signed By A Recognized Certificate Authority, you will need to generate a base64 encoded string for the Certificate file and the Certificate Key file. Make sure that your certificate file includes all the [intermediate certificates](#cert-order) in the chain, the order of certificates in this case is first your own certificate, followed by the intermediates. Please refer to the documentation of your CSP (Certificate Service Provider) to see what intermediate certificate(s) need to be included. - -In the `kind: Secret` with `name: cattle-keys-ingress`: - -* Replace `` with the base64 encoded string of the Certificate file (usually called `cert.pem` or `domain.crt`) -* Replace `` with the base64 encoded string of the Certificate Key file (usually called `key.pem` or `domain.key`) - -After replacing the values, the file should look like the example below (the base64 encoded strings should be different): - ->**Note:** -> The base64 encoded string should be on the same line as `tls.crt` or `tls.key`, without any newline at the beginning, in between or at the end. - -```yaml ---- -apiVersion: v1 -kind: Secret -metadata: - name: cattle-keys-ingress - namespace: cattle-system -type: Opaque -data: - tls.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUM1RENDQWN5Z0F3SUJBZ0lKQUlHc25NeG1LeGxLTUEwR0NTcUdTSWIzRFFFQkN3VUFNQkl4RURBT0JnTlYKQkFNTUIzUmxjM1F0WTJFd0hoY05NVGd3TlRBMk1qRXdOREE1V2hjTk1UZ3dOekExTWpFd05EQTVXakFXTVJRdwpFZ1lEVlFRRERBdG9ZUzV5Ym1Ob2NpNXViRENDQVNJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dFUEFEQ0NBUW9DCmdnRUJBTFJlMXdzekZSb2Rib2pZV05DSHA3UkdJaUVIMENDZ1F2MmdMRXNkUUNKZlcrUFEvVjM0NnQ3bSs3TFEKZXJaV3ZZMWpuY2VuWU5JSGRBU0VnU0ducWExYnhUSU9FaE0zQXpib3B0WDhjSW1OSGZoQlZETGdiTEYzUk0xaQpPM1JLTGdIS2tYSTMxZndjbU9zWGUwaElYQnpUbmxnM20vUzlXL3NTc0l1dDVwNENDUWV3TWlpWFhuUElKb21lCmpkS3VjSHFnMTlzd0YvcGVUalZrcVpuMkJHazZRaWFpMU41bldRV0pjcThTenZxTTViZElDaWlwYU9hWWQ3RFEKYWRTejV5dlF0YkxQNW4wTXpnOU43S3pGcEpvUys5QWdkWDI5cmZqV2JSekp3RzM5R3dRemN6VWtLcnZEb05JaQo0UFJHc01yclFNVXFSYjRSajNQOEJodEMxWXNDQXdFQUFhTTVNRGN3Q1FZRFZSMFRCQUl3QURBTEJnTlZIUThFCkJBTUNCZUF3SFFZRFZSMGxCQll3RkFZSUt3WUJCUVVIQXdJR0NDc0dBUVVGQndNQk1BMEdDU3FHU0liM0RRRUIKQ3dVQUE0SUJBUUNKZm5PWlFLWkowTFliOGNWUW5Vdi9NZkRZVEJIQ0pZcGM4MmgzUGlXWElMQk1jWDhQRC93MgpoOUExNkE4NGNxODJuQXEvaFZYYy9JNG9yaFY5WW9jSEg5UlcvbGthTUQ2VEJVR0Q1U1k4S292MHpHQ1ROaDZ6Ci9wZTNqTC9uU0pYSjRtQm51czJheHFtWnIvM3hhaWpYZG9kMmd3eGVhTklvRjNLbHB2aGU3ZjRBNmpsQTM0MmkKVVlCZ09iN1F5KytRZWd4U1diSmdoSzg1MmUvUUhnU2FVSkN6NW1sNGc1WndnNnBTUXhySUhCNkcvREc4dElSYwprZDMxSk1qY25Fb1Rhc1Jyc1NwVmNGdXZyQXlXN2liakZyYzhienBNcE1obDVwYUZRcEZzMnIwaXpZekhwakFsCk5ZR2I2OHJHcjBwQkp3YU5DS2ErbCtLRTk4M3A3NDYwCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K - tls.key: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFb3dJQkFBS0NBUUVBdEY3WEN6TVZHaDF1aU5oWTBJZW50RVlpSVFmUUlLQkMvYUFzU3gxQUlsOWI0OUQ5ClhmanEzdWI3c3RCNnRsYTlqV09keDZkZzBnZDBCSVNCSWFlcHJWdkZNZzRTRXpjRE51aW0xZnh3aVkwZCtFRlUKTXVCc3NYZEV6V0k3ZEVvdUFjcVJjamZWL0J5WTZ4ZDdTRWhjSE5PZVdEZWI5TDFiK3hLd2k2M21uZ0lKQjdBeQpLSmRlYzhnbWlaNk4wcTV3ZXFEWDJ6QVgrbDVPTldTcG1mWUVhVHBDSnFMVTNtZFpCWWx5cnhMTytvemx0MGdLCktLbG81cGgzc05CcDFMUG5LOUMxc3MvbWZRek9EMDNzck1Xa21oTDcwQ0IxZmIydCtOWnRITW5BYmYwYkJETnoKTlNRcXU4T2cwaUxnOUVhd3l1dEF4U3BGdmhHUGMvd0dHMExWaXdJREFRQUJBb0lCQUJKYUErOHp4MVhjNEw0egpwUFd5bDdHVDRTMFRLbTNuWUdtRnZudjJBZXg5WDFBU2wzVFVPckZyTnZpK2xYMnYzYUZoSFZDUEN4N1RlMDVxClhPa2JzZnZkZG5iZFQ2RjgyMnJleVByRXNINk9TUnBWSzBmeDVaMDQwVnRFUDJCWm04eTYyNG1QZk1vbDdya2MKcm9Kd09rOEVpUHZZekpsZUd0bTAwUm1sRysyL2c0aWJsOTVmQXpyc1MvcGUyS3ZoN2NBVEtIcVh6MjlpUmZpbApiTGhBamQwcEVSMjNYU0hHR1ZqRmF3amNJK1c2L2RtbDZURDhrSzFGaUtldmJKTlREeVNXQnpPbXRTYUp1K01JCm9iUnVWWG4yZVNoamVGM1BYcHZRMWRhNXdBa0dJQWxOWjRHTG5QU2ZwVmJyU0plU3RrTGNzdEJheVlJS3BWZVgKSVVTTHM0RUNnWUVBMmNnZUE2WHh0TXdFNU5QWlNWdGhzbXRiYi9YYmtsSTdrWHlsdk5zZjFPdXRYVzkybVJneQpHcEhUQ0VubDB0Z1p3T081T1FLNjdFT3JUdDBRWStxMDJzZndwcmgwNFZEVGZhcW5QNTBxa3BmZEJLQWpmanEyCjFoZDZMd2hLeDRxSm9aelp2VkowV0lvR1ZLcjhJSjJOWGRTUVlUanZUZHhGczRTamdqNFFiaEVDZ1lFQTFBWUUKSEo3eVlza2EvS2V2OVVYbmVrSTRvMm5aYjJ1UVZXazRXSHlaY2NRN3VMQVhGY3lJcW5SZnoxczVzN3RMTzJCagozTFZNUVBzazFNY25oTTl4WE4vQ3ZDTys5b2t0RnNaMGJqWFh6NEJ5V2lFNHJPS1lhVEFwcDVsWlpUT3ZVMWNyCm05R3NwMWJoVDVZb2RaZ3IwUHQyYzR4U2krUVlEWnNFb2lFdzNkc0NnWUVBcVJLYWNweWZKSXlMZEJjZ0JycGkKQTRFalVLMWZsSjR3enNjbGFKUDVoM1NjZUFCejQzRU1YT0kvSXAwMFJsY3N6em83N3cyMmpud09mOEJSM0RBMwp6ZTRSWDIydWw4b0hGdldvdUZOTTNOZjNaNExuYXpVc0F0UGhNS2hRWGMrcEFBWGthUDJkZzZ0TU5PazFxaUNHCndvU212a1BVVE84b1ViRTB1NFZ4ZmZFQ2dZQUpPdDNROVNadUlIMFpSSitIV095enlOQTRaUEkvUkhwN0RXS1QKajVFS2Y5VnR1OVMxY1RyOTJLVVhITXlOUTNrSjg2OUZPMnMvWk85OGg5THptQ2hDTjhkOWN6enI5SnJPNUFMTApqWEtBcVFIUlpLTFgrK0ZRcXZVVlE3cTlpaHQyMEZPb3E5OE5SZDMzSGYxUzZUWDNHZ3RWQ21YSml6dDAxQ3ZHCmR4VnVnd0tCZ0M2Mlp0b0RLb3JyT2hvdTBPelprK2YwQS9rNDJBOENiL29VMGpwSzZtdmxEWmNYdUF1QVZTVXIKNXJCZjRVYmdVYndqa1ZWSFR6LzdDb1BWSjUvVUxJWk1Db1RUNFprNTZXWDk4ZE93Q3VTVFpZYnlBbDZNS1BBZApTZEpuVVIraEpnSVFDVGJ4K1dzYnh2d0FkbWErWUhtaVlPRzZhSklXMXdSd1VGOURLUEhHCi0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg== -``` - -## 8. Configure FQDN - -There are two references to `` in the config file (one in this step and one in the next). Both need to be replaced with the FQDN chosen in [Configure DNS](#3-configure-dns). - -In the `kind: Ingress` with `name: cattle-ingress-http`: - -* Replace `` with the FQDN chosen in [Configure DNS](#3-configure-dns). - -After replacing `` with the FQDN chosen in [Configure DNS](#3-configure-dns), the file should look like the example below (`rancher.yourdomain.com` is the FQDN used in this example): - -```yaml - --- - apiVersion: extensions/v1beta1 - kind: Ingress - metadata: - namespace: cattle-system - name: cattle-ingress-http - annotations: - nginx.ingress.kubernetes.io/proxy-connect-timeout: "30" - nginx.ingress.kubernetes.io/proxy-read-timeout: "1800" # Max time in seconds for ws to remain shell window open - nginx.ingress.kubernetes.io/proxy-send-timeout: "1800" # Max time in seconds for ws to remain shell window open - spec: - rules: - - host: rancher.yourdomain.com - http: - paths: - - backend: - serviceName: cattle-service - servicePort: 80 - tls: - - secretName: cattle-keys-ingress - hosts: - - rancher.yourdomain.com -``` - -Save the `.yml` file and close it. - -## 9. Back Up Your RKE Config File - -After you close your `.yml` file, back it up to a secure location. You can use this file again when it's time to upgrade Rancher. - -## 10. Run RKE - -With all configuration in place, use RKE to launch Rancher. You can complete this action by running the `rke up` command and using the `--config` parameter to point toward your config file. - -1. From your workstation, make sure `rancher-cluster.yml` and the downloaded `rke` binary are in the same directory. - -2. Open a Terminal instance. Change to the directory that contains your config file and `rke`. - -3. Enter one of the `rke up` commands listen below. - -``` -# MacOS -./rke_darwin-amd64 up --config rancher-cluster.yml -# Linux -./rke_linux-amd64 up --config rancher-cluster.yml -``` - -**Step Result:** The output should be similar to the snippet below: - -``` -INFO[0000] Building Kubernetes cluster -INFO[0000] [dialer] Setup tunnel for host [1.1.1.1] -INFO[0000] [network] Deploying port listener containers -INFO[0000] [network] Pulling image [alpine:latest] on host [1.1.1.1] -... -INFO[0101] Finished building Kubernetes cluster successfully -``` - -## 11. Back Up Auto-Generated Config File - -During installation, RKE automatically generates a config file named `kube_config_rancher-cluster.yml` in the same directory as the RKE binary. Copy this file and back it up to a safe location. You'll use this file later when upgrading Rancher Server. - -## 12. Remove Default Certificates - -**For those using a certificate signed by a recognized CA:** - ->**Note:** If you're using a self-signed certificate, you don't have to complete this procedure. Continue to [What's Next?](#what-s-next) - -By default, Rancher automatically generates self-signed certificates for itself after installation. However, since you've provided your own certificates, you must disable the certificates that Rancher generated for itself. - -**To Remove the Default Certificates:** - -1. Log into Rancher. - -2. Select **Settings** > **cacerts**. - -3. Choose `Edit` and remove the contents. Then click `Save`. - -## What's Next? - -You have a couple of options: - -- Create a backup of your Rancher Server in case of a disaster scenario: [High Availablility Back Up and Restoration]({{< baseurl >}}/rancher/v2.x/en/installation/backups-and-restoration/ha-backup-and-restoration). -- Create a Kubernetes cluster: [Provisioning Kubernetes Clusters]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/). - -
    - -## FAQ and Troubleshooting - -{{< ssl_faq_ha >}} diff --git a/content/rancher/v2.x/en/installation/ha/_index.md b/content/rancher/v2.x/en/installation/ha/_index.md new file mode 100644 index 00000000000..ba365960641 --- /dev/null +++ b/content/rancher/v2.x/en/installation/ha/_index.md @@ -0,0 +1,40 @@ +--- +title: High Availability Installation +weight: 275 +draft: true +--- + +When installed in a Kubernetes cluster, Rancher will integrate with the cluster's etcd database and take advantage of Kubernetes scheduling for High-Availability. + +This procedure walks you through setting up a 3-node cluster with RKE and installing the Rancher chart with the Helm package manager. + +> **Note:** For the best performance, we recommend this Kubernetes cluster be dedicated only to the Rancher workload. + +## Recommended Architecture + +* DNS for Rancher should resolve to a Layer 4 Load Balancer +* The Load Balancer should forward ports 80 and 443 TCP to all 3 nodes in the Kubernetes cluster. +* The Ingress controller will redirect http port 80 to https and terminate SSL/TLS on port 443. +* The Ingress controller will forward traffic to port 80 on the Pod in the Rancher Deployment. + +![Rancher HA]({{< baseurl >}}/img/rancher/ha/rancher2ha.svg) + +## Required Tools + +The following CLI tools are required for this install. Please make sure these tools are installed and available in your `$PATH` + +* [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/#install-kubectl) - Kubernetes command-line tool. +* [rke]({{< baseurl >}}/rke/v0.1.x/en/installation/) - Rancher Kubernetes Engine, cli for building Kubernetes clusters. +* [helm](https://docs.helm.sh/using_helm/#installing-helm) - Package management for Kubernetes. + +## Installation Outline + +1. [Create Nodes and Load Balancer]({{< baseurl >}}/rancher/v2.x/en/installation/ha/create-nodes-lb/) +1. [Install Kubernetes with RKE]({{< baseurl >}}/rancher/v2.x/en/installation/ha/kubernetes-rke/) +1. [Initialize Helm (tiller)]({{< baseurl >}}/rancher/v2.x/en/installation/ha/helm-init/) +1. [Install Rancher]({{< baseurl >}}/rancher/v2.x/en/installation/ha/helm-rancher/) + +## Additional Install Options + +* [Migrating from RKE all-in-one install]({{< baseurl >}}/rancher/v2.x/en/installation/ha/migrating-from-rke-all-in-one/) +* [RKE all-in-one install]({{< baseurl >}}/rancher/v2.x/en/installation/ha/rke-all-in-one/) \ No newline at end of file diff --git a/content/rancher/v2.x/en/installation/ha/create-nodes-lb/_index.md b/content/rancher/v2.x/en/installation/ha/create-nodes-lb/_index.md new file mode 100644 index 00000000000..1a00ac78b24 --- /dev/null +++ b/content/rancher/v2.x/en/installation/ha/create-nodes-lb/_index.md @@ -0,0 +1,48 @@ +--- +title: 1 - Create Nodes and Load Balancer +weight: 185 +--- + +Use your provider of choice to provision 3 nodes and a Load Balancer endpoint for your RKE install. + +> **Note:** These nodes must be in the same region/datacenter. You may place these servers in separate availability zones. + +**Don't forget to collect the SSH credentials and DNS or IP addresses of your nodes to provide to RKE in the next step.** + +### Host Requirements + +#### Operating System + +{{< requirements_os >}}
    + +#### Nodes + +{{< requirements_hardware >}}
    + +#### Software + +{{< requirements_software >}} + +{{< note_server-tags >}} + +#### Ports + +{{< requirements_ports_rancher_rke >}} + +
    + +If you block ports internally on the nodes see the full [ports list]({{< baseurl >}}/rancher/v2.x/en/installation/references/) for all the communication details. + +### Load Balancer + +RKE will configure an ingress-controller pod, on each of your nodes. The ingress-controller pods are bound to ports 80 and 443 TCP 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. + +#### Examples + +* [Amazon NLB]({{< baseurl >}}/rancher/v2.x/en/installation/ha/create-nodes-lb/nlb/) + +
    + +### [Next: Install Kubernetes with RKE]({{< baseurl >}}/rancher/v2.x/en/installation/ha/kubernetes-rke/) \ No newline at end of file diff --git a/content/rancher/v2.x/en/installation/ha-server-install/nlb/_index.md b/content/rancher/v2.x/en/installation/ha/create-nodes-lb/nlb/_index.md similarity index 99% rename from content/rancher/v2.x/en/installation/ha-server-install/nlb/_index.md rename to content/rancher/v2.x/en/installation/ha/create-nodes-lb/nlb/_index.md index 1bef7366ae0..ac7a95e5462 100644 --- a/content/rancher/v2.x/en/installation/ha-server-install/nlb/_index.md +++ b/content/rancher/v2.x/en/installation/ha/create-nodes-lb/nlb/_index.md @@ -1,5 +1,5 @@ --- -title: Amazon NLB configuration +title: Amazon NLB weight: 277 --- ## Objectives diff --git a/content/rancher/v2.x/en/installation/ha/helm-init/_index.md b/content/rancher/v2.x/en/installation/ha/helm-init/_index.md new file mode 100644 index 00000000000..4ce856866ef --- /dev/null +++ b/content/rancher/v2.x/en/installation/ha/helm-init/_index.md @@ -0,0 +1,68 @@ +--- +title: 3 - Initialize Helm (Install tiller) +weight: 195 +--- + +Helm is the package management tool of choice for Kubernetes. Helm "charts" provide templating syntax for Kubernetes YAML manifest documents. With Helm we can create configurable deployments instead of just using static files. For more information about creating your own catalog of deployments, check out the docs at [https://helm.sh/](https://helm.sh/). + +### Initialize Helm on the cluster + +Helm installs the `tiller` service on your cluster to manage charts. Since RKE enables RBAC by default we will need to use `kubectl` to create a `serviceaccount` and `clusterrolebinding` so `tiller` has permission to deploy to the cluster. + +* Create the `ServiceAccount` in the `kube-system` namespace. +* Create the `ClusterRoleBinding` to give the `tiller` account access to the cluster. +* Finally use `helm` to initialize the `tiller` service + +``` +kubectl -n kube-system create serviceaccount tiller +kubectl create clusterrolebinding tiller --clusterrole cluster-admin --serviceaccount=kube-system:tiller +``` + +

    Additional steps for Air Gap/Private Registry +

    + +If you have an Air Gapped network you will need the `tiller` image available in your private registry. + +##### Create registry secret + +Create a registry secret in the `kube-system` namespace for the `tiller` ServiceAccount to use. + +``` +kubectl -n kube-system create secret docker-registry regcred \ +--docker-server="reg.example.com" \ +--docker-username= \ +--docker-password= \ +--docker-email= +``` + +##### Patch the ServiceAccount + +Update the ServiceAccount to include the imagePullSecret. Pods created with this ServiceAccount will automatically have the imagePullSecret added to their manifest. + +``` +kubectl -n kube-system patch serviceaccount tiller -p \ +'{"imagePullSecrets": [{"name\": "regcred"}]}' +``` + +##### `--tiller-image` option + +Add the --tiller-image option to the `helm init` command. + +``` +--tiller-image reg.example.com/kubernetes-helm/tiller:v2.9.1 +``` + +

    +
    + +##### Helm init + +`helm init` installs the `tiller` service in the `kube-system` namespace on your cluster. + +``` +helm init --service-account tiller +``` + +> NOTE: This `tiller` install has full cluster access, which should be acceptable if the cluster is dedicated to Rancher server. Check out the [helm docs](https://docs.helm.sh/using_helm/#role-based-access-control) for restricting `tiller` access to suit your security requirements. + +### [Next: Install Rancher]({{< baseurl >}}/rancher/v2.x/en/installation/ha//helm-rancher/) \ No newline at end of file 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 new file mode 100644 index 00000000000..8542eb3dd05 --- /dev/null +++ b/content/rancher/v2.x/en/installation/ha/helm-rancher/_index.md @@ -0,0 +1,102 @@ +--- +title: 4 - Install Rancher +weight: 200 +--- + +Rancher installation is now managed using the Helm package manager for Kubernetes. Use `helm` to install the prerequisite and Rancher charts. + +### Add the Chart Repo + +Use `helm repo add` to add the Rancher chart repository. + +``` +helm repo add rancher-stable https://releases.rancher.com/server-charts/stable +``` + +### Install cert-manager + +> **Note:** cert-manager is only required for Rancher generated and LetsEncrypt issued certificates. You may skip this step if you are bringing your own certificates and using the `ingress.tls.source=secret` option. + +Rancher relies on [cert-manager](https://github.com/kubernetes/charts/tree/master/stable/cert-manager) from the Kubernetes Helm "stable" catalog to issue self-signed or LetsEncrypt certificates. + +Install `cert-manager` from the Helm stable catalog. + +``` +helm install stable/cert-manager --name cert-manager --namespace kube-system +``` + +### Choose your SSL Configuration + +Rancher server is designed to be "secure by default" and requires SSL/TLS configuration. + +There are three options for the source of the certificate. + +* `rancher` - (Default) Use Rancher generated CA/Certificates. +* `letsEncrypt` - Use [LetsEncrypt](https://letsencrypt.org/) to issue a cert. +* `secret` - Configure a Kubernetes Secret with your certificate files. + + + +#### (Default) Rancher Generated Certificates + +The default is for Rancher to generate a CA and use the `cert-manager` to issue the certificate for access to the Rancher server interface. + +The only requirement is to set the `hostname` to the DNS name you pointed at your Load Balancer. + +``` +helm install rancher-stable/rancher --name rancher --namespace cattle-system \ +--set hostname=rancher.my.org +``` + +#### LetsEncrypt + +Use LetsEncrypt's free service to issue trusted SSL certs. This configuration uses http validation so the Load Balancer must have a Public DNS record and be accessible from the internet. + +Set `hostname`, `ingress.tls.source=letEncrypt` and LetsEncrypt options. + +``` +helm install rancher-stable/rancher --name rancher --namespace cattle-system \ +--set hostname=rancher.my.org \ +--set ingress.tls.source=letsEncrypt \ +--set letsEncrypt.email=me@example.org +``` + +> LetsEncrypt ProTip: The default `production` environment only allows you to register a name 5 times in a week. If you're rebuilding a bunch of times, use `--set letsEncrypt.environment=staging` until you have you're confident your config is right. + +#### Certificates from Files (Kubernetes Secret) + +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. + +Set `hostname` and `ingress.tls.source=secret` + +> NOTE: If you are using a Private CA signed cert, add `--set privateCA=true` + +``` +helm install rancher-stable/rancher --name rancher --namespace cattle-system \ +--set hostname=rancher.my.org \ +--set ingress.tls.source=secret +``` + +Now that Rancher is running, 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. + +### Advanced Configurations + +The Rancher chart configuration has many options for customizing the install to suit your specific environment. Here are some common advanced scenarios. + +* [HTTP Proxy]({{< baseurl >}}/rancher/v2.x/en/installation/ha/helm-rancher/chart-options/#http-proxy) +* [Private Docker Image Registry/Air Gap Network]({{< baseurl >}}/rancher/v2.x/en/installation/ha/helm-rancher/chart-options/#private-or-air-gap-registry) +* [TLS Termination on an External Load Balancer]({{< baseurl >}}/rancher/v2.x/en/installation/ha/helm-rancher/chart-options/#external-tls-termination) + +See the [Chart Options]({{< baseurl >}}/rancher/v2.x/en/installation/ha/helm-rancher/chart-options/) for the full list of options. + +### Save your options + +Make sure you save the `--set` options you used. You will need to use the same options when you upgrade Rancher to new versions with Helm. + +### Finishing Up + +That's it you should have a functional Rancher server. Point a browser at the hostname you picked and you should be greeted by the colorful login page. + +Doesn't Work? Take a look at the [Troubleshooting]({{< baseurl >}}/rancher/v2.x/en/installation/ha/helm-rancher/troubleshooting/) Page 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 new file mode 100644 index 00000000000..2b60ca99456 --- /dev/null +++ b/content/rancher/v2.x/en/installation/ha/helm-rancher/chart-options/_index.md @@ -0,0 +1,94 @@ +--- +title: Chart Options +weight: 276 +--- + +### Common Options + +| Option | Default Value | Description | +| --- | --- | --- | +| `hostname` | " " | `string` - the Fully Qualified Domain Name for your Rancher Server | +| `ingress.tls.source` | "rancher" | `string` - Where to get the cert for the ingress. - "rancher, letsEncrypt, secret" | +| `letsEncrypt.email` | " " | `string` - Your email address | +| `letsEncrypt.environment` | "production" | `string` - Valid options: "staging, production" | +| `privateCA` | false | `bool` - Set to true if your cert is signed by a private CA | + +
    + +### Advanced Options + +| Option | Default Value | Description | +| --- | --- | --- | +| `debug` | false | `bool` - set debug flag on rancher server | +| `imagePullSecrets` | [] | `list` - list of names of Secret resource containing private registry credentials | +| `proxy` | "" | `string` - string - HTTP[S] proxy server for Rancher | +| `noProxy` | "localhost,127.0.0.1" | `string` - comma seperated list of hostnames or ip address not to use the proxy | +| `resources` | {} | `map` - rancher pod resource requests & limits | +| `rancherImage` | "rancher/rancher" | `string` - rancher image source | +| `rancherImageTag` | same as chart version | `string` - rancher/rancher image tag | +| `tls` | "ingress" | `string` - Where to terminate SSL. - "ingress, external" + +
    + +### HTTP Proxy + +Rancher requires internet access for some functionality (helm charts). Use `proxy` to set your proxy server. + +Add your IP exceptions to the `noProxy` list. Make sure you add the Service cluster IP range (default: 10.43.0.1/16) and any worker cluster `controlplane` nodes. Rancher supports CIDR notation ranges in this list. + +``` +--set proxy="http://:@:/" +--set noProxy="127.0.0.1,localhost,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16" +``` + +### Private or Air Gap Registry + +You can point to a private registry for an "Air Gap" install. + +#### Images + +Populate your private registry with Rancher images. + +You can get the list of images required for rancher and worker cluster installs from the [Releases](https://github.com/rancher/rancher/releases/latest) page. + +#### Create Registry Secret + +Use `kubectl` to create a docker-registry secret in the `cattle-system` namespace. + +``` +kubectl -n cattle-system create secret docker-registry regcred \ +--docker-server="reg.example.com:5000" \ +--docker-username= \ +--docker-password= \ +--docker-email= +``` + +#### Registry Options + +Add the `rancherImage` to point to your private registry image and `imagePullSecrets` to your install command. + +``` +--set rancherImage=reg.example.com:5000/rancher/rancher \ +--set imagePullSecrets[0].name=regcred +``` + +### External TLS Termination + +If you wish to terminate the SSL/TLS on a load-balancer external to the Rancher cluster (ingress), use the `--tls=external` option and point your load balancer at port http 80 on all of the rancher cluster nodes. + +> NOTE: If you are using a Private CA signed cert, add `--set privateCA=true` and see [Adding TLS Secrets - Private CA Signed - Additional Steps]({{< baseurl >}}/rancher/v2.x/en/installation/ha/helm-rancher/tls-secrets/#private-ca-signed---additional-steps) to add the CA cert for Rancher. + +Your load balancer must support long lived websocket connections and will need to insert proxy headers so Rancher can route links correctly. + +> NOTE: The `tls=external` option will expose the Rancher interface on http port 80. Clients that are allowed to connect directly to the Rancher cluster will not be encrypted. We recommend that you restrict direct access at the network level to just your load balancer. + +#### Required headers + +* `Host` +* `X-Forwarded-Proto` +* `X-Forwarded-Port` +* `X-Forwarded-For` + +#### Health checks + +Rancher will respond `200` to health checks on the `/healthz` endpoint. diff --git a/content/rancher/v2.x/en/installation/ha/helm-rancher/tls-secrets/_index.md b/content/rancher/v2.x/en/installation/ha/helm-rancher/tls-secrets/_index.md new file mode 100644 index 00000000000..b77e4e1e9ba --- /dev/null +++ b/content/rancher/v2.x/en/installation/ha/helm-rancher/tls-secrets/_index.md @@ -0,0 +1,26 @@ +--- +title: Adding TLS Secrets +weight: 276 +--- + +Kubernetes will create all the objects and services for Rancher, but it will not become available until we populate the `tls-rancher-ingress` secret in the `cattle-system` namespace with the certificate and key. + +Combine the server certificate followed by the intermediate cert chain your CA provided into a file named `tls.crt`. Copy your key into a file name `tls.key`. + +Use `kubectl` with the `tls` secret type to create the secrets. + +``` +kubectl -n cattle-system create secret tls tls-rancher-ingress \ +--cert=./tls.crt \ +--key=./tls.key +``` + +### Private CA Signed - Additional Steps + +If you are using a private CA, Rancher will need to have a copy of the CA cert to include when generating agent configs. + +Copy the CA cert into a file named `cacerts.pem` and use `kubectl` to create the `tls-ca` secret in the `cattle-system` namespace. + +``` +kubectl -n cattle-system create secret generic tls-ca --from-file=cacerts.pem +``` diff --git a/content/rancher/v2.x/en/installation/ha/helm-rancher/troubleshooting/_index.md b/content/rancher/v2.x/en/installation/ha/helm-rancher/troubleshooting/_index.md new file mode 100644 index 00000000000..fd12a12e04f --- /dev/null +++ b/content/rancher/v2.x/en/installation/ha/helm-rancher/troubleshooting/_index.md @@ -0,0 +1,123 @@ +--- +title: Troubleshooting +weight: 276 +--- + +### Where is everything + +Most of the troubleshooting will be done on objects in these 3 namespaces. + +* `cattle-system` - `rancher` deployment and pods. +* `ingress-nginx` - Ingress controller pods and services. +* `kube-system` - `tiller` and `cert-manager` pods. + +### "default backend - 404" + +A number of things can cause the ingress-controller not to forward traffic to your rancher instance. Most of the time its due to a bad ssl configuration. + +Things to check + +* [Is Rancher Running](#is-rancher-running) +* [Cert CN is "Kubernetes Ingress Controller Fake Certificate"](#cert-cn-is-kubernetes-ingress-controller-fake-certificate) + +### Is Rancher Running + +Use `kubectl` to check the `cattle-system` system namespace and see if the Rancher pods are in a Running state. + +``` +kubectl -n cattle-system get pods + +NAME READY STATUS RESTARTS AGE +pod/rancher-784d94f59b-vgqzh 1/1 Running 0 10m +``` + +If the state is not `Running`, run a `describe` on the pod and check the Events. + +``` +kubectl -n cattle-system describe pod + +... +Events: + Type Reason Age From Message + ---- ------ ---- ---- ------- + Normal Scheduled 11m default-scheduler Successfully assigned rancher-784d94f59b-vgqzh to localhost + Normal SuccessfulMountVolume 11m kubelet, localhost MountVolume.SetUp succeeded for volume "rancher-token-dj4mt" + Normal Pulling 11m kubelet, localhost pulling image "rancher/rancher:v2.0.4" + Normal Pulled 11m kubelet, localhost Successfully pulled image "rancher/rancher:v2.0.4" + Normal Created 11m kubelet, localhost Created container + Normal Started 11m kubelet, localhost Started container +``` + +### Checking the rancher logs + +Use `kubectl` to list the pods. + +``` +kubectl -n cattle-system get pods + +NAME READY STATUS RESTARTS AGE +pod/rancher-784d94f59b-vgqzh 1/1 Running 0 10m +``` + +Use `kubectl` and the pod name to list the logs from the pod. + +``` +kubectl -n cattle-namespace logs -f rancher-784d94f59b-vgqzh +``` + +### Cert CN is "Kubernetes Ingress Controller Fake Certificate" + +Use your browser to check the certificate details. If it says the Common Name is "Kubernetes Ingress Controller Fake Certificate", something may have gone wrong with reading or issuing your SSL cert. + +> Note: if you are using LetsEncrypt to issue certs it can sometimes take a few minuets to issue the cert. + +#### cert-manager issued certs (Rancher Generated or LetsEncrypt) + +`cert-manager` has 3 parts. + +* `cert-manager` pod in the `kube-system` namespace. +* `Issuer` object in the `cattle-system` namespace. +* `Certificate` object in the `cattle-system` namespace. + +Work backwards and do a `kubectl describe` on each object and check the events. You can track down what might be missing. + +For example there is a problem with the Issuer: + +``` +kubectl -n cattle-system describe certificate +... +Events: + Type Reason Age From Message + ---- ------ ---- ---- ------- + Warning IssuerNotReady 18s (x23 over 19m) cert-manager Issuer rancher not ready +``` + +``` +kubectl -n cattle-system describe issuer +... +Events: + Type Reason Age From Message + ---- ------ ---- ---- ------- + Warning ErrInitIssuer 19m (x12 over 19m) cert-manager Error initializing issuer: secret "tls-rancher" not found + Warning ErrGetKeyPair 9m (x16 over 19m) cert-manager Error getting keypair for CA issuer: secret "tls-rancher" not found +``` + +#### Bring Your Own SSL Certs + +Your certs get applied directly to the Ingress object in the `cattle-system` namespace. + +Check the status of the Ingress object and see if its ready. + +``` +kubectl -n cattle-system describe ingress +``` + +If its ready and the SSL is still not working you may have a malformed cert or secret. + +Check the nginx-ingress-controller logs. Because the nginx-ingress-controller has multiple containers in its pod you will need to specify the name of the container. + +``` +kubectl -n ingress-nginx logs -f nginx-ingress-controller-rfjrq nginx-ingress-controller +... +W0705 23:04:58.240571 7 backend_ssl.go:49] error obtaining PEM from secret cattle-system/tls-rancher-ingress: error retrieving secret cattle-system/tls-rancher-ingress: secret cattle-system/tls-rancher-ingress was not found +``` diff --git a/content/rancher/v2.x/en/installation/ha/kubernetes-rke/_index.md b/content/rancher/v2.x/en/installation/ha/kubernetes-rke/_index.md new file mode 100644 index 00000000000..556760f3000 --- /dev/null +++ b/content/rancher/v2.x/en/installation/ha/kubernetes-rke/_index.md @@ -0,0 +1,81 @@ +--- +title: 2 - Install Kubernetes with RKE +weight: 190 +--- + +Use RKE to install Kubernetes with a high-availability etcd configuration. + +### Create the rancher-cluster.yml file + +Using the sample below create the `rancher-cluster.yml` file. Replace the IP Addresses in the `nodes` list with the IP address or DNS names of the 3 Nodes you created. + +```yaml +nodes: +- address: 165.227.114.63 + user: ubuntu + role: [controlplane,worker,etcd] +- address: 165.227.116.167 + user: ubuntu + role: [controlplane,worker,etcd] +- address: 165.227.127.226 + user: ubuntu + role: [controlplane,worker,etcd] +``` + +#### Common RKE nodes: options + +| Option | Description | +| --- | --- | +| `address` | (required) The public DNS or IP address | +| `internal_address` | (optional) The private DNS or IP address for internal cluster traffic | +| `role` | (required) List of Kubernetes roles assigned to the node | +| `ssh_key_path` | (optional) Path to SSH private key used to authenticate to the node | +| `user` | (required) A user that can run docker commands | + +
    + +#### Advanced configurations + +RKE has many configuration options for customizing the install to suit your specific environment. Here are some common advanced scenarios. + +* [System Images for Air Gap Network]({{< baseurl >}}/rke/v0.1.x/en/config-options/system-images/) +* [Private Docker Image Registry]({{< baseurl >}}/rke/v0.1.x/en/config-options/private-registries/) + +Please see the [RKE Documentation]({{< baseurl >}}/rke/v0.1.x/en/) for the full list of options and capabilities. + +### Run RKE + +``` +rke up --config ./rancher-cluster.yml +``` + +### Testing your cluster + +RKE should have created a file `kube_config_rancher-cluster.yml`. This file has the credentials for `kubectl` and `helm`. + +You can copy this file to `$HOME/.kube/config` or if you are working with multiple Kubernetes clusters, set the `KUBECONFIG` environmental variable to the path of `kube_config_rancher-cluster.yml`. + +``` +export KUBECONFIG=$(pwd)/kube_config_rancher-cluster.yml +``` + +Test you connectivity with `kubectl` and see if you can get the list of nodes back. + +``` +kubectl get nodes + +NAME STATUS ROLES AGE VERSION +165.227.114.63 Ready controlplane,etcd,worker 11m v1.10.1 +165.227.116.167 Ready controlplane,etcd,worker 11m v1.10.1 +165.227.127.226 Ready controlplane,etcd,worker 11m v1.10.1 +``` + +### Save your files + +Save a copy of the `kube_config_rancher-cluster.yml` and `rancher-cluster.yml` files. You will need these files to maintain and upgrade your Rancher instance. + +### Issues or errors? + +See the [Troubleshooting]({{< baseurl >}}/rancher/v2.x/en/installation/ha/kubernetes-rke/troubleshooting/) page. + +### [Next: Initialize Helm]({{< baseurl >}}/rancher/v2.x/en/installation/ha/helm-init/) \ No newline at end of file diff --git a/content/rancher/v2.x/en/installation/ha/kubernetes-rke/troubleshooting/_index.md b/content/rancher/v2.x/en/installation/ha/kubernetes-rke/troubleshooting/_index.md new file mode 100644 index 00000000000..6e677bc0f18 --- /dev/null +++ b/content/rancher/v2.x/en/installation/ha/kubernetes-rke/troubleshooting/_index.md @@ -0,0 +1,42 @@ +--- +title: Troubleshooting +weight: 276 +--- + +#### Failed to set up SSH tunneling for host [xxx.xxx.xxx.xxx]: Can't retrieve Docker Info + +##### Failed to dial to /var/run/docker.sock: ssh: rejected: administratively prohibited (open failed) + +* User specified to connect with does not have permission to access the Docker socket. This can be checked by logging into the host and running the command `docker ps`: + +``` +$ ssh user@server +user@server$ docker ps +CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES +``` + +See [Manage Docker as a non-root user](https://docs.docker.com/install/linux/linux-postinstall/#manage-docker-as-a-non-root-user) how to set this up properly. + +* When using RedHat/CentOS as operating system, you cannot use the user `root` to connect to the nodes because of [Bugzilla #1527565](https://bugzilla.redhat.com/show_bug.cgi?id=1527565). You will need to add a separate user and configure it to access the Docker socket. See [Manage Docker as a non-root user](https://docs.docker.com/install/linux/linux-postinstall/#manage-docker-as-a-non-root-user) how to set this up properly. + +* SSH server version is not version 6.7 or higher. This is needed for socket forwarding to work, which is used to connect to the Docker socket over SSH. This can be checked using `sshd -V` on the host you are connecting to, or using netcat: +``` +$ nc xxx.xxx.xxx.xxx 22 +SSH-2.0-OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.10 +``` + +##### Failed to dial ssh using address [xxx.xxx.xxx.xxx:xx]: Error configuring SSH: ssh: no key found + +* The key file specified as `ssh_key_path` cannot be accessed. Make sure that you specified the private key file (not the public key, `.pub`), and that the user that is running the `rke` command can access the private key file. + +##### Failed to dial ssh using address [xxx.xxx.xxx.xxx:xx]: ssh: handshake failed: ssh: unable to authenticate, attempted methods [none publickey], no supported methods remain + +* The key file specified as `ssh_key_path` is not correct for accessing the node. Double-check if you specified the correct `ssh_key_path` for the node and if you specified the correct user to connect with. + +##### Failed to dial ssh using address [xxx.xxx.xxx.xxx:xx]: Error configuring SSH: ssh: cannot decode encrypted private keys + +* If you want to use encrypted private keys, you should use `ssh-agent` to load your keys with your passphrase. If the `SSH_AUTH_SOCK` environment variable is found in the environment where the `rke` command is run, it will be used automatically to connect to the node. + +##### Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? + +* The node is not reachable on the configured `address` and `port`. diff --git a/content/rancher/v2.x/en/installation/ha/migrating-from-rke-all-in-one/_index.md b/content/rancher/v2.x/en/installation/ha/migrating-from-rke-all-in-one/_index.md new file mode 100644 index 00000000000..a90aabe6a3b --- /dev/null +++ b/content/rancher/v2.x/en/installation/ha/migrating-from-rke-all-in-one/_index.md @@ -0,0 +1,56 @@ +--- +title: Migrating from RKE All-In-One Install +weight: 235 +--- + +The following instructions will help guide you through migrating from the RKE All-In-One install to managing Rancher with the Helm package manager. + +You will need the to have [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/#install-kubectl) installed and `kube_config_rancher-cluster.yml` credentials file generated by RKE. + +> **Note:** This guide assumes a standard Rancher install. If you have modified any of the object names or namespaces, please adjust accordingly. + +### Point kubectl at your Rancher Cluster + +Make sure `kubectl` is using the correct cluster. Export the `KUBECONFIG` environmental variable pointing at the `kube_config_rancher-cluster.yml` + +``` +export KUBECONFIG=$(pwd)/kube_config_rancher-cluster.yml +``` + +### Save your certificates + +If you have terminated ssl on the Rancher cluster ingress, recover your certificate and key for use in the Helm install. + +Use `kubectl` to get the secret, decode the value and direct the output to a file. + +``` +kubectl -n cattle-system get secret cattle-keys-ingress -o jsonpath --template='{ .data.tls\.crt }' | base64 -d > tls.crt +kubectl -n cattle-system get secret cattle-keys-ingress -o jsonpath --template='{ .data.tls\.key }' | base64 -d > tls.key +``` + +If you specified a private CA root cert + +``` +kubectl -n cattle-system get secret cattle-keys-server -o jsonpath --template='{ .data.cacerts\.pem }' | base64 -d > cacerts.pem +``` + +### Remove previous Kubernetes objects + +Remove the kubernetes objects created by the RKE install. + +> **Note:** Removing these Kubernetes components will not affect the Rancher configuration or database, but with any maintenance it is a good idea to create a backup of the data before hand. See [Creating Backups-HA Install]({{< baseurl >}}/rancher/v2.x/en/backups/backups/ha-backups) for details. + +``` +kubectl -n cattle-system delete ingress cattle-ingress-http +kubectl -n cattle-system delete service cattle-service +kubectl -n cattle-system delete deployment cattle +kubectl -n cattle-system delete clusterrolebinding cattle-crb +kubectl -n cattle-system delete serviceaccount cattle-admin +``` + +### Follow Helm and Rancher install steps + +From here follow the standard install steps. + +* [3 - Initialize Helm (Install tiller)]({{< baseurl >}}/rancher/v2.x/en/installation/ha/helm-init/) +* [4 - Install Rancher]({{< baseurl >}}/rancher/v2.x/en/installation/ha/helm-rancher/) diff --git a/content/rancher/v2.x/en/installation/ha/rke-all-in-one/_index.md b/content/rancher/v2.x/en/installation/ha/rke-all-in-one/_index.md new file mode 100644 index 00000000000..4b3cb65c1f0 --- /dev/null +++ b/content/rancher/v2.x/en/installation/ha/rke-all-in-one/_index.md @@ -0,0 +1,10 @@ +--- +title: RKE All-In-One Install +weight: 276 +--- + +Rancher can be installed by providing the appropriate Kubernetes manifest configurations to RKE's `addons` feature. See the following instructions for examples appropriate to your environment. + +* [High Availability Installation with External Load Balancer (TCP/Layer 4)]({{< baseurl >}}/rancher/v2.x/installation/ha/rke-all-in-one/layer-4-lb/) +* [High Availability Installation with External Load Balancer (HTTPS/Layer 7)]({{< baseurl >}}/rancher/v2.x/installation/ha/rke-all-in-one/layer-7-lb/) +* [Troubleshooting RKE All-In-One Installs]({{< baseurl >}}/rancher/v2.x/installation/ha/rke-all-in-one/troubleshooting/) diff --git a/content/rancher/v2.x/en/installation/ha-server-install/_index.md b/content/rancher/v2.x/en/installation/ha/rke-all-in-one/layer-4-lb/_index.md similarity index 99% rename from content/rancher/v2.x/en/installation/ha-server-install/_index.md rename to content/rancher/v2.x/en/installation/ha/rke-all-in-one/layer-4-lb/_index.md index dfb67c355d3..99cd3f429c8 100644 --- a/content/rancher/v2.x/en/installation/ha-server-install/_index.md +++ b/content/rancher/v2.x/en/installation/ha/rke-all-in-one/layer-4-lb/_index.md @@ -1,6 +1,8 @@ --- title: High Availability Installation with External Load Balancer (TCP/Layer 4) weight: 275 +aliases: +- /rancher/v2.x/en/installation/ha-server-install/ --- This set of instructions creates a new Kubernetes cluster that's dedicated to running Rancher in a high-availability (HA) configuration. This procedure walks you through setting up a 3-node cluster using the Rancher Kubernetes Engine (RKE). The cluster's sole purpose is running pods for Rancher. The setup is based on: diff --git a/content/rancher/v2.x/en/installation/ha/rke-all-in-one/layer-4-lb/nlb/_index.md b/content/rancher/v2.x/en/installation/ha/rke-all-in-one/layer-4-lb/nlb/_index.md new file mode 100644 index 00000000000..f2eebef4170 --- /dev/null +++ b/content/rancher/v2.x/en/installation/ha/rke-all-in-one/layer-4-lb/nlb/_index.md @@ -0,0 +1,174 @@ +--- +title: Amazon NLB configuration +weight: 277 +aliases: +- /rancher/v2.x/en/installation/ha-server-install/nlb/ +--- +## Objectives + +Configuring an Amazon NLB is a multistage process. We've broken it down into multiple tasks so that it's easy to follow. + +1. [Create Target Groups](#create-target-groups) + + Begin by creating two target groups for the **TCP** protocol, one regarding TCP port 443 and one regarding TCP port 80 (providing redirect to TCP port 443). You'll add your Linux nodes to these groups. + +2. [Register Targets](#register-targets) + + Add your Linux nodes to the target groups. + +3. [Create Your NLB](#create-your-nlb) + + Use Amazon's Wizard to create an Network Load Balancer. As part of this process, you'll add the target groups you created in **1. Create Target Groups**. + + +## Create Target Groups + +Your first NLB configuration step is to create two target groups. Technically, only port 443 is needed to access Rancher, but its convenient to add a listener for port 80 which will be redirected to port 443 automatically. The NGINX controller on the nodes will make sure that port 80 gets redirected to port 443. + +Log into the [Amazon AWS Console](https://console.aws.amazon.com/ec2/) to get started, make sure to select the **Region** where your EC2 instances (Linux nodes) are created. + +The Target Groups configuration resides in the **Load Balancing** section of the **EC2** service. Select **Services** and choose **EC2**, find the section **Load Balancing** and open **Target Groups**. + +![EC2 Load Balancing section]({{< baseurl >}}/img/rancher/ha/nlb/ec2-loadbalancing.png) + +Click **Create target group** to create the first target group, regarding TCP port 443. + +### Target Group (TCP port 443) + +Configure the first target group according to the table below. Screenshots of the configuration are shown just below the table. + +Option | Setting +--------------------------------------|------------------------------------ +Target Group Name | `rancher-tcp-443` +Protocol | `TCP` +Port | `443` +Target type | `instance` +VPC | Choose your VPC +Protocol
    (Health Check) | `HTTP` +Path
    (Health Check) | `/healthz` +Port (Advanced health check) | `override`,`80` +Healthy threshold (Advanced health) | `3` +Unhealthy threshold (Advanced) | `3` +Timeout (Advanced) | `6 seconds` +Interval (Advanced) | `10 second` +Success codes | `200-399` + +
    +**Screenshot Target group TCP port 443 settings**
    +![Target group 443]({{< baseurl >}}/img/rancher/ha/nlb/create-targetgroup-443.png) + +
    +**Screenshot Target group TCP port 443 Advanced settings**
    +![Target group 443 Advanced]({{< baseurl >}}/img/rancher/ha/nlb/create-targetgroup-443-advanced.png) + +
    + +Click **Create target group** to create the second target group, regarding TCP port 80. + +### Target Group (TCP port 80) + +Configure the second target group according to the table below. Screenshots of the configuration are shown just below the table. + +Option | Setting +--------------------------------------|------------------------------------ +Target Group Name | `rancher-tcp-80` +Protocol | `TCP` +Port | `80` +Target type | `instance` +VPC | Choose your VPC +Protocol
    (Health Check) | `HTTP` +Path
    (Health Check) | `/healthz` +Port (Advanced health check) | `traffic port` +Healthy threshold (Advanced health) | `3` +Unhealthy threshold (Advanced) | `3` +Timeout (Advanced) | `6 seconds` +Interval (Advanced) | `10 second` +Success codes | `200-399` + +
    +**Screenshot Target group TCP port 80 settings**
    +![Target group 80]({{< baseurl >}}/img/rancher/ha/nlb/create-targetgroup-80.png) + +
    +**Screenshot Target group TCP port 80 Advanced settings**
    +![Target group 80 Advanced]({{< baseurl >}}/img/rancher/ha/nlb/create-targetgroup-80-advanced.png) + +
    + +## Register Targets + +Next, add your Linux nodes to both target groups. + +Select the target group named **rancher-tcp-443**, click the tab **Targets** and choose **Edit**. + +![Edit target group 443]({{< baseurl >}}/img/rancher/ha/nlb/edit-targetgroup-443.png) + +Select the instances (Linux nodes) you want to add, and click **Add to registered**. + +
    +**Screenshot Add targets to target group TCP port 443**
    + +![Add targets to target group 443]({{< baseurl >}}/img/rancher/ha/nlb/add-targets-targetgroup-443.png) + +
    +**Screenshot Added targets to target group TCP port 443**
    + +![Added targets to target group 443]({{< baseurl >}}/img/rancher/ha/nlb/added-targets-targetgroup-443.png) + +When the instances are added, click **Save** on the bottom right of the screen. + +Repeat those steps, replacing **rancher-tcp-443** with **rancher-tcp-80**. The same instances need to be added as targets to this target group. + +## Create Your NLB + +Use Amazon's Wizard to create an Network Load Balancer. As part of this process, you'll add the target groups you created in [Create Target Groups](#create-target-groups). + +1. From your web browser, navigate to the [Amazon EC2 Console](https://console.aws.amazon.com/ec2/). + +2. From the navigation pane, choose **LOAD BALANCING** > **Load Balancers**. + +3. Click **Create Load Balancer**. + +4. Choose **Network Load Balancer** and click **Create**. + +5. Complete the **Step 1: Configure Load Balancer** form. + - **Basic Configuration** + + - Name: `rancher` + - Scheme: `internet-facing` + - **Listeners** + + Add the **Load Balancer Protocols** and **Load Balancer Ports** below. + - `TCP`: `443` + + - **Availability Zones** + + - Select Your **VPC** and **Availability Zones**. + +6. Complete the **Step 2: Configure Routing** form. + + - From the **Target Group** drop-down, choose **Existing target group**. + + - From the **Name** drop-down, choose `rancher-tcp-443`. + + - Open **Advanced health check settings**, and configure **Interval** to `10 seconds`. + +7. Complete **Step 3: Register Targets**. Since you registered your targets earlier, all you have to do is click **Next: Review**. + +8. Complete **Step 4: Review**. Look over the load balancer details and click **Create** when you're satisfied. + +9. After AWS creates the NLB, click **Close**. + +## Add listener to NLB for TCP port 80 + +1. Select your newly created NLB and select the **Listeners** tab. + +2. Click **Add listener**. + +3. Use `TCP`:`80` as **Protocol** : **Port** + +4. Click **Add action** and choose **Forward to...** + +5. From the **Forward to** drop-down, choose `rancher-tcp-80`. + +6. Click **Save** in the top right of the screen. diff --git a/content/rancher/v2.x/en/installation/ha-server-install-external-lb/_index.md b/content/rancher/v2.x/en/installation/ha/rke-all-in-one/layer-7-lb/_index.md similarity index 98% rename from content/rancher/v2.x/en/installation/ha-server-install-external-lb/_index.md rename to content/rancher/v2.x/en/installation/ha/rke-all-in-one/layer-7-lb/_index.md index 3b97214f35b..9fb112f4045 100644 --- a/content/rancher/v2.x/en/installation/ha-server-install-external-lb/_index.md +++ b/content/rancher/v2.x/en/installation/ha/rke-all-in-one/layer-7-lb/_index.md @@ -1,6 +1,8 @@ --- title: High Availability Installation with External Load Balancer (HTTPS/Layer 7) weight: 276 +aliases: +- /rancher/v2.x/en/installation/ha-server-install-external-lb/ --- This set of instructions creates a new Kubernetes cluster that's dedicated to running Rancher in a high-availability (HA) configuration. This procedure walks you through setting up a 3-node cluster using the Rancher Kubernetes Engine (RKE). The cluster's sole purpose is running pods for Rancher. The setup is based on: @@ -105,8 +107,8 @@ Health checks can be executed on the `/healthz` endpoint of the node, this will We have example configurations for the following load balancers: -* [Amazon ALB configuration]({{< baseurl >}}/rancher/v2.x/en/installation/ha-server-install-external-lb/alb) -* [NGINX configuration]({{< baseurl >}}/rancher/v2.x/en/installation/ha-server-install-external-lb/nginx) +* [Amazon ALB configuration](alb/) +* [NGINX configuration](nginx/) ## 3. Configure DNS @@ -331,7 +333,7 @@ During installation, RKE automatically generates a config file named `kube_confi You have a couple of options: -- Create a backup of your Rancher Server in case of a disaster scenario: [High Availablility Back Up and Restoration]({{< baseurl >}}/rancher/v2.x/en/installation/backups-and-restoration/ha-backup-and-restoration). +- Create a backup of your Rancher Server in case of a disaster scenario: [High Availablility Back Up and Restoration]({{< baseurl >}}/rancher/v2.x/en/backups/ha-backups/). - Create a Kubernetes cluster: [Creating a Cluster]({{< baseurl >}}/rancher/v2.x/en/tasks/clusters/creating-a-cluster/).
    diff --git a/content/rancher/v2.x/en/installation/ha-server-install-external-lb/alb/_index.md b/content/rancher/v2.x/en/installation/ha/rke-all-in-one/layer-7-lb/alb/_index.md similarity index 97% rename from content/rancher/v2.x/en/installation/ha-server-install-external-lb/alb/_index.md rename to content/rancher/v2.x/en/installation/ha/rke-all-in-one/layer-7-lb/alb/_index.md index 424d35bdd3f..bc96496e99e 100644 --- a/content/rancher/v2.x/en/installation/ha-server-install-external-lb/alb/_index.md +++ b/content/rancher/v2.x/en/installation/ha/rke-all-in-one/layer-7-lb/alb/_index.md @@ -1,6 +1,8 @@ --- title: Amazon ALB configuration weight: 277 +aliases: +- /rancher/v2.x/en/installation/ha-server-install-external-lb/alb/ --- ## Objectives diff --git a/content/rancher/v2.x/en/installation/ha-server-install-external-lb/nginx/_index.md b/content/rancher/v2.x/en/installation/ha/rke-all-in-one/layer-7-lb/nginx/_index.md similarity index 97% rename from content/rancher/v2.x/en/installation/ha-server-install-external-lb/nginx/_index.md rename to content/rancher/v2.x/en/installation/ha/rke-all-in-one/layer-7-lb/nginx/_index.md index dbfba4ffe81..3b748b01559 100644 --- a/content/rancher/v2.x/en/installation/ha-server-install-external-lb/nginx/_index.md +++ b/content/rancher/v2.x/en/installation/ha/rke-all-in-one/layer-7-lb/nginx/_index.md @@ -1,6 +1,8 @@ --- title: NGINX configuration weight: 277 +aliases: +- /rancher/v2.x/en/installation/ha-server-install-external-lb/nginx/ --- ## Install NGINX diff --git a/content/rancher/v2.x/en/installation/troubleshooting-ha/404-default-backend/_index.md b/content/rancher/v2.x/en/installation/ha/rke-all-in-one/troubleshooting/404-default-backend/_index.md similarity index 96% rename from content/rancher/v2.x/en/installation/troubleshooting-ha/404-default-backend/_index.md rename to content/rancher/v2.x/en/installation/ha/rke-all-in-one/troubleshooting/404-default-backend/_index.md index 81140055fae..78bbfc446b6 100644 --- a/content/rancher/v2.x/en/installation/troubleshooting-ha/404-default-backend/_index.md +++ b/content/rancher/v2.x/en/installation/ha/rke-all-in-one/troubleshooting/404-default-backend/_index.md @@ -1,6 +1,8 @@ --- title: 404 - default backend weight: 30 +aliases: +- /rancher/v2.x/en/installation/troubleshooting-ha/404-default-backend/ --- To debug issues around this error, you will need to download the command-line tool `kubectl`. See [Install and Set Up kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/) how to download `kubectl` for your platform. diff --git a/content/rancher/v2.x/en/installation/troubleshooting-ha/_index.md b/content/rancher/v2.x/en/installation/ha/rke-all-in-one/troubleshooting/_index.md similarity index 55% rename from content/rancher/v2.x/en/installation/troubleshooting-ha/_index.md rename to content/rancher/v2.x/en/installation/ha/rke-all-in-one/troubleshooting/_index.md index 00ce37f6927..7023eb3dfbe 100644 --- a/content/rancher/v2.x/en/installation/troubleshooting-ha/_index.md +++ b/content/rancher/v2.x/en/installation/ha/rke-all-in-one/troubleshooting/_index.md @@ -1,24 +1,25 @@ --- title: Troubleshooting High Availability Installation weight: 370 +aliases: +- /rancher/v2.x/en/installation/troubleshooting-ha/ --- This section contains common errors seen when setting up a High Availability Installation. Choose from the following options: -- [Generic troubleshooting]({{< baseurl >}}/rancher/v2.x/en/installation/troubleshooting-ha/generic-troubleshooting) +- [Generic troubleshooting](generic-troubleshooting/) In this section, you can find generic ways to debug your Kubernetes cluster. -- [Failed to set up SSH tunneling for host]({{< baseurl >}}/rancher/v2.x/en/installation/troubleshooting-ha/ssh-tunneling) +- [Failed to set up SSH tunneling for host](ssh-tunneling/) In this section, you can find errors related to SSH tunneling when you run the `rke` command to setup your nodes. -- [Failed to get job complete status]({{< baseurl >}}/rancher/v2.x/en/installation/troubleshooting-ha/job-complete-status) +- [Failed to get job complete status](job-complete-status/) In this section, you can find errors related to deploying addons. -- [404 - default backend]({{< baseurl >}}/rancher/v2.x/en/installation/troubleshooting-ha/404-default-backend) +- [404 - default backend](404-default-backend/) In this section, you can find errors related to the `404 - default backend` page that is shown when trying to access Rancher. - diff --git a/content/rancher/v2.x/en/installation/troubleshooting-ha/generic-troubleshooting/_index.md b/content/rancher/v2.x/en/installation/ha/rke-all-in-one/troubleshooting/generic-troubleshooting/_index.md similarity index 98% rename from content/rancher/v2.x/en/installation/troubleshooting-ha/generic-troubleshooting/_index.md rename to content/rancher/v2.x/en/installation/ha/rke-all-in-one/troubleshooting/generic-troubleshooting/_index.md index f68ffb9906a..41ead2d7934 100644 --- a/content/rancher/v2.x/en/installation/troubleshooting-ha/generic-troubleshooting/_index.md +++ b/content/rancher/v2.x/en/installation/ha/rke-all-in-one/troubleshooting/generic-troubleshooting/_index.md @@ -1,6 +1,8 @@ --- title: Generic troubleshooting -weight: 5 +weight: 5 +aliases: +- /rancher/v2.x/en/installation/troubleshooting-ha/generic-troubleshooting/ --- Below are steps that you can follow to determine what is wrong in your cluster. diff --git a/content/rancher/v2.x/en/installation/troubleshooting-ha/job-complete-status/_index.md b/content/rancher/v2.x/en/installation/ha/rke-all-in-one/troubleshooting/job-complete-status/_index.md similarity index 96% rename from content/rancher/v2.x/en/installation/troubleshooting-ha/job-complete-status/_index.md rename to content/rancher/v2.x/en/installation/ha/rke-all-in-one/troubleshooting/job-complete-status/_index.md index 375a6387346..eaec014af2d 100644 --- a/content/rancher/v2.x/en/installation/troubleshooting-ha/job-complete-status/_index.md +++ b/content/rancher/v2.x/en/installation/ha/rke-all-in-one/troubleshooting/job-complete-status/_index.md @@ -1,6 +1,8 @@ --- title: Failed to get job complete status weight: 20 +aliases: +- /rancher/v2.x/en/installation/troubleshooting-ha/job-complete-status/ --- To debug issues around this error, you will need to download the command-line tool `kubectl`. See [Install and Set Up kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/) how to download `kubectl` for your platform. diff --git a/content/rancher/v2.x/en/installation/troubleshooting-ha/ssh-tunneling/_index.md b/content/rancher/v2.x/en/installation/ha/rke-all-in-one/troubleshooting/ssh-tunneling/_index.md similarity index 97% rename from content/rancher/v2.x/en/installation/troubleshooting-ha/ssh-tunneling/_index.md rename to content/rancher/v2.x/en/installation/ha/rke-all-in-one/troubleshooting/ssh-tunneling/_index.md index ee6573f52ed..d9e2d477628 100644 --- a/content/rancher/v2.x/en/installation/troubleshooting-ha/ssh-tunneling/_index.md +++ b/content/rancher/v2.x/en/installation/ha/rke-all-in-one/troubleshooting/ssh-tunneling/_index.md @@ -1,6 +1,8 @@ --- title: Failed to set up SSH tunneling for host weight: 10 +aliases: +- /rancher/v2.x/en/installation/troubleshooting-ha/ssh-tunneling/ --- ### Failed to set up SSH tunneling for host [xxx.xxx.xxx.xxx]: Can't retrieve Docker Info diff --git a/content/rancher/v2.x/en/installation/removing-rancher/_index.md b/content/rancher/v2.x/en/installation/removing-rancher/_index.md deleted file mode 100644 index 3a9f7d56271..00000000000 --- a/content/rancher/v2.x/en/installation/removing-rancher/_index.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: Removing Rancher -weight: 375 ---- - -This section contains instructions on how to remove Rancher or nodes added to clusters. - -Choose from the following options: - -- [Cleaning cluster nodes]({{< baseurl >}}/rancher/v2.x/en/installation/removing-rancher/cleaning-cluster-nodes) - - In this section, you can find steps to clean nodes that have been added to clusters created in Rancher. diff --git a/content/rancher/v2.x/en/installation/server-tags/_index.md b/content/rancher/v2.x/en/installation/server-tags/_index.md index 2eae26dfe6d..c3f3130667f 100644 --- a/content/rancher/v2.x/en/installation/server-tags/_index.md +++ b/content/rancher/v2.x/en/installation/server-tags/_index.md @@ -1,6 +1,6 @@ --- title: Server Tags -weight: 200 +weight: 2000 --- {{< product >}} Server is distributed as a Docker image, which have _tags_ attached to them. Tags are used to identify what version is included in the image. Rancher includes additional tags that point to a specific version. Remember that if you use the additional tags, you must explicitly pull a new version of that image tag. Otherwise it will use the cached image on the host. diff --git a/content/rancher/v2.x/en/installation/single-node-install/_index.md b/content/rancher/v2.x/en/installation/single-node/_index.md similarity index 97% rename from content/rancher/v2.x/en/installation/single-node-install/_index.md rename to content/rancher/v2.x/en/installation/single-node/_index.md index 6e16cafbc2f..8c4df50be0c 100644 --- a/content/rancher/v2.x/en/installation/single-node-install/_index.md +++ b/content/rancher/v2.x/en/installation/single-node/_index.md @@ -4,11 +4,8 @@ weight: 250 --- For development environments, we recommend installing Rancher by running a single Docker container. In this installation scenario, you'll install Docker on a single Linux host, and then install Rancher on your host using a single Docker container. - >**Want to use an external load balancer?** -> See [Single Node Installation with an External Load Balancer]({{< baseurl >}}/rancher/v2.x/en/installation/single-node-install-external-lb) instead. - - +> See [Single Node Installation with an External Load Balancer]({{< baseurl >}}/rancher/v2.x/en/installation/single-node/advanced-options/single-node-install-external-lb) instead. ## Installation Outline @@ -28,15 +25,15 @@ Provision a single Linux host to launch your {{< product >}} Server. ### Requirements -#### Operating System +#### Operating System {{< requirements_os >}} -#### Hardware +#### Hardware {{< requirements_hardware >}} -#### Software +#### Software {{< requirements_software >}} @@ -81,8 +78,6 @@ If you install Rancher without using your own certificate, Rancher generates a s rancher/rancher:latest ``` - - ### Option B—Bring Your Own Certificate: Self-Signed Your Rancher install can use a self-signed certificate that you provide to encrypt communications. @@ -93,7 +88,6 @@ Your Rancher install can use a self-signed certificate that you provide to encry >- The certificate files must be in [PEM format](#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). - **To Install Rancher Using a Self-Signed Cert:** Your Rancher install can use a self-signed certificate that you provide to encrypt communications. @@ -156,7 +150,6 @@ Run the following commands from your Linux host. --acme-domain rancher.mydomain.com ``` - > >**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/). @@ -192,4 +185,3 @@ docker run -d --restart=unless-stopped \ -p 8080:80 -p 8443:443 \ rancher/rancher:latest ``` - diff --git a/content/rancher/v2.x/en/installation/single-node/advanced-options/_index.md b/content/rancher/v2.x/en/installation/single-node/advanced-options/_index.md new file mode 100644 index 00000000000..64d66862152 --- /dev/null +++ b/content/rancher/v2.x/en/installation/single-node/advanced-options/_index.md @@ -0,0 +1,9 @@ +--- +title: Advanced Install Options +weight: 250 +--- + +* [Air Gap Installation]({{< baseurl >}}/rancher/v2.x/en/installation/single-node/advanced-options/air-gap-installation) +* [HTTP/S Proxy Configuration]({{< baseurl >}}/rancher/v2.x/en/installation/single-node/advanced-options/proxy-configuration) +* [Using an External Load Balancer]({{< baseurl >}}/rancher/v2.x/en/installation/single-node/advanced-options/single-node-install-external-lb) +* [Using a Private CA Root Certificate]({{< baseurl >}}/rancher/v2.x/en/installation/single-node/advanced-options/private-ca-root-certificate) \ No newline at end of file diff --git a/content/rancher/v2.x/en/installation/air-gap-installation/_index.md b/content/rancher/v2.x/en/installation/single-node/advanced-options/air-gap-installation/_index.md similarity index 98% rename from content/rancher/v2.x/en/installation/air-gap-installation/_index.md rename to content/rancher/v2.x/en/installation/single-node/advanced-options/air-gap-installation/_index.md index a65c2d4614e..df38b9ca48a 100644 --- a/content/rancher/v2.x/en/installation/air-gap-installation/_index.md +++ b/content/rancher/v2.x/en/installation/single-node/advanced-options/air-gap-installation/_index.md @@ -1,6 +1,8 @@ --- title: Air Gap Installation weight: 345 +aliases: +- /rancher/v2.x/en/installation/air-gap-installation/ --- Rancher supports installing from a private registry. In every [release](https://github.com/rancher/rancher/releases), we provide you with the needed Docker images and scripts to mirror those images to your own registry. The Docker images are used when nodes are added to a cluster, or when you enable features like pipelines or logging. diff --git a/content/rancher/v2.x/en/installation/custom-ca-root-certificate/_index.md b/content/rancher/v2.x/en/installation/single-node/advanced-options/private-ca-root-certificate/_index.md similarity index 97% rename from content/rancher/v2.x/en/installation/custom-ca-root-certificate/_index.md rename to content/rancher/v2.x/en/installation/single-node/advanced-options/private-ca-root-certificate/_index.md index 423c087784d..275fc2408a8 100644 --- a/content/rancher/v2.x/en/installation/custom-ca-root-certificate/_index.md +++ b/content/rancher/v2.x/en/installation/single-node/advanced-options/private-ca-root-certificate/_index.md @@ -1,5 +1,5 @@ --- -title: Adding custom CA root certificates +title: Using a Private CA Root Certificate weight: 365 --- Services that Rancher needs to access are sometimes configured with a certificate from an custom/internal Certificate Authority (CA) root, also known as self signed certificate. If the presented certificate from the service cannot be validated by Rancher, the following error will appear: `x509: certificate signed by unknown authority`. diff --git a/content/rancher/v2.x/en/installation/proxy-configuration/_index.md b/content/rancher/v2.x/en/installation/single-node/advanced-options/proxy-configuration/_index.md similarity index 98% rename from content/rancher/v2.x/en/installation/proxy-configuration/_index.md rename to content/rancher/v2.x/en/installation/single-node/advanced-options/proxy-configuration/_index.md index fe2182510fa..3dd3fa231c2 100644 --- a/content/rancher/v2.x/en/installation/proxy-configuration/_index.md +++ b/content/rancher/v2.x/en/installation/single-node/advanced-options/proxy-configuration/_index.md @@ -1,6 +1,8 @@ --- title: HTTP Proxy Configuration weight: 360 +aliases: +- /rancher/v2.x/en/installation/proxy-configuration/ --- If you operate Rancher behind a proxy and you want to access services through the proxy (such as retrieving catalogs), you must provide Rancher information about your proxy. As Rancher is written in Go, it uses the common proxy environment variables as shown below. diff --git a/content/rancher/v2.x/en/installation/single-node-install-external-lb/_index.md b/content/rancher/v2.x/en/installation/single-node/advanced-options/single-node-install-external-lb/_index.md similarity index 95% rename from content/rancher/v2.x/en/installation/single-node-install-external-lb/_index.md rename to content/rancher/v2.x/en/installation/single-node/advanced-options/single-node-install-external-lb/_index.md index 24e05fcf619..b85ee0326a5 100644 --- a/content/rancher/v2.x/en/installation/single-node-install-external-lb/_index.md +++ b/content/rancher/v2.x/en/installation/single-node/advanced-options/single-node-install-external-lb/_index.md @@ -1,12 +1,14 @@ --- title: Single Node Installation with External Load Balancer weight: 260 +aliases: +- /rancher/v2.x/en/installation/single-node-install-external-lb/ --- For development environments, we recommend installing Rancher by running a single Docker container. In this installation scenario, you'll deploy Rancher to a Linux host using a single Docker container. Then you will configure an external load balancer to work with Rancher. >**Want to skip the external load balancer?** -> See [Single Node Installation]({{< baseurl >}}/rancher/v2.x/en/installation/single-node-install) instead. +> See [Single Node Installation]({{< baseurl >}}/rancher/v2.x/en/installation/single-node) instead. @@ -58,7 +60,7 @@ The following diagram depicts the basic port requirements for Rancher. For a com 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. >**Attention Air Gap Users:** -> If you are visiting this page to complete [Air Gap Installation]({{< baseurl >}}/rancher/v2.x/en/installation/air-gap-installation/), you must prepend your private registry URL to the server tag when running the installation command in the option that you choose. Replace `` with your private registry URL. +> If you are visiting this page to complete [Air Gap Installation](../air-gap-installation/), you must prepend your private registry URL to the server tag when running the installation command in the option that you choose. Replace `` with your private registry URL. > > Example: ``` diff --git a/layouts/shortcodes/requirements_ports_rancher_rke.html b/layouts/shortcodes/requirements_ports_rancher_rke.html new file mode 100644 index 00000000000..41401055ff8 --- /dev/null +++ b/layouts/shortcodes/requirements_ports_rancher_rke.html @@ -0,0 +1,57 @@ +
    +
    Cluster External Ports
    +

    These ports should be open between nodes and the external network for communication and management of Rancher.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ProtocolPortDescription
    TCP22SSH for RKE
    TCP80Ingress controller - redirect to HTTPS
    TCP443Ingress controller - HTTPS traffic to Rancher
    TCP6443HTTPS to kube-api, used by kubectl and helm
    +

    +
    Additional Ports Required Between Rancher Cluster Nodes
    +

    In addition to the ports listed above these ports must be open between nodes.

    + + + + + + + + + + + + + + + + + + + + + +
    ProtocolPortDescription
    TCP2379-2380etcd
    udp8472Overlay networking
    TCP10250kubelet
    +
    From e1f8191ade76db1277e3af7fc1b4ac4880fa5dde Mon Sep 17 00:00:00 2001 From: Mark Bishop Date: Mon, 20 Aug 2018 12:26:10 -0700 Subject: [PATCH 05/18] changing paths --- content/rancher/v2.x/en/faq/network/_index.md | 9 --------- .../rancher/v2.x/en/faq/networking/_index.md | 9 +++++++++ .../cni-providers/_index.md | 18 +++++++++--------- .../img/rancher}/calico-diagram.svg | 0 .../img => src/img/rancher}/calico-logo.png | Bin .../img => src/img/rancher}/canal-diagram.png | Bin .../img => src/img/rancher}/canal-logo.png | Bin .../img => src/img/rancher}/cni-logo.png | Bin .../img/rancher}/encapsulated-network.svg | 0 .../img/rancher}/flannel-diagram.png | Bin .../img => src/img/rancher}/flannel-logo.png | Bin .../img/rancher}/unencapsulated-network.svg | 0 12 files changed, 18 insertions(+), 18 deletions(-) delete mode 100644 content/rancher/v2.x/en/faq/network/_index.md create mode 100644 content/rancher/v2.x/en/faq/networking/_index.md rename content/rancher/v2.x/en/faq/{network => networking}/cni-providers/_index.md (93%) rename {content/rancher/v2.x/en/faq/network/cni-providers/img => src/img/rancher}/calico-diagram.svg (100%) rename {content/rancher/v2.x/en/faq/network/cni-providers/img => src/img/rancher}/calico-logo.png (100%) rename {content/rancher/v2.x/en/faq/network/cni-providers/img => src/img/rancher}/canal-diagram.png (100%) rename {content/rancher/v2.x/en/faq/network/cni-providers/img => src/img/rancher}/canal-logo.png (100%) rename {content/rancher/v2.x/en/faq/network/cni-providers/img => src/img/rancher}/cni-logo.png (100%) rename {content/rancher/v2.x/en/faq/network/cni-providers/img => src/img/rancher}/encapsulated-network.svg (100%) rename {content/rancher/v2.x/en/faq/network/cni-providers/img => src/img/rancher}/flannel-diagram.png (100%) rename {content/rancher/v2.x/en/faq/network/cni-providers/img => src/img/rancher}/flannel-logo.png (100%) rename {content/rancher/v2.x/en/faq/network/cni-providers/img => src/img/rancher}/unencapsulated-network.svg (100%) diff --git a/content/rancher/v2.x/en/faq/network/_index.md b/content/rancher/v2.x/en/faq/network/_index.md deleted file mode 100644 index e37c8f948ee..00000000000 --- a/content/rancher/v2.x/en/faq/network/_index.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: Networking -weight: 8005 ---- - -Networking FAQ's - -- [CNI Providers]({{< baseurl >}}/rancher/v2.x/en/faq/network/cni-providers/) - diff --git a/content/rancher/v2.x/en/faq/networking/_index.md b/content/rancher/v2.x/en/faq/networking/_index.md new file mode 100644 index 00000000000..ef4a030f7a8 --- /dev/null +++ b/content/rancher/v2.x/en/faq/networking/_index.md @@ -0,0 +1,9 @@ +--- +title: Networking +weight: 8005 +--- + +Networking FAQ's + +- [CNI Providers]({{< baseurl >}}/rancher/v2.x/en/faq/networking/cni-providers/) + diff --git a/content/rancher/v2.x/en/faq/network/cni-providers/_index.md b/content/rancher/v2.x/en/faq/networking/cni-providers/_index.md similarity index 93% rename from content/rancher/v2.x/en/faq/network/cni-providers/_index.md rename to content/rancher/v2.x/en/faq/networking/cni-providers/_index.md index 3097212b54d..9d8dcae502b 100644 --- a/content/rancher/v2.x/en/faq/network/cni-providers/_index.md +++ b/content/rancher/v2.x/en/faq/networking/cni-providers/_index.md @@ -10,7 +10,7 @@ CNI (Container Network Interface), a [Cloud Native Computing Foundation project] Kubernetes uses CNI as an interface between network providers and Kubernetes pod networking. -CNI logo +![CNI Logo]({{< baseurl >}}/img/rancher/cni-logo.png) For more information visit [CNI GitHub project](https://github.com/containernetworking/cni). @@ -28,7 +28,7 @@ This network model is used when an extended L2 bridge is preferred. This network CNI providers using this network model include Flannel, Canal, and Weave. -Encapsulated network +![Encapsulated Network]({{< baseurl >}}/img/rancher/encapsulated-network.svg) #### What is an Unencapsulated Network? @@ -40,7 +40,7 @@ This network model is used when a routed L3 network is preferred. This mode dyna CNI providers using this network model include Calico and Romana. -Unencapsulated network +![Unencapsulated Network]({{< baseurl >}}/img/rancher/unencapsulated-network.svg) ### What CNI Providers are Supported by Rancher? @@ -48,7 +48,7 @@ Out-of-the-box, Rancher supports three different CNI providers for Kubernetes cl #### Canal -Canal logo +![Canal Logo]({{< baseurl >}}/img/rancher/canal-logo.png) Canal is a CNI provider that gives you the best of Flannel and Calico. It allows users to easily deploy Calico and Flannel networking together as a unified networking solution, combining Calico’s network policy enforcement with the rich superset of Calico (unencapsulated) and/or Flannel (encapsulated) network connectivity options. @@ -56,13 +56,13 @@ In Rancher, Canal is the default CNI provider combined with Flannel and VXLAN en Kubernetes workers should open UDP port `8472` (VXLAN) and `9099` (healthcheck). -Canal diagram +![Canal Diagram]({{< baseurl >}}/img/rancher/canal-diagram.png) For more information, see the [Canal GitHub Page](https://github.com/projectcalico/canal). #### Flannel -Flannel logo +![Flannel Logo]({{< baseurl >}}/img/rancher/flannel-logo.png) Flannel is a simple and easy way to configure L3 network fabric designed for Kubernetes. Flannel runs a single binary agent named flanneld on each host, which is responsible for allocating a subnet lease to each host out of a larger, preconfigured address space. Flannel uses either the Kubernetes API or etcd directly to store the network configuration, the allocated subnets, and any auxiliary data (such as the host's public IP). Packets are forwarded using one of several backend mechanisms, with the default encapsulation being [VXLAN](https://github.com/coreos/flannel/blob/master/Documentation/backends.md#vxlan). @@ -70,13 +70,13 @@ Encapsulated traffic is unencrypted by default. Threfore, flannel provides an ex Kubernetes workers should open UDP port `8472` (VXLAN) and `9099` (healthcheck). -Flannel Diagram +![Flannel Diagram]({{< baseurl >}}/img/rancher/flannel-diagram.png) For more information, see the [Flannel GitHub Page](https://github.com/coreos/flannel). #### Calico -Calico Logo +![Calico Logo]({{< baseurl >}}/img/rancher/calico-logo.png) Calico enables networking and network policy in Kubernetes clusters across the cloud. Calico uses a pure, unencapsulated IP network fabric and policy engine to provide networking for your Kubernetes workloads. Workloads are able to communicate over both cloud infrastructure and on-premise using BGP. @@ -84,7 +84,7 @@ Calico also provides a stateless IP-in-IP encapsulation mode that can be used, i Kubernetes workers should open TCP port `179` (BGP). -Calico Diagram +![Calico Diagram]({{< baseurl >}}/img/rancher/calico-diagram.svg) For more information, see the following pages: diff --git a/content/rancher/v2.x/en/faq/network/cni-providers/img/calico-diagram.svg b/src/img/rancher/calico-diagram.svg similarity index 100% rename from content/rancher/v2.x/en/faq/network/cni-providers/img/calico-diagram.svg rename to src/img/rancher/calico-diagram.svg diff --git a/content/rancher/v2.x/en/faq/network/cni-providers/img/calico-logo.png b/src/img/rancher/calico-logo.png similarity index 100% rename from content/rancher/v2.x/en/faq/network/cni-providers/img/calico-logo.png rename to src/img/rancher/calico-logo.png diff --git a/content/rancher/v2.x/en/faq/network/cni-providers/img/canal-diagram.png b/src/img/rancher/canal-diagram.png similarity index 100% rename from content/rancher/v2.x/en/faq/network/cni-providers/img/canal-diagram.png rename to src/img/rancher/canal-diagram.png diff --git a/content/rancher/v2.x/en/faq/network/cni-providers/img/canal-logo.png b/src/img/rancher/canal-logo.png similarity index 100% rename from content/rancher/v2.x/en/faq/network/cni-providers/img/canal-logo.png rename to src/img/rancher/canal-logo.png diff --git a/content/rancher/v2.x/en/faq/network/cni-providers/img/cni-logo.png b/src/img/rancher/cni-logo.png similarity index 100% rename from content/rancher/v2.x/en/faq/network/cni-providers/img/cni-logo.png rename to src/img/rancher/cni-logo.png diff --git a/content/rancher/v2.x/en/faq/network/cni-providers/img/encapsulated-network.svg b/src/img/rancher/encapsulated-network.svg similarity index 100% rename from content/rancher/v2.x/en/faq/network/cni-providers/img/encapsulated-network.svg rename to src/img/rancher/encapsulated-network.svg diff --git a/content/rancher/v2.x/en/faq/network/cni-providers/img/flannel-diagram.png b/src/img/rancher/flannel-diagram.png similarity index 100% rename from content/rancher/v2.x/en/faq/network/cni-providers/img/flannel-diagram.png rename to src/img/rancher/flannel-diagram.png diff --git a/content/rancher/v2.x/en/faq/network/cni-providers/img/flannel-logo.png b/src/img/rancher/flannel-logo.png similarity index 100% rename from content/rancher/v2.x/en/faq/network/cni-providers/img/flannel-logo.png rename to src/img/rancher/flannel-logo.png diff --git a/content/rancher/v2.x/en/faq/network/cni-providers/img/unencapsulated-network.svg b/src/img/rancher/unencapsulated-network.svg similarity index 100% rename from content/rancher/v2.x/en/faq/network/cni-providers/img/unencapsulated-network.svg rename to src/img/rancher/unencapsulated-network.svg From f89c908e9449a42048aacf370c78ccf129e6305c Mon Sep 17 00:00:00 2001 From: Mark Bishop Date: Mon, 20 Aug 2018 17:29:10 -0700 Subject: [PATCH 06/18] adding images to help explain storage for hosted providers --- .../k8s-in-rancher/volumes-and-storage/_index.md | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/content/rancher/v2.x/en/k8s-in-rancher/volumes-and-storage/_index.md b/content/rancher/v2.x/en/k8s-in-rancher/volumes-and-storage/_index.md index 9e4a90d8fa1..2065b1e6606 100644 --- a/content/rancher/v2.x/en/k8s-in-rancher/volumes-and-storage/_index.md +++ b/content/rancher/v2.x/en/k8s-in-rancher/volumes-and-storage/_index.md @@ -11,12 +11,21 @@ There are two ways to create persistent storage in Kubernetes: Persistent Volume ## Persistent Volumes -_Persistent Volumes_ are pre-provisioned storage volumes that you can bind to pods later. For example, in Amazon EC2, you might want to create a number of Elastic Block Store (EBS) volumes before you start running your application. Each pre-provisioned EBS volume corresponds to a Kubernetes persistent volume. When the application starts, it creates Persistent Volume Claims (PVCs) that bind to persistent volumes. A PVC corresponds to a Docker volume. Each PVC binds to one PV that includes the minimum resources that the PVC requires. The following figure illustrates the relationship between pods, PVCs, PVs, and the underlying cloud storage. +_Persistent Volumes_ are pre-provisioned storage volumes that you can bind to pods later. Each pre-provisioned volume corresponds to a Kubernetes persistent volume. When you start your application, it creates Persistent Volume Claims (PVCs) that bind to persistent volumes. A PVC corresponds to a Docker volume. Each PVC binds to one PV that includes the minimum resources that the PVC requires. The following figure illustrates the relationship between pods, PVCs, PVs, and the underlying cloud storage. ![Persistent Volumes]({{< baseurl >}}/img/rancher/persistent-volume.png) Rancher allows you to create PVs at the cluster level and bind them to PVCs later. Volumes are managed on a per-project basis. +>**Note:** When adding storage to a cluster that's hosted by a cloud provider, you must use the cloud provider option available for both the cluster and the storage. +> +>For example, if you want to add storage to an Amazon EC2 cluster: +> +>- You must enable the [cloud provider]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/rke-clusters/options/cloud-providers/) option for the cluster. For more information, see [Editing Clusters]({{< baseurl >}}{{< baseurl >}}/rancher/v2.x/en/k8s-in-rancher/editing-clusters) +> ![Cloud Provider]({{< baseurl >}}/img/rancher/cloud-provider.png). +>- You must use the cloud provider's plug-in for cloud storage. The volume plugin for Amazon is EBS Disk. For more information, see [Adding a Persistent Volume](#adding-a-persistent-volume). +> ![Amazon EBS Disk Plugin]({{< baseurl >}}/img/rancher/add-persistent-volume.png) + ### Adding a Persistent Volume Your containers can store data on themselves, but if a container fails, that data is lost. To solve this issue, Kubernetes offers _persistent volumes_, which are external storage disks or file systems that your containers can access. If a container crashes, its replacement container can access the data in a persistent volume without any data loss. @@ -40,7 +49,10 @@ Persistent volumes can either be a disk or file system that you host on premise, 1. Select the **Volume Plugin** for the disk type or service that you're using. - >**Note:** If the cluster you are adding storage for is a cloud service that also offers cloud storage, you must enable the `cloud provider` option for the cluster, and you must use the service's plug-in to use cloud storage. For example, if you have a Amazon EC2 cluster and you want to use cloud storage for it: + >**Note:** When adding storage to a cluster that's hosted by a cloud provider: + > + >- You must enable the [cloud provider]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/rke-clusters/options/cloud-providers/) option for the cluster. + >- You must use the cloud provider's plug-in for cloud storage. For example, if you have a Amazon EC2 cluster and you want to use cloud storage for it: > > - You must enable the `cloud provider` option for the EC2 cluster. > - You must use the `Amazon EBS Disk` volume plugin. From 46d1bb4610262358cb94f4d09d9d6a9ef6cc4e78 Mon Sep 17 00:00:00 2001 From: Mark Bishop Date: Mon, 20 Aug 2018 22:18:05 -0700 Subject: [PATCH 07/18] finishing draft for cloud providers --- .../volumes-and-storage/_index.md | 124 +++++++++++------- 1 file changed, 73 insertions(+), 51 deletions(-) diff --git a/content/rancher/v2.x/en/k8s-in-rancher/volumes-and-storage/_index.md b/content/rancher/v2.x/en/k8s-in-rancher/volumes-and-storage/_index.md index 2065b1e6606..2f9e4ebeaa0 100644 --- a/content/rancher/v2.x/en/k8s-in-rancher/volumes-and-storage/_index.md +++ b/content/rancher/v2.x/en/k8s-in-rancher/volumes-and-storage/_index.md @@ -17,16 +17,63 @@ _Persistent Volumes_ are pre-provisioned storage volumes that you can bind to po Rancher allows you to create PVs at the cluster level and bind them to PVCs later. Volumes are managed on a per-project basis. ->**Note:** When adding storage to a cluster that's hosted by a cloud provider, you must use the cloud provider option available for both the cluster and the storage. -> ->For example, if you want to add storage to an Amazon EC2 cluster: -> ->- You must enable the [cloud provider]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/rke-clusters/options/cloud-providers/) option for the cluster. For more information, see [Editing Clusters]({{< baseurl >}}{{< baseurl >}}/rancher/v2.x/en/k8s-in-rancher/editing-clusters) -> ![Cloud Provider]({{< baseurl >}}/img/rancher/cloud-provider.png). ->- You must use the cloud provider's plug-in for cloud storage. The volume plugin for Amazon is EBS Disk. For more information, see [Adding a Persistent Volume](#adding-a-persistent-volume). -> ![Amazon EBS Disk Plugin]({{< baseurl >}}/img/rancher/add-persistent-volume.png) - -### Adding a Persistent Volume +## Storage Classes + +Storage Classes allow you to create PVCs dynamically without having to create PVs first. For example, an Amazon EBS Storage Class will dynamically create EBS volumes and bind them to PVCs. A Storage Class is similar to the notion of a _storage driver_. The following figure illustrates how a PVC creation triggers the dynamic provisioning of an underlying EBS volume. + +![Storage Classes]({{< baseurl >}}/img/rancher/storage-classes.png) + + +### Storage and Cloud Providers + +When you provision persistent storage for a cluster hosted in the cloud, you must host your storage with the same vendor that hosts the cluster. For example, if you're hosting you cluster on Amazon EC2, you must host your storage on Amazon EBS. To setup storage for your cloud-hosted cluster, you must complete two tasks: enabling the Cloud Provider option for your cluster, and adding a persistent volume using the correct plugin. + +![Cloud Provider]({{< baseurl >}}/img/rancher/cloud-provider.png) + +Before you set up persistent volumes for your cloud-hosted cluster, make sure that the **Cloud Provider** option for the cluster is enabled. [Cloud providers]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/rke-clusters/options/cloud-providers/) are modules that allow you to use the provider's features in Rancher (like provisioning persistent storage). + +You can turn on the **Cloud Provider** option in one of two contexts: + +- [When provisioning your cluster]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning) +- [When editing your cluster]({{< baseurl >}}/rancher/v2.x/en/k8s-in-rancher/editing-clusters) + +When you begin setting up a [persistent volume](#adding-persistent-volumes) or [storage class](#adding-storage-classes), you can choose the storage plugin or provisioner for your cloud provider. + +#### Storage Classes and Cloud Providers + +Additionally, storage classes feature a few extra settings for cloud providers. + +Each storage class contains the fields `provisioner`, `parameters`, and `reclaimPolicy`, which are used when a persistent volume that belongs to the class needs to be dynamically provisioned. + +The `provisioner` determines which volume plugin is used to provision the persistent volumes. + +{{% accordion id="provisioners" label="Supported 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 +{{% /accordion %}} +
    + +In addition to customizing each provisioner's options for the storage class, you can also define the volume `reclaimPolicy`. There are two options available: + +- Delete volumes and underlying device when released by workloads. +- Retain the volume for manual cleanup. + +Finally, you can define custom `MountOptions` for the persistent volume created. + +`parameters` are specific to each cloud storage provisioner. For full information about the storage classes provisioner parameters, refer to the official [Kubernetes documentation](https://kubernetes.io/docs/concepts/storage/storage-classes/#parameters). + +### Adding Persistent Volumes Your containers can store data on themselves, but if a container fails, that data is lost. To solve this issue, Kubernetes offers _persistent volumes_, which are external storage disks or file systems that your containers can access. If a container crashes, its replacement container can access the data in a persistent volume without any data loss. @@ -34,10 +81,13 @@ Persistent volumes can either be a disk or file system that you host on premise, >**Prerequisites:** > ->- Working with storage requires the `Manage Volumes` [role]({{< baseurl >}}/rancher/v2.x/en/admin-settings/rbac/cluster-project-roles/#project-role-reference). ->- You must have a storage medium provisioned. For more information, see [Provisioning Storage]({{< baseurl >}}/rancher/v2.x/en/k8s-in-rancher/volumes-and-storage/examples/). ->- Create a storage volume either on premise or in the cloud, using one of the vendor services listed in [Types of Persistent Volumes](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#types-of-persistent-volumes). ->- Gather metadata about your storage volume after you create it. You'll need to enter this information into Rancher. +>- Permissions: `Manage Volumes` [role]({{< baseurl >}}/rancher/v2.x/en/admin-settings/rbac/cluster-project-roles/#project-role-reference) +>- You must have [storage provisioned]({{< baseurl >}}/rancher/v2.x/en/k8s-in-rancher/volumes-and-storage/examples/). +>- If provisioning storage for a cluster hosted in the cloud: +> +> - The storage and cluster hosts must be the [same provider](#storage-and-cloud-providers). +> - The [cloud providers]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/rke-clusters/options/cloud-providers/) option must be enabled. + 1. From the **Global** view, open the cluster running the containers that you want to add persistent volume storage to. @@ -81,48 +131,20 @@ Persistent volumes can either be a disk or file system that you host on premise, **Result:** Your new persistent volume is created. -## Storage Classes - -Storage Classes allow you to create PVCs dynamically without having to create PVs first. For example, an Amazon EBS Storage Class will dynamically create EBS volumes and bind them to PVCs. A Storage Class is similar to the notion of a _storage driver_. The following figure illustrates how a PVC creation triggers the dynamic provisioning of an underlying EBS volume. - -![Storage Classes]({{< baseurl >}}/img/rancher/storage-classes.png) - -### Storage and Cloud Providers - -Each storage class contains the fields `provisioner`, `parameters`, and `reclaimPolicy`, which are used when a persistent volume that belongs to the class needs to be dynamically provisioned. - -The `provisioner` determines which volume plugin is used to provision the persistent volumes. - -{{% accordion id="provisioners" label="Supported 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 -{{% /accordion %}} -
    - -In addition to customizing each provisioner's options for the storage class, you can also define the volume `reclaimPolicy`. There are two options available: - -- Delete volumes and underlying device when released by workloads. -- Retain the volume for manual cleanup. - -Finally, you can define custom `MountOptions` for the persistent volume created. - -`parameters` are specific to each cloud storage provisioner. For full information about the storage classes provisioner parameters, refer to the official [Kubernetes documentation](https://kubernetes.io/docs/concepts/storage/storage-classes/#parameters). ### Adding Storage Classes _Storage Classes_ allow you to dynamically provision persistent volumes on demand. Think of storage classes as storage profiles that are created automatically upon a request (which is known as a _persistent volume claim_). +>**Prerequisites:** +> +>- Permissions: `Manage Volumes` [role]({{< baseurl >}}/rancher/v2.x/en/admin-settings/rbac/cluster-project-roles/#project-role-reference) +>- You must have [storage provisioned]({{< baseurl >}}/rancher/v2.x/en/k8s-in-rancher/volumes-and-storage/examples/). +>- If provisioning storage for a cluster hosted in the cloud: +> +> - The storage and cluster hosts must be the [same provider](#storage-and-cloud-providers). +> - The [cloud providers]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/rke-clusters/options/cloud-providers/) option must be enabled. + 1. From the **Global** view, open the cluster for which you want to dynamically provision persistent storage volumes. 1. From the main menu, select `Storage > Storage Classes`. Click `Add Class`. From 5c473523e4dfb127e65c757da01b0cc3f8e95c4c Mon Sep 17 00:00:00 2001 From: Mark Bishop Date: Tue, 21 Aug 2018 11:19:16 -0700 Subject: [PATCH 08/18] adding edits and images --- .../volumes-and-storage/_index.md | 5 +++-- src/img/rancher/add-persistent-volume.png | Bin 0 -> 26363 bytes src/img/rancher/cloud-provider.png | Bin 0 -> 117890 bytes 3 files changed, 3 insertions(+), 2 deletions(-) create mode 100644 src/img/rancher/add-persistent-volume.png create mode 100644 src/img/rancher/cloud-provider.png diff --git a/content/rancher/v2.x/en/k8s-in-rancher/volumes-and-storage/_index.md b/content/rancher/v2.x/en/k8s-in-rancher/volumes-and-storage/_index.md index 2f9e4ebeaa0..b79fb8e40a7 100644 --- a/content/rancher/v2.x/en/k8s-in-rancher/volumes-and-storage/_index.md +++ b/content/rancher/v2.x/en/k8s-in-rancher/volumes-and-storage/_index.md @@ -26,11 +26,12 @@ Storage Classes allow you to create PVCs dynamically without having to create PV ### Storage and Cloud Providers -When you provision persistent storage for a cluster hosted in the cloud, you must host your storage with the same vendor that hosts the cluster. For example, if you're hosting you cluster on Amazon EC2, you must host your storage on Amazon EBS. To setup storage for your cloud-hosted cluster, you must complete two tasks: enabling the Cloud Provider option for your cluster, and adding a persistent volume using the correct plugin. +When you provision persistent storage for a cluster hosted in the cloud, you must host your storage with the same provider that hosts the cluster. For example, if you're hosting your cluster on Amazon EC2, you must host your storage on Amazon EBS. To setup storage for your cloud-hosted cluster, you must complete two tasks: enabling the **Cloud Provider** option for your cluster, and adding storage using the same provider. +Enabling Cloud Provider Option/Choosing Storage Provider ![Cloud Provider]({{< baseurl >}}/img/rancher/cloud-provider.png) -Before you set up persistent volumes for your cloud-hosted cluster, make sure that the **Cloud Provider** option for the cluster is enabled. [Cloud providers]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/rke-clusters/options/cloud-providers/) are modules that allow you to use the provider's features in Rancher (like provisioning persistent storage). +Before you set up storage for your cloud-hosted cluster, make sure that the **Cloud Provider** option for the cluster is enabled. [Cloud providers]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/rke-clusters/options/cloud-providers/) are modules that allow you to use the provider's features in Rancher (like provisioning persistent storage). You can turn on the **Cloud Provider** option in one of two contexts: diff --git a/src/img/rancher/add-persistent-volume.png b/src/img/rancher/add-persistent-volume.png new file mode 100644 index 0000000000000000000000000000000000000000..9c47699b2925cec2e77dd1919ff2bc74f9aee575 GIT binary patch literal 26363 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 z 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
    ekl^;Wg3*RtDq z1C5|xiJBs5h_NG%&W$A6R(e(cfpQeL+@RN)j7V|!Lf5h*e71rHqZ(m@Z(8*is*-jO ziP9_9X6L5U^SBZ&{)VV7&JID8S-LYiIm}Izp{-S1@1S9)me6{s(yUe~XTv(I#UQ)@ z3L)TpDKYXVBV8%uC;?~7ldgzeZ7)~jt7hn;E5m^$$X3`sTL-r{h5W~7wQ)~+L5nXV z8stWLWey+Z!tO-3QVN14q)Ok|M&Awg)9mOjhpR`Hl(6jkCoO%8t9FG7%e%KQ59HB9 z01Q1LsE6EI)93Rz3tXbdsvXo#x8%Y&rzeUFd(!GKf0+;DSiwVIkdyt8RWn1}+54#$a(U#g7b7Al?Q7zcBKmskcOj}DKyVgE`VNELp zl+7RWYPpJfSu@3dg}ls8y&NlR!hb>vm)aVZs5X(dG8xB`RzuCZ_{a_m?OH}2|0 zElJL>L4G+k>u8{aRD^U95`Q@p1FMI&gW--L4V>RB1sQm(d#$b4+ z%B8$tk`qB8t5Eg!^(+xb>s4nPs9n)J6McQ?F}f%)EH{{==B&XTbLomwdy$c)r|3ax z=Xs_{y5>13dLlkV&^V_!ezL5Ur&Vw}F6{Pg$B5^B1~*C%Sz0ftk5%HJ^N2;Yu*g9p zQDMnCQ^9Sy?bRyUEUq3A!W2bz@k58XTOtkv$11*k4~>ryo#{{SWk5NaLrTv%TU%!5 ztK4l!sqTX?N;aef=mZ$d$EV*+WdX)-4Pu(e~@$rB1mPr^Vd{Qt=48A zV(W6K=9&ILBfjbRYd~jjMoK(iKzfN)NNh z-8oJfg><7{H9QCMvm(5kv#B1Nluh_&QRWFIu*=mBQbnp;hqnTt9-xgp2bNZ^@6}K5 zkH!ks!X>ClsIX4V&aXk{A+d>b6SJa_!)$mpog1hZ5j~&3lHFUszTifQ%&j<2T>QBV z#f>!@iFE-te&LQXg)Ybs;HA5q?O+6T4d z{rshB@u{K>Ci=>6u&<@m>flHA`kU13K5W!=&c-EuUzjHv*K%B_HZ)C|EmmvL*L_q* ztkUtSsXDLB^WW$}1k5DkSv6|Tup}RvQ5JW9X5jtao!15dof+_5;|xB(a=f~w1`#9S?@)Aqd`4(R;#2-K1C8?Mle(QNg3H; zaZbKaJ8D?dYVS}xdn7OPPUv7yxtib?EgO?khgSrkLM&EG2C7rEQq}atIbN8DIo-_D zU{Q!UyBfS@dd23gkuo?h9Y7dlVc$2Y3s?$pwX?b~4G>(y>t~B{&67h6O@M8)(n#sE zvvJcY#y=?4QC1Y$#%t6{n_u_Uo3-3DAsTaz7lFdVYCmx>z&Q+V92}r6D_lgG3h-iv zFxGZGT-CI7YuJ6Dg>W(!S(odC^MVyXTqul*eh(B5w`VISvqM~$PW=(pr(+uhSc=`u zl6>3s)5+mINCPPIBmFeiT@6nhx8x^{fS0C+pVqL;YIeEix6?8A`v$kd>2B%6G`XMp zG(He~@`v|l!Zo#Tw7KE0%8w?;0X+t0TIwC0g*ErhArhcvFX{?|K4rt$>ZXfW>H_1~ z;x)8Abmgm=g!x|O=^bm2=^uRlTSH3pvIJMPixT~jmG*O&Aijbofkb+TG@)Y112PpD zZD32`&WbD`-yiL?qmy74Pd67@w}$K?P;ZC0EiVN^Sy_i(3Jf)LL4GA07?#EH9?Nhy zFS4;gDgrYgjJxHkeLWg=G(JgnhNaeKEa*6yi08yO7IC=?00tcLpo*Nh9%I=0q-JvX z*yILt;cj!X-_pDD9-1tPhQ%I+?#=GB8m%eX7u(5W86b$FCu5p0B7Ug8 zC=0=nOf_f7$6qHin2?8IkyCC8QfuI39uH*>wjOr=UHeTBZ-9>Pbb2G}mAKY-PW*$g znR)R>I==&vuWPUG%738R5>?-iSL8oN7tv)0H;g(z_x;fYFxRI_4XUufx2kh7zAad@|=A#kG|NT<`soY~cBiJzB%= z3XP-srk3LG+|I1smM7d1b^S68I0Zp1gvm4ABi1{te~xOX!v!LD-j;f_pAH*F+OcD+ zs>WZNi$Z?=^o1-tgGMzVB7x{WDFq=PDmA-KcCIf#)w=^l2-E#aDa>5N1CA(ht z2-3r1VOvP>Mk8OsQ1<_ha|)jMgR`qrp$ckrgu4)vyWdv9{RZYd?i8p=&Kl9#~I` z;fdj2Xde)UyxASB^Pdac3>h>cVIY-nkLL^nkyZ{6@h5OA*!dzax3Fu>^!0Ws_|{uJqwHh)PNg}pt8I)9lmA2QWQ_aO60JMw!WyBJ@K(Q;j%YP#D8 z2zU@RW;t;`HxG(V%UL$_bqBMW^*g2>zPtC zTQJJjM?&qNoP0J%(VU#7=!VZ9uxMAHj_{WA=-O{2;_u2x56Dbz27`axA_<7@wyst& zsmnhfsXrz_f&$$kdMgzOqe454)tQc1oS?ONt=+X5fK_dp6%pL>G@nE zd4hzUrW~NKos>iJ(0lpgwHf>>?7bMtCq|J$WMAXcM5{2T49VA%2>6*P24VU&)RY0kSNsZLZnSd+3|qPVKAyJuSM21`gwGxTN{uW`KqMMAXKsSdyK- z?)BrTRnmab&N~z?{Uh*|ctg2;1g1+npxZXCr-kgW` zfliT9id85SC{SpjSfD_G;!uhdFYc7$4#h243&q{t-QA&Rp|}%*2iG7Wgd~^FoH=vO zna=O;``qXLv!4)l_NQy@^{w^3YsJ?|g+K5b6C@_ge;cDiWcJh-NLj`=qxfwpJx$ad+|ccquk{-GYR zhkSjSy4#OJj{{Vz)R&5)nZf;M4C1;tPBqyBiVJ*0D0fBURn(Q*fM3hg!d+~)j=}eC z7}?L>l=099mu67^8QUvd#Ml+6p1|i)k=67gci0^2ZRb`IUv~x{cY+Vj+YJb^E;E*z zE(L&?AC;!R#|zc&z@NJFMAwWs@-jx41B|{L!PVt~oh-ZKUCxENC|X zqJdhcO%i(GC5FiH4sZ2T(Zg!#O_oK~?+ZTg&kgBXd(rHS_lWY`;!8P@B9|*mm`@vl zJ|*bgUfN>kK}pIkt0an?E1)MZq1zoZqaU1H=i3w+U`EBQc4~e{Gra_1cD9zdz$a0- z@gODweyw_Sz3VIOY~!xtx^a(zZY|4B%o&~{t<%Vk-Bexj%*My$A9~i?UfQ0xyRnxF zd^0E8t>4aX;7gdH;3|DciE0+wQB}YtrnEA?N7{gRI0#T*tf!$jNl6duA`Sb}RhZVs z-I;m6t%i4<{woBJ zbiTgTruzf_0hm%$Xm>#68@pnBCDk+1VPy5o2xpiysS(w}$w{!lBdm&<$EUS8o5M)l z3{QekuQkGkekM~VAAm#4eWG)DA~C>0Uj?`33}+!&p5@)b*V0PVVMM{q&m+ezT=UOZ zYT_R!lv-1aM9>8pj!?b(UK9}rm-jOYZEU7L6o!qZBXbdzBHG7dX&T!!j$UroyhCjI z4d>Q!j+6peO(E(}-#4??s97EpO4t>)s^^*GnMWnkv&|zOoW!rUg7|uLJdrcimjO%R zeH7vAi5mxF*6B{Sen)uPO=INoN;C_*sP-#370yOvL5&U%P#VxZg~WE5BhvN&cdg=L zpje~)-iTS1;Ul#lY5tFjOFt2;ux$-IAW7&#U7Cu3F2X7eCrx(rfi;jT2|@Aw*M)oj zPOSIfgJ6|CZq>N+AM;P9PMgvzl$kr>HCwrR4~eEO zPU^9-tte;!TMnN_axyKPlJsjXJwblr63=zxb4%!VialoEIz6f=8q4~PS92>@hpJFd zxtZZ*Y$XQcD17m>I&FHD8MOMT(uys2(PVcD&LpvvmY>Cc` z?fdW7+-%wzNw=opl~b0+ZGBa7^WtDvy>e>S?=i!5kW`R(;)3XDv~xJ{oek>%JGdWp zt*g(n%wo(9ko0i1fL^#_Q{@EmTE)xHSoA4i;wZ*Q+x z;u>En2Jp$0^(uMux3tTlR`Gf$i8|4tJENrO2?h}_aj|V)`9k~Fi&fqmi1d7qa9bb!nHIiWPnE9Zz6kjU*X+_vr+}fFR>vhq#+fX54RkIEr zH@t!xyYrkAZuR|)hA_1FyldWtJD(oC&auJAaqea&s$=sonSBcJJuf*qjhY-7VSgsI zr229STJC3A$z*cF4pX7ML3uEbk9>H~py-Q{XTGTDTVkm8r~mebMTqN~WA7tufmJIK zXp@CMqF(|2Jq}9Tcnhm|*3yTBVAyOXpXP9Tu5}`=(YJN0bUu&o&JL4qX??l&&R{>r zpJ5tB_gnRuY;BJc{(*GY>2&|50_fhikvOH5WIPT1ActY~o=5)%n*0q8^E*U^;ReT& zh5bj$f?py}eu9#cZ*Vi-^6Z6uU@ss72Au;^u&-wX#mu~LAi!E?hlJ{Tdq((Pv zLP~!7Q=2CZe^kjFd_LA{-_4O{_+LfLRbp?(`-twl=kM)iPT;*FFjL$a8o>A&!Mg!d zJ+nJA+RUh-E&s0)kv3R!yff1@dX%#&aa?_vhGC;p?Glt?ms| zV(WcjmvDF!+b6x-`DbK7bF?z>I!d3DitsL7z#d7G!+~%z;q#T4*PIec^lhJ`#ijXYj3{Cc$$+kIVmD~El<7h$iC;~lsILD}&=QeIAuh+mbt zuT!(wq`HfLX`8QfL`4$*2TbdK<}K3?i%Hc-2ml~Jz^Hv18c4P3t%6wFb!&%z{GFfY z$r(Phc&kFbEAy#s;&e3qvyaOW5>qu*U-fDUUAWF1W7^kDjp^8Ws=pMBdBweptwA3a-L}%84FGa( zt3qU)eeah9v zY@Oc}=v(WMr`!A{!O}(h@f$7e4oepr==!9Eme#)10+*D-hAhfC|)f9IV_1U@2J2rD( zSkvnt082MYj@942JaMW|iT0NFLlAn`RP(*T45z4ZQZ`m$9V@~Y|Dn~cov@k2eNZ>7 zyw{&L?!0;PrZ)aGJw3fpDKFT%qR^g8uC7>psL)uIyg@9TWSl{#XA;lpuJA24iRVAk zLXVH_kXz$7OtVT-w~Ha2kvHEa%pZT$&7XDcIpCswX2AN9#aDejzv;0sa~FHs*@N`s zF5>4#+f5K-n{JASTW=7q^Iyf$$$q&H>5Z&3gBaODZ=XCACCSG-;=1jy9%3a^^_Jr%mVG4j*j8KrGN+hD!utD!Rl-lI9Et{yV#$UfdMoYw{_NaG>|Zr$ zyvp@ilM~(tw-c~eg!RXMVN`@99?LV?eWY8uoOK1Yzb}$DPJV%K%K`&|jvQ;whm2nO zN1L?ET$;8YUWFdhw0eJoO|AeWzI(VC@QJ_p0_TDbjKgPT7aHBnz$g%8VcQHpsY^ z`k@J~_^pHP9GL;F5Pu->N|f!0IJdB(F6AhryMs(7OBy;k%Sj4yru*IzNK=1wPRs+0 zFNFtU(A`Z0Y6oX^Q+2WRTcH!BWt9)HWn0*_X5bQQ?0^zMec68Dm^1syEd6_&FR13R zIhaR3N0`d?Zmz47zFltHCc~$=pyE)WvbkNiG|RKI=TxJyV;Wc0nx}v3_cy7X7xpKI zjjaCKBv;N0yDGm8J#bdDhWnpDl%G4T5st+qPRjEa=kRUmRhF>BX6THh7xL;{Mr)Bn zn20O|*vSJm*YVgP)$!Y4_X_xKD*RSr^sSlU%1VIkeadqI;1x*r2i1LA8I#qP4#Cem z9>pIzm$TV3W7w*l%fzNmyK4oy^$zlo!~FI4`MrxVPnQ+v>IQoqe`t`0yr6P@A0Nf4 z#7ZT;Rv+d{i#E^f{7fL+|FPh@kjAs~gKKi0ZS0TdXJmZ1cOHjslSP>+9Xy#~3yM7l zbT>u-JC6ySZX7Yl!6A0qGG`*$BzBTpbw=9UgY~T_fr~9bX9^M{jV{W3!ux9Deq#H9 z^IN$zTy(O@;~4Lr3rBN5GI|G@DqXie0;y}yg6jci0g5k4g2<>A7^$rL3-T(53q$*F z8ka+W%p7esgOO4VsRFjg$ScG)iCL$wQ^q^*-TR3#+}L~cXT)?5)lf*FESPoaC*!cN zBi58Fd&!M#xksUA*Bo<|E|2vG-f@e^Z&c9uei4h?DJ5`GE?3fL-ZsV7=&SYTYG{38Js_0gEwGu~ zA2cun$^CHMd1s%vz;*kto-Vp{Lwh|gA7l_) z8Yf63Z+W;*6}c#VYP+-ct_O7;b>Yu^@bZHhQ6gKa?L*-!aD9a=C|pAeG;=v$u=UDKeEKms z*N$IsKh*myQd&BE{x-E6-;ap{wV84{jjGF6S3*k^PLS8y`iJHe<(u&>@W=7P{9*1n zFK8;05pNbMW|7f(soL?-cn(X}pO#T3#~oKKEo?dkgnsGKG*EjtdnM;;4EvVLt8EbdTN{wanU1T+uyKnf-w&E09CzCYywbmZ)3zrvkP!A(QP&KD{ZQq+ z_p#{%u8kn3fpxyY#$L?vX{OV5Qr%m;5s=?>^z$2brkaacK6ZV=elw1O%S#QYMIbBz z_;rNfE}L@zxPy3TB%*8X{tV#WAz;aK2!}16Ub#xc|^n=LoI*J^!Ai?i>Dy`H?KQ$j8kA z4Sq7TA?`>AJQG4!|KdUIis#1GgJWCsd1^q)v#NgUJJgpPK%tk4`Q3S0HDRY#Za5M{ zp%L-c-OpmqP-hLS9@-aMcNPJN#Y9DDM;?8AC`b??B=lr@9x515!ExB`9q;}Asv~s* zzB4qaeq}wMAb93Qwg^4?8cp$bJj9t+0psk;@?%r&A#-9on#eW^TRIGw9HEQ7fKybt zPR!^>q&IiwpqFiCTa3T!O84Z6mp89U30wPlIat-RyJk}D+0NbL(H2lbNvy2w??;th z?2XkopM}tDi|q%?Ux5&9PsI7U-Tah<{D8XmDcKVGf>bbPh5rOPIhy5dIyBt_k!5kS zq}shW3T)Nyh=oMgLHrQnAC!8!&2+k}QLVD2`mgZN>6YL7g^Afh-KdC`=Qo)w0@py_ z82^1(yJ0oxWh&idj+{6b2RE}SXooQVv>ep^1yqaczEO?6(P}G@DS^4f8+7jBz5G7m z$IZOe$U+0?gXKS+T@Va<%lkufBDzhQi7@@UScpFb-5p*+%$vyL(BMxNep0=9<;3(L zVAA^J!Hc0HXjll9#ZAl+?}l-T6!aHtQS!laxA2eMDQxm}1XpV}Gmw21AsrW=Cip&g zGHEY8DvbcMiXFN>h66t*B@?z2BtG&z4qN^DMCgt#UjS`oc}Seb1fNZU)eXJ% zwwC{Cys<#aMNf|pbE5kiQPNt343wc_dCtCmrM2#{ZyS{aKTG!s%frw?ZD{l8gfyr* zRDBQV%J_kN^N3U0r#*^3bv9et(Yk$@8Q9j%)rRosG2z~n|yY&uSS+@H2 zmT^|AKpPS2p(O07_%>jf_AzTlEH}LK!e0V+OdA&XP^|xvrVxA$#dG_^NC(Ns(GVA! zTrKkUXp$>~ht$!6%sh9cPi${$d&&&K69TmTPnq^gE>XHHVas;4it~d6;X-Ku9<3=; zICt#Wl7z((O)_};istd0CQ>GPb;?H8gOku}`RiMcmSRh9D|{ir`+hu< z%R#3dz3XTp_>-24^qFWC^GPB!+ZyiTyfh>#5FBFqQGN2ovEql@B*3P7TUx?j1`NJ* zeLBqwyOhS*Hl#kx%wxM6^4wK#Me32K!(n#{O~t0{N3HlmheOmqZl=~vK=rhyhxjtc zkXY`48iUqD&xuk zD}wynPCneo3pB5}?R?pb(CDe1tw?D5c^K)IN40A{KnYi{z zHr94sz}MU6eY$k_-`9M6E@CD8_}&aRegK9{Nl$=YIA9$RqL$Ec(Pf8tQo24f(>gPH z;jIeCpNL)p7V60eS!ei<3MD*vCj#Q0vIuof%WH*m^pd;P564CgkzKyQ-Z~2J@%xHc z(H652$hGd?I+6gfK^z5)daPIuYYBuaPC6+h>Z_DY0kq}}xC9en7B%G;b%G)wLR@6Qp`p9#s+3Z@Gvf)_!Dqm}F z^3%R)0du{qtX6jV>f>Ab=U<|_6uaLmq?ifI)lZIsf@113Aqk5j3mN&|h}}z&`0cv+ ztKjx1R{Mz!%iN1_p@D~#X$x8DU|2zI08^Xytf-kf#QR>#$Jp|OwJ4@lRFaEka|mN^ z2VIbrh1hsm$HI|*5O6{3$IF(hhHO&*4o15;jDq9tz)$OrbKYZv3({5fJo5Y6A-wjO z?A990f*m1&Cp&?{D?K%<3-%nRZ^=0C zEl)b%vx?_VNIm3B5!8;QlYgFLM|m16+A$zo9Z!|_HCZlmUG5i-8t*@I0i>mz%t7ui z>@8Ui(PqebzHeUL2~=P5BqhL~fAHD+;gPIPNG;E%K`Gt#joPum5t_rrcdH2m%XQaW zu1>Ee)~TlxKNckOf^0fEThJ~gUk1nLiV4e*jU4p%Nb2{n;?jquU9+lG*tY<$@u_90 z!Y(_!z7`QNN1SS$j!M=#6}CzQet%;+S;b<(_5A%gHQtFARi6FsI;s8HSEy3cl_ zWVD64C(&AdSFo^Nej@2K$BW2#;5S$byVHqEZ2|%7_c5i9sNbVfURXaSZmOx13WeeK zo=(yp8zyKhTACBv0>%!H^d$%56lD>5H!9=V_k2^hfq$sql|c&QhyGJukEeW~eo;Dx=%>gD1h}A}n!D3wpgT3hkno}O zi6}M%N49JKouEurC74#pryI)tskXLqw%POKKWNq3BfW**dn1p_f%F4IVhJe9`;)@m zS%D^Vk}i14Bp_DYCO*#Q$S=!usx4}AXCZf*R-|-m3HxX!@)Qhgpcv{oB$>98mn7!! zhtKiKdeT#U!vO;h7a!_fUC4HX><%1-W4}#p1NP#q=aPBv3Fb{lTMsxaj@IwUO9ls| z)7iz|^DmrZx|6{I7^btKdcM<+GAFtn@u?MFWeO(c*pdf))#n$vvuQ0d6(g)Al~bI@TE@l3o%-NLcniOtgravGN$XS2y6R+o2>qJasKKr)1yh3F@-7=Ibgz}3RE)o2dIZFOPE-XO_?XP35EFxOt0IvAaM zKVXg~%z;%t9U30_aJ}5>lKZHoxMcsf8}B}k@Na^8J4ekjSTck&(mH~|%5+vNBnoZ= zB#yS!P|D;E^qnOyYi_D5n!C^|BI`MHjXUiM;Ucw?MudqBT-6R$#It4a`TU))+QEs} z*1b?FWWL2&1wo5?t1npn&GCp5ZnQSxP(yukczqcCAl{_0-cg19-qEsU7kq0;_cP5w z*`C>#ixQ8$B#lEV_nG6*yn<9>`YK)Ugv!f|w)1Mz)Nj|b@tNJrCNiDEQVP!`eJ@J* zS8Gt+Cl}4#i9Cf>9%3>~f5=W7w%={pzQQlvFP)}Hx1Yd5bv;r9ax3CodC;rR7N+T#{I%23VJGME(^`@21cc;6Hl-)~KCZ4Md6~D@(6i8VL z+rFiKJRG9m=}LBIpP$4)HQrzjk6nuQBL5F@`ZJ{)W{VkQ@@f z_)t(k4C~`fPWIB*Mn=g-Ui698VN&z4STa$;^b^7|-mr6HtA%fM0|W7|@>z0w`af*o zJdgrRNcXe*3p^hV6a7|>Z@9#@uN=P z%L~+`69Py$ykz-w{~~>?0br>9L@zdlzLA4mFvY{7thPJX$+ZVlx$;1&K7DrFI+2!5 zPLNJ?r;89A|Jo+#YC~23qWdN{1d~SolR6?9Qw#8DOn@xw;%GIIA(hMGXz#4XYdS8& z7ZVqG=E96AYcC;R>_S7M)$b8~?L!yeya5S%avpAg&fKu_S-|-oL%@Z4$Gfzfsc+_F zFgJ{w)3>i1J#plLp99f#_<^-YKAssILm%;U=q~igD6IaM2M)j;KvQDF8t2H;C)o>I2 z^cFPe&ZN6()S-HNMgR&X{525g`=}Uf$n`n5^l!_PP^?I}Uu`P2V7aTE-lw5Osu$pI zQ~fJ8=!`ag--u#9#A_5$q`|wlN}qjLXoFee?_t}EDaIB*=DvTw)JYwy*vD_~jkbOz zt&NoC;-jjkEqH#?*g-zQ?`ar9@b12q6~V{2CF|2V+QbnlgVz-UbsJKB+L%*N z2a+VU9ja;mU2u`Tc0SWREyUh5T0Iibhzi%%xR^;@@ytvlZ@M`_MQE9J*ph(?onS+EDl%y#oSv_n501S`cye%PvU&f7lS7(LUBMxVPuwTu^(m#p=3 zUA@yoIDWJ}@VN8TN8}xz%48i8x*Nrsp7lZxsi>J%qiXeF40n7Sn_oj{p~FORAW0T+ zwEu=D13@*dgcj5%3$v&C`Bf6y34?VveM11FN_U z>r95p^YZhH)c`3HIz5|%`*T%daw*(^+M9yIkIic&J~c?ywd~Na{U*d*)NoaAlPzf) zKFQgQC_+0`Y>?EnU3MwIsxOzrtJUm|koS;{SmKfrvxSbz+hc>4rWC9*s4J*3$J^%| zY$m_z?Y+8AUm~YAD>|SQo3dWp_PjNIJNTm3%U9Fe_nWW&`vScpvh|2bOr%61Y^rrD zKo+R(lmiV!U>eiz?N%7#Fr18x?+V)1qBF5;K{N3WbQcT10u~z7kO&B+cY^_2v4L@k zN~t}(Bj}}3=S>b*%ZNp0d^<;H6zjuxM*JtpBFw&Z}JHT!k$omZ=DIC%Ln?%DU(J6na%O z8TQs@-p2nx<7tHFl=;kZl@N0B5JGU&boSb}Y=$e@-uhVXaO*`mLQ0TQP`W|Tu0%pL zEi3EbW86!dd?tBUk!Oedl%*?Z@TbNl>!W4BkC(PzT90V=GAe-e<(;nJkL!0A@zryc z*ikHQa$itxXAQbjTcc=iQGag}tJU?7mvC)>DQa z{&oxNp2*J&!#PGCt;i9HSDDvGYcIq>1C@q>s5@z@i?Po98`8KitHP?FCf}JnQ02%8X>Xh+NnMDc|6gjj#j6H&gK3*n2THO z@w?@kyh>3dr3@A!VI4|AM@~vt;ks%+3brj){aM^V$D`lm_swfcT{M?$cu<9pAtp^m30e{m%@8G@;956>|uFf8FlB~eEEhX2%B@+fLVvKRKcPk znHem%WB6*xSbr3tL9ax)?->}$$J?TsVrI71ateSY zHf)=}=ZVFcRipwq)F=E+els z1N{Lc?v1)T!`rCe#fP$-K6s@Tl;$@J;lb!7m2&eA2Y@N7Ut6UYt2&O) zqX#)z_tHL%PnRM(xIf%_zH%JM{XVVpTQRju(zRo~_ghc)nVIH>Gswu$U9W)^ zDheIJEL!w?=P8c!`QZLmME9hOl2*(t2*z(x&6V}1Ay3yaAwvw6h z{Vk3N747SV_ONZVmVWNYKCjfg7xmE$mxx(SGRj!|EqE8z0YoySD>t%f`7dvd^(TxR-R@p z8}guTzu+3co$x;CC0(dC4&eY)HF`98xv)IG5r&8<67#MN20TAWaR|XkVExfxkH#2? z`mBy@)tTcJaCJ~Z%ZoH|1UEl`+wLo(JWZ-X0f%U0>y0=kJX7f&IHp zdri$vUGT;1UaACapBx>E8MQe;^;>+p(4R1p@XDOo1#(dft)G^)?7ro)PPjVSSy@HKGT9-{nQZ-o{?=KdQ zZVpdCrxvA@XY>$I6&)8juc?XSR&FI-YK=ntSxS9M@c0Y)qw7;XK}5%>wSaS4D0rd$ z+ykKB`c`|`X&d=E@^ocMVvVX;l;WTfjR1g9_e@^1nl7J{N&>UTc7QKz zw>NI5YwcR%FTI+Fk@xYo*H|C+QVFHLoO!+L_Uy7}8KtoH-AABeD*fpp-lK^HVm=3< zxdHaeH1m-7^7fZJ19teVnoMj_Nlm@bb`TFvsSCE)T9a-c^Q@mB*1b#XJ4QBId731N zRH>0J67K0s2=YRZlU(h79`$sIZceIlJ0I!xDu2Ai@tnum$Xw^@ER!m0bMf^xKkAeaVu3 zL!mal!Z7(ms1H?ma&A||VooIfM?G`~uq{lTza!8klKQ8G7=-tBHyX_{Mz?zPe*KA@ zZspU_q-6VqJ>esra`2%+t{26udQot3V_? zVcyBM*1397c^Xsm!ftvZ0*?MhK(fyBr_Jai!bohl>SqNaEV2Z#*y(}&HjSNz7NYVq z&Tx7Il8SWmWiN7>tqT;Y4iSywR+{y52MUm5Ccm%Bcb?keW6gM@{dZ^Yl3oc(lP+7< zwCfUHLPL$$qyNMHJ^sy`dVsBx-6@28rs_+|+#m1m%dk67Yy?R1Cr>fNTk$K6S~dW%=RxQz%a(fRJ35Rb49f(QJ(V#}p!{?x1gHpBnA>nX;W=bbaO-7Z z_lRGt%kL|6O!4Tc2%4hJ-jU*OKmXT+tuz1>>oL!8CTcIku%*A-@vzHSl8&fGqlaw~ z$$aKtD}1dm^DTR#V_@3mMI;!bdo;e>@-wN&57T) z0I};O^Qc)m$MSje5lcK(;;&O(o_`qg@`blcAZ^_7Ai~|no<|&c*w^Rt4~;SSD&5a? zDYDFeZaOp^=F;UFGDJGJ_;ZN%#vw6>^bll1Ef<0u>;+q%9)8n4$|}@D{DNQUmCM>o zHt}$on8}L^gX9*0vA%etF!IaBH=J9~N6GUH9wtCWrbea5bA4Sb7NE5l>$p?{R|ZJ| z1gW{Po|6b=68W*uUr?6D*6$_?y=9dqij9+BR(i;LOAJd7ra7fWWzQ=tCOMQJOnbdD z{eo`pZIW1knv-9wapYO+3q^TCUjeZEzdL~KwkP!8b!@ZNGvtN6|}+d zo>yhybdS?-VT{8;m}#gO~ytaslN5%*J2PGEAl0}*>2m3 z)H|k(fTYo>X2T!ki;1(LXTz*so(lVffB>Y92AlbYKX!kC>M}OunfG-wPg!;T*88?^ z7uu4%Q$Jq8T&Aqwdxb}gbm-RtC)uT_8SzYZMy*d}*VleTVTH99G%Pjkk%b*R^}7E4 zgt4h1Al(u`B{kmqVv~{Gqo%!SRe-CA#kf?rcuPn#>%JID@v^R3DK7EM7u9;?&S-kA zsfF55X#<^doI7#B@-3D;M(1TLJSOi5g4xu}sXK~S74Rp@6B)_ph15a<&nFUdIbV66 zz3x>TQCS#7@5IPm#9<PZ;Aa4rFI{K*K`Xx(A1lsH0u%zp}I{{w7or?%;WCYtb375j+0+gzyefrP&3_K zOO(p>Vs4_70j=e zOEQ?(N%uk#sa9IKJ>m&Wr-ZQk17nLVY?IpxR`@PqV?HF#73w3i$ALIIabLtyq(u9NP;_Y|3L)?{5;;HPd2T@wWuyXG=i}=*DVhxSDd3rA|u8M#gnwE^8841 zZ%+G~>iug;Uu?+q+Y5L}eo)S4WvS`NJ_O%)N z&WcplubL|qYl8WmKo7l@KLx5!6&Tk`{Ln9H(e)8B4%=+HpjF$>socbn&}7@)1prD;b#DmJj&$y+eKcs{9pwzP#j$M{ zryOzewE(SY7x{aS0!g;WNp$PWmM`JE=3cP+$+a_^kV&VLjKDo#>@=>6iDu`<$B+@^ zyWe~15joyg)lt?*aK5pqyq_iMjkI>IHUY0(?bz;ZN?PfZIZ&sZU7u#WLdg}4S_`W3 zR0@eKAlNis^64pbaL#yKu9923TBK@mrDd|ZD2!c|D=?XW_w?+96g+J3O*4ut-H8%7 zkh+ZfrrpjBg?-&ft{04QVxT6}B{g)rxSv>^S1yO;HMRF_2sb_2bkIGsu}3X=tUlyW zzf!NJbsf7u_Wa!HC>reHq^QG%p4P6zYvNxz2s%4d>I+WNvjeVho;nB>$jMu0!-o|n zAPu22KU7I~t~Q05=Gv2&N*UM7)pd{7r!`!JIo_V41hlAa2b93gEk-gt+nak8vu?f! zvf1V|^xE~?Uz$w5N;DrFvSonU4bvHxLURvEGdqs5rP6fT{C4|eVHf^2JGx{EDNECg zo;AG&rY$Rt!%vn{%4?}7V$;dW!qsT@KUQIr4^H&)G!#lK19`jPAEM~h&r~^O5^79j z^4FU6XaLE1wMdddq-*w+*JrAhoTPLQhpQ}-(wm8L;-fY0y5<=XIxPQFU+Jjx(aA`yd99Of1>a{l zYzcJ`OBukFtQY@nztb*4m9WX*5cJ(MZp&CoBbT6NrsuDZf=%4?QwLN`q(lTQ`%U-_ zm+>_cN^>FaP_w~CW$zjk>+-tcCfe~69q`UWH(`h^TlJw^bCvl;*V^etYi7}5D}(lF zU&q!t+umN@MWiJ8#I(tfsmZ`z*NB|7-u=e*^JnuDTh~f53(cRDpH9nnv5TkM6?>WF zuBPcGXYfjEB}DT8BGT||%x&({t_(DHX zAz^eY4PPg_vL1TT>9JLlv~xd*T*&^-(>s(b>&l*!uJC=DpjpR*!c@dVmQ|p7?d;4L zrUC5P^zMT11i&!1mQIx2R_M?Rb1gdtAFR}%O~gVuY9|P)PT~NFP%U~otv%8gykz~6 zSlqkw9nKkByCK+iwzy9IYI;!1BH7+H^heTr>e7R-u8Ez`Oz=^-qYmnYV3xv59U4Tv zs7>4B^VG|DEf)QJ_+%3(V-*~xASy2E zRnr}q!qYV=9S5tQ&z=z}5pU&Lo+J>#PG6@yYIBDw<+Me#Y*d#H&!6 zOPZV1Dk|^*8;5)yY1T&e3zVFv^%v_^l^d+T^Acrlcu}Zoc0Kbc!P}D5YK9>aZ|RE< zk^F`;;;9bj6-pdtp}C zQfu2GTgL?UG*fElpcAu~%88Z`eqyHuczx#aV*+YmhDD>!1x$Yv;^~q>z30oPl}uwh z?CW_>c*V`6R>pd;(^d_Xnn4O8_U2(XF_#z_ir5x$37$%#C7rVQs7M%1w4kH=#Fc~E z(MzJRPbFK(c#$RsF5Uuv7OuOh;+#WzWc-}?ua#d8K#@slG1ckg z=W46lwY}iBVeIYMqq6c->iLzn#diKpZuP!6C#P?==I&sUKvmlzq~0*b=KJ@-P`#+& zVzL75W>aSSTmT70`=^z{ly_bg*dF~QLxsHYtn^}6tNQa1Os+YZbL+{F z#YC6lV!CVEAjz8{ek+*K{s|$aU}-THVYGvb^Gqs)aj>#}vC$-=S$uT9@wT(2s*%s@ zx#foFQk#Hz?ZK30$}6U&_WR@O7r4?(k@@(hbaG77i0(YGwq2~`s-a>eP9IsuS?<&^(caScO$7m zR|#q6BK?`fGp1~q#I)?5tI<75$})*C@<-bfK)jiBBleH#FBaqL*fm*``oGG{b*HI? z*q|d#!YVrZc06JWNib$+y^VE8})WIY#Rp)tRt$~wYz%{di_e<|K=dvM?CTl&}3pK-oI zH7;(sPJ(zC{qDteHAH_c^K+QrZO|MrN$+c(G!{2HqnMdr5x7;@0mScT>w7hT=)}+j! zK7vFNQ8DkjfSuJ#k^rAt>R|e@ld2_Sm53a2Qe^0r@YwR6x;#aExyj(SPJeP29%vY2 zb*qA926eG|`e>1X+h)s7?-2QILX9-~8#ilMS0C?4AMZAw?Yx0^Qa<>V&0BOT>N8MH zOzYe^hgs7Dasc$=87b}CO0Tzd!}ngzrlk(wATc5OwM!zr-Y4XfDacuBcK+g&P*r$o zI9KQs=tmsR*&NP%^<~STcBGK^CHQ;{drS8kIM#H(x%dl+pIbX%IDVwo62Y`!q$h61`b9(!JbX{joG9M@h5nv zs`basJJlX)cFyNPtElEoX=QO*)3=bTCX1#w0Ce_{#E*-H>cE6Jn79O}K_u8EtX19d z-k}3T=%J8!i)}11L+9To;S%sK7hp&|pt9<)Zr0hux@xvBGQs00yyet}?(L1=`}OUg zuIM(30^t>)h;npIT^GH%?2~$w@cr*iA)9a>PdOr=7!zAJfUW+Z+r?R-_Yr7`G@zecUi&!mSdh#QVvG0zb z9M!^+Pfdx6E74u>9?N&riDrCQN06IUT+U&xQsfaXO;`6ah7jBgR|9_C9C)J(oxMQnq)lKbnf`iQV&hrjb#!roHgg%GP2s}v=Iv*(UPKO8N!bp#r`y!{VKVWsfSlbGMy zQh1O2PO-Kl1_fEB!=PnBN?sn@HzBECY0ub9k){W&+zEe0TK~uCFOvD=?v1jlX-N0| zr(xcS&ArjA(NkLszii@Xv&L#SIx(s39RJBbEUQT7bL<-ho+~u_k3C_ixlz4C`(>sp z|JV#2qhi)`HoeO_*mesWkJ*p{f1SF}w7|)8t|I;6U{fah5!tc`UVR=NSEbcy?{hLs z@4k{jv+;Kc8EQ=*m=Q3uNf@YBc;m;(v?VirvFAXPVMEJ~f0H{;PLfSy?rK#FgZi6a z9)E5|^_uqgNQ~iul3<5j*+tVT+_Tt76yBCWZ(d%}?!Gi9AzW}U9?`BJKCptvU9AtQ zKb%5gX3<RLlV+phi1!E3N*uV(NGw$_iuY;0TB+3>cDC3jC1 zeqEJ`4CtW|uP$&Xj8AZ^L5`W!Y+)i#Yo;}7p)Y_a7tNHg8#aadG04~Sm3ycKwa-@E z-LX5U^3UVHjUmZ3<7I{%otl6}=WWwB=YTYeA8XC4D^oVp%|!`nQM)f*OwM|j(`9&< zQFG>6)G5p~ZPh6PNClQVbcYgb6_GO+LXUYG3^Nw09{TsQ9A`9I<#AtEDnH6D-V3dv zDDeyWoFSayvFfE+Pkm=>7P0=WxY9AF-m315M|;-HGETzcNt-xz8A>y3gkR>obg})6 zKw76=ivqZiBdu!aWKvQy^?Ih@j7{BQ+IPVMlxvcCg49Cn6fE2aOO+{mpeN!GUR8@TGd~O?Jut?3Hp0C5{p{kSNsMPz9P-iaNd65)h z-8}2@7bOSOmJq_PH_(Fr6{0^jjjtiAVsO5`>FyR-$)8hugJ6VI6nc)RIbYPK-tp+& zj=jxQ>t!9S2XqcrLs`*Wv=vET|3B=#cRbtw*FW6)RJHX%htX1WQoHtO(N;MR-{b??jks^7k+DfgGwNX;zid|#*2#54CdRU%dGfT%Vz7HZuXv)pc`Il5% zL$FEIvGh_*S*A27d!9b=p5)kMg0|#A%WG$_PAh#$AH}V>ai4%xrMJi^t;;NnFBu(G zljL6-f?@lQUBwJ;Zr!n-PmPll8sKvKIV=@<)%nn=I3vimQ8((A^$@!dW$m{7!J0&m zWrZQG6qlD9f9IYI^9ji%)&DXJU6fO z=DuG*XZ_Kh+Nd-;JNxFD^5L0EkAw?_W>}qo*Bcd34OYj1x+^2pcNdl{O8O@VS291a zUf=;VA&O-8=p-oPixP^3w{`R35HBAmS;Q=Dw~!IpQm!aN`m?;D4^;oQ*1?`kx8-bF zRrO8}TlLH7b_ZV#0RvM~qk?h01}5d{YGkw`>~A@S;j(Pa`o3T5t0I;{LtUJ@=nd&2 z?;G=)XnI|Vqhc7eN1pS3q%w!t2prYpz%h$_j`jpNtbDXL-5KFB-^gExSxNH@@lWsk zb@Ua`F8pWjd_%{ICZG3_Wn+P08^pQZmtAH4!}~R&sAhoBDbPT2^WOb3bxBFZ@j}r*OKUsgXp5XssZMHHr9IbS*ic@?gv=!( ztrg;5c;@}?Xo0-fA=Y*-b8sfwk1&{LuOu|~-2!Lp-R~!fMg7Q=)QyX)4s1EynlWTH z>XqTFu_7hnhPx%f4LpL&t>$^8IQCr*QuDTV&6_XR8dynNPv36H6;6Zc7YEA( z5E8jpg;GN-)`#Pq2T-OZj*E)sby!P2aRb-qmJURgHBf>$`Az`)R*P=Wkwhyfh$4Kq z*H0;dpPVJTG*5$Ro!|#Iwzdx?AadjFH`Lzu_-I>}k4H+I3LnK8ptzpAt-=G730B@I z{ApeVS`51{bJR5xKiXAU_+$oNQg}id!9&R%1>B6{WDE1M?7l%>ROl-?BBasbN15lyI#EidP zk@)2E@W6I(3S}DYKc@tmzaUx>QF9U4c(f6mAe3Z*b!X8sO=HisAh&3+OoL?`vn;ljX#lw;quk!<0M`^iKV28sCefH z9d0UP97`O_=_Ra3iT;G*CO@Mt)FYs4olO5`M8pM?NvS^CwF-dc+oui+dF zfsq=NMxx783VX4Lfc+68%i^OC2lKKU*i!iBV@ZeMXYu?dT8T3*Ql3GoZ6d6Kx zNaijNHS_+tRCoUbuT3o^uu=;N37ZPm|BVd)Um?Lg(cj=KmA;S@>lIy<)W@w1Jh=AY zL^9#O>jiPPJP9 z5_}=wc?&#L2|Y}80yfA3R%-|WsM=7k(eO(S)OJHks|qt_zLYr%UJH}LiE3E~w9X4T zE{2ZRCG_GG;md@5le23fr!erBAzLSN1TAuXB9jyHbRpNIdDvp+!Wm%yh-Lv_q zU7=%i;qPMIJpE>W!(N{5`v1V<$x?e?LJnYd8CgPGVSJ@xULGxJ{Dg>zs{QvE{$q$_ zaH2MOS9opX{q}V1SgrL&n!qd-!W7~xb=s0dmNeVGI`Ao{bJ|zeDEU(|AGqk zLl|X(p6d*r4Y+)9tg_~g{jeerpZ$oK=G8Iz!pR~NwJxE%RDjuN-d7(uQ=nNS%9%;3 z#q}hcJbh;8+&AiLum1yF{f%k4hl;7HcEu@d&f`C%{wFudKDSn?>Gux?FxB1;pdJ%8 zcJ)3;{Pw(=IeGE1zm2AK)K%i=46X-HqEL-Fk5T3s06W)`1;jzx*?o?Z9-)olp*}^( zC10=M2HvyF%^`f`wi>~qR%+|kGuX%CIweWYC>=5l^BJu+IJ4~8I<9n5{(bJk$B#ch zgnc2o!fupy%W|j5Zqn>*OCH!e^zEcz!S7+*e-GA+m6d|^h7+Jh5%Pt|(CS~Kv#?`T zK9eJjLdON6-28;UBte8n&`8%(p6zuBH$ou8*2=FQaV0VpQuAhxVSRXRn8yLN>cRjM z3m-DP*G+~U9tGqVD0xiSk2S=XAt}J9)p*GE?F8fVzX9?mu)1@BDpL|1LN?oNE~|Ta z3}jPYnOkAeS1f3tGTC1*CM<#g>+LNp45(7~32c{K64gdzLiMF%6pr4<;|o^*LT{oL zwIeQY?FOk9>mh?{V9!$VXS80oug(}&+|0in>xe)%`o&=DNq)(yGgf*;LwsYic<012EH-&1Ug+4VX(Hu+qXQvn5tHp3aedH3kr<$Elr32l;jBZ>>XIU-c(-r2s%ya9}30L-eRlv}^d43UQR zXsSd@RLQkstk4)+K6_iopNJL&|6*;XLMHoIc_JI+1&m{6GA7Nrr(R?%h@(~im#qHY z7y2&W>-oH48Ae{Ry?^LWoV&3laHfPi6Ev}$Eg74>o*%j4_6B;73K2P?y>;u>q=d^R zlm1j1nyHbA+-nKxKghq;+GE12a?cU8anI~s5DB{?M~Pv;cCXi4yLjIAvN2DeaecA! zve?Bbs2=8b&8}-?WW=}Cadnp@>0lT;C@z>9r~;3*jnbto*6;^CQf=kZ=haA-f{+`U z6E53fb@r2MAMpXizCn4FuAzs%9Z!qpf3(c3IW#Z4bCQdDWPhpXHRt(8Gk#XK@4i>2 z%_WYqF4+jg*$J?SFQL;fXVcLS(|G^A`W@*|16wE`9RFw^c*?UiE-bs>A`=srQ zwHasOE@zyZY<2PhItZJ6YzZE(_bqQEtO!Vgwi;=SEWB|aEWRUj?;gCoc`QYRBFj?& z!KmFG*1SIMpaT`B7LRS><3*LF64tQe`?romFav*?bd5o~ZCi-UoSgX`EpOzkRYL>u zZa0PqE8y#X#?CC*Xl!}_jpTnfA(sRZUsp8J1!l$TCB^f`#vE#9carbRB zete)S`T;A)ajurT|J$6C^VlmK{k_c8IP83yuf6l+uOqCxs*KF0u!XSh3j=HBc|4P6 zWXXzai0p3Ic{T47d_>mX`C+JVUGk3b)lEZQj7@nu-s7|%TN2aRMG)Y$|7z|3ZsSJFsomtPM=(*xuGL>X2nE0s3H+kv?9d1YTH#mz9;;0)50axufi@lk@}WH?~Icw z_|(?b;60rdxp|tMgdz;ujL|=Fp{*wm_H!L8R)Pn=Xw%78bW;qg8&!fIeVdOW@DbIC^u38ysGGElkmGDkm@mu8 zntJhGE{*V2?m$|-iQ|%~hFwpVe{*j?nz~AjP!-#z%otDP{xr2~m(h3nBpW_ObN2={ z+CI}?ccPh}qQ=@sf1i|eQ(K`lzk~5p=^D4(p3_$P2#Bvk7O06 z&*xvxQ}j}F_y_Zkk}nnM*s63rx^yUX-uT^aIf?=Rm-ZPkaY35dMhGK_a^rD>o?)it zZ8gJ5NKDZ#hk;N||A1nAii|RdgBT;+ zNK`Nn*eLgvC&acU5kI?F5N59>PUOW)=oUCi$(S2w72tC|_V9;e~G zeV1a6&DlffLilOb-TriuH=Rj(+}BQR!`}M}e_ckM@HI~rwGU^zBU0>QS_(Bzr96Ho zFro7o+`RNb*%q?Qaj4%?as3KIEf{G*%(-JXv^lCO(vWXZKeYdIPJ6wgHQPBk)oAGm zq?pZSVHVWk&9tr_lBlH_Xut&Ew$OMk)Sxpa&f)F(r-&iY@oIDv|(8hz!&Nzb@4mkHfm0(9UeUGxxg^yl5oH!}eo z25Ew#s&s*9j)@)uAdhd zL6~`)OTB%U0*D*O0rNA}?~C{iFS9vp<@y$rmcud}+Ku+#Dyqlx^KVGg2c=t0Lvu>n z-|`9=D$KRh>&|tmFD;Z)njAA(JYq1WJA=H~x?UJeM8!Y%Ny_w}68omdv=PZ)30dnp zzkTS}rU;a6fROiwe~hW+-iH+J!>3?upaE`@wOsFqO31-->Q7$@VmwTe^Z+yyJ2vJ| z(5q*JZ%mBJ^>#nD{O*|yKsii%fveuc=Lc3~`Lkr2O3LfW`|k~p5770=S$=Q*aJ`s0 zpWPy6U)HZvTpCz*Ew0dEC028%u-q5;ri{zT+c4EryH~sgIGba%ze1-7hV=ACM^6+; zs)6_B2@Hf{4|;R7IJRqJG@@=-!g~~8nzR6Vc9DZ4cZee$VuA892vnjx-}+ph;4tAR zV1U?HJ;j%LbSi@Fiet&2GR<+HpfNUB(bI+%;hl@DTyO%HMQ{zuOB zuE9o#mgAWy9m59FmLiekr77|9roFD=%v43%qIB zYxM2lo;Pgt7tjEdJVo(oEoiOU!*TNRi&sSmBOzdikZQni`X^*gs>Gt7jYx7K%Y#0n zV|PCdI~UWEu!htZ+8Fd1VCgR{4pb>j(t4Yye&JBc^uxgiT0^RRRr!5uvWTUi6yepVR$R-FarI$t;8PQ zfP2djXxj*vRJicCea7db$2n%zCJzwudp|9^kc_{Jcj|Uv19?)N`i>QZt%w>!mGPQX z&)NeWCSW4^ty8JCy?v^LA7K|OaPWM?qK#MFdwL7y$z<%NFnYP~4sa*?pi9>MPF1QC z!BiOH_mN$oAhvot{rrl;LQ9&4BsDtYj40cPbK+^uEh-XvaVIdxQ50c?da3103 zM!Q#p8P6>FI!-@c9UZD~$vhxzN>&EM@$_!fMbaG?t7^Sd*aaVW&71cv?)AvuD5?`T z2bUtjJP!**ugvTXRtF4ATx8ZZ$6J<*m?o{>01r)y{j7g@G*qaVe{GYLr7U8RUxeY1 zeES2?e42l~{&iGE;@ZGZS!q_qN99)lj>aDrC3osIQ|jNw&0JZTuU_^sL@J;HxX}fX zDQ7o8ZEU+<(^EzsUGrZA#@pgc!+0cyHT1~&1tT62%wwI#F#Wjo$G^hOe`(NCmODWT zp0m8{M+KfoI@THIC5-N>R4l|M)L0xau4gW?_pEy&yST2Gn(ii$JxI1a{_9*LObXRw zBuE>1J~QR|+n2W-3y<8d83x4_^d+w$LgkP1;Aug36u11~?HvCM(r%PKYQCp7X4Sqh zH34<}T`v}xu-(k?Un!OoSPiUqGXE4``y3J zQq1KiBoq32YI-ZjMQM69treCbtHesyH_bG@n(wa@i7H%s&!&e$fpnu3kmALfWU z9#_S9u3YcxB?pEutr@N?cJCkRP}V%5PT8h7WMLIe^AXsUGpEtq!|r7vk4QhsP|ChX z0KV9&C$W7N^im$~k!3C-!=2j*vw%bb(sO3NfLCbC?cO#YU6tSac@FBz{LIptvDh-G zY~%q=v3+THhq`d92AuzFy?yZJ2NWcSOFVP9wX?irh=R!fl#;l-Pw^UYCm!%sI@~A< zxM848ZEE$P&2m8$Xs!b-&Gxlal*2>^$T5d@xSX>39MmMACt_j54;vP@b}m0A<2)&sk*~~5*|}U+m3=?k z0yGWW*H{t)4RWk1kHS(21r)$lQo!+mNcFBKN%CS^wDW|?l~7*;k^>neCpKE%KdZzw zTQH?Pg zAJ1NY?}_t+HjUjjhn_E1BUI?m-8)mPVWgk+_^-ltb9*=W%c9C^d}&!DF(hc)+4sf3 zFvT)Q5h_FGJstcGgu>N*?5A#ziSrw!e!ECh8&|WhN9*Sip6_=z0`(C*aQr}+#0@DO zIhk3Rtr{657yE>&o%gZEhCp_-90NnIf@_hQQZH&J(Gs8H03wmtCxxVCHW^1FR~qKDdYrQ`Z=(xeN}E|e-x(Ih~y7t))SJDGuJMZI!EP#enDq-Z`1+gB2T*05qU!SMsxHKPFf9mH5E6 z5?zh;O}|G>e)Lye2j4U4B7Ba5|5?(xF7SJC!C2~mt9kkdXTD8j9%LM~v{6r?Mtmi9Y=v_Wj~kjpWKnf`!#j@nq74Uh4P?Ti zU)3|A@SgJs4aN_O@NF;SDrn^p^H||QiarLuUt9~MmLdly)=kK}CVVLpTUrdn_WKma z;d}DrpZB8t-IHnVeya>D3&n7~L9Z~S${6w8WMUdj(5|wk|K>FBLAbbNq{TaSggO7Z zj7g9YaAakk#yg@SwBOK}EsgDOwGu~~bDXR89UT$o)JhU6v3bA2a2Ac&t>2%wBVQZz zWmrjh;3=n#Sy_?${_>@wcFZkY?Vi|?MS^%>6Xe4l)=cAr$D|ACduLA&zIfL!!PxG= z#b)gnv8#0Csqb6&MInnuLVx!@r@OVwO6*j)`p6ucy5WJa?{bL!=5negdU9^(gDbMY zB}vAsEnySkxc^LMhW&UMetqaHY|RIar#^Syrm2(XH<_T4|y>wrl=NvWwJUp@@%B@SoedFR$% zZK_DTf!H4DEuI-|$5c881mi!5Z=+lf#~&mnH;!n?GNTJVti&Zm}}R23vzlV9eWa}k`;HGZ-y+A`B0Z$%XT zYfcvMP1GqYJ#OvkFx@d;v9)&AN?I(-eY zx>3$Mu7(r3ceTu4i7YRGOt@DFd)rPRWKLlNn9(~@i{;XFE+hy*BVgNymrFw|nwz5z zG)5+?x)tAb4NO=a{lFyHMz*?Cw^|`4CxUOxbN9(f22KrwUp$sAe${YrAaWNX{6-qS@(-RN zCzl5yd5%Bw7T4$bTbJOgi>B_|ho8#>w#5+HVyW28TK<6Obi#v&PU> ztazbaWait!oo5n5wZsSaJX9;mF3m@W^%(gB9_rPLfye)AE9if`=(@3l@QrM3o3N^=(OF4Nn3#{?W_^p=VGU!L>-D8OK5&Q& z8msAJjbfnqbv`@l1qT=_1~GKr46L|Ov)sA@iV+gC7^A!A2@5Rb0vRi1iT$%s<5om7 zohuYJ(e)~!ucJc;>Tu+Fl^I(ku)4zBI6m{es@>$}vAXgml-5>UY+iu-_jD=6szUfv zf}6$AWI>LDNzqW{b@UUcY-%63>`stvzCFI9k-h4TW3Rm=G%MP<@lliFTPs9Q0=I%A z_^bjkc4qR|+wKbF2+bxFHJn`hKuhfcyzALQzM7Ek+M?MT1y7up6QDwlBH|-QGE;0F zUA{9SK}IyPku9bfo656-U!5YOL(jei#;{boZ(LbXn2w|Bl;h}DBSS16qYJ@eUj#3z z`I!fi&4!Tl^7_h9jtSnQ`sWDf8;HbOa@;0^is$lrM)lAVkD@)Q$u&!I<+i(Az^9WseJi5q$4XpVl@ z_$S-jb6*4Q;;C?B>a_xDT%ZB*v(k6eX9aG}3$DPB`j9o>UaJa8t$}!phhA|m^?tEZ z3z?b?y8wB`muZQG3d5Bz96^oic}A*^YY$SNX!{X4aLIXqzaslsW&EBp>JQK&NU|H; z?1Xm-K`fQ0l%5fVrGbZvAvZ(b*PBo)1ig!09k47X{ao>pHgR>M744&7ns}ysm!qZ+ z_0^g2luNHj8fChkj$-zNzx-bfz?w7WN$ED${7z?mv9Te@$OwEdX=gU$M>q5CbGM4I zm)qw6*K3?}8y@4U%G9^CcoBqm&Bji{L-DJcre$giv;CWz{`U-GZkdnT9i z4A3EN6@sN$)w3@oZ={v^^8TI*rT*1L*w~8f3Q%UgSK4URvsR9Q!(QZvySQ%Z4gPpu z*J_16h(u{x6CLqFv)^p}R_iVI%iv}MCX4C%%8I4tWuo+?$bf~g&-MX`HW82|sWiRQ znq1bYH|yoP$VyOJFht0=4F34oRzVH#cctSO5sED88A>6I;SS>lOi+_IkHoMdA z=Zl3La>m?(YorfC!$<1`?fnV%<@{uAV^bE8xN=P<)I2)s8bpF2ZP0b5Hjijshd(M8~Xk(DB>*h}w zfx!96AiK!w%Ddy0HW~@ozXaro55;$XHDrts#y7(nxF+?pfvjs@}7t< zdiOq%q%^A^wDdK_^w=P(qfy5))ARWOsU4c$13}Ai!8e{*Z+Pmw9f9SpL!E z%<}*Pb+zgEDQ9kH)$Mmzr@)n7y<2~Tuc@BZR?TEj!3;u$5j1SrwPods>dQo z0-Wm@OCqFe0(K|qK_i~cJMPx|A1Dpx*g~=@&TMmiYa)dRrQ6@C4cm(fGg{r6?jba{ zq*B-6kB2FM>lcky5?l$crs$e%G;Q?dFq5R=iTe^YM7LsOii|ma6FE2}kU5B;kc=QW zTm=L9p(isA-;TBbp-cMlKcfcarF;4jeNLl}t`NNZgtXl%9fhPEbwTSf%hlkrDP~c5 zK8_4XJ(BoJ{y;N;X}r-CR~>ooReJ+`fM#z4V>@hMIly5(x)QueF$2}qVYm->xzVZ9 zfSr3Sil?wh1%+11gRz8J512dyCIgtyMPA|uPHPA3PdI``9259TeR`K^mmq7UsV;+` z*tjYJxIRNKZTZZuY7LgwgYp!$4y(wkWHx9k0f^kM7mE6h8c#&#buWDU78PNXU}MZp zD5;7(jf0|AzEf)Z>^vzg&1&9x911%&=F)4Nz~%xshX;+#t^!`}=B?{UG{>E=B)>L` zlKklCQ9Y((b;a+IPdLe1X37aJ9c#9#WWhhJ!0mS7N9y!Y zikOXh;qIt3r&(FI;*mMf^G6C&`@(e{P>E<>Odl>q+&pdjs$as+Php&SL`87Sveo0)q$8UGwGf0fAvWPPdQR z8ZalWy!pW3S958g7=M7`VpjB(frhm5(^ofNxl;J^P^Q(_U1=~5T2fPKtQswKR1mv; zhfy@_%ccP)UU9zCdxT%OY{!I`QBzlaCwvs!RoPT6=kw4i=UdWM@ZrxZyWXgbjT%2l zX6tMZ(4fbB8rElQto%cDFZWGDXKJkN4jA0q?+UBE zP;=ke3oL-fdB?5)Pw2;g|MK!^heB-AZ>ChnMxhEOVQ zXWxEisqeDj$RBYS?;d5I+w*xxzRn0(!wOt=^Ua;@?&^{VJlv|ewBzy-kvduchntda z%53^yX5r=*gCmHI-f&4Ni*5XkKV0Jf=aK%_3J$uG<$EmrEc4+VlQ0cN$Ab(^Nlmer znR?~2*JRqRxu)Z6_fMvO#%%v;{q^1s4r0mjb?NNvbiTdVcUv_j;-3|k|17jUiat{- zWD#B4aUw4B-J{KO7qd1wRUIDxi@-nNLRqTRW^BMuW!saP@>iu|H#cQ;>Hm4f{43>` zzkK5n?zXVliIB+~{SSWAX^%1e2M7Pf+ENS^ipu34bM3^ob};r5mCl1N!|(r{RL=Du ze2V<_4=wu_ujlr@Q0ZXZ^H~4QBj2I6$5qW z%Fo;qKUr>w+f+Kf*NbUSeq=5x`gZdYTk@YVBfo{W#7U)tn0+SnZyxy>^$7o8P?Z?@ zE={VYEExn>maJGnqPzZlnppwC!#CA1b~0grYmY&U72_-?i{SBTm43Rrhf$BX&+Qe0 zy@CBepZ~K&@qZn0Qx@yXGo&nqV=u0ggq2nP`%K~=692qCg!;9s!!(PpBT|9N%a4w>UNpRUFMljJtvDcje#nCJEeHJlMhHHoT_kfrz-x9VprXK z^p5OQqqr>CcP-ad>74?jOn8+oppz7`c45LJtc2Rn@ za!I9=W(CiJAC=QCac0ri!ug&*JNW=_^dn9wCDk9i5;$2&?Udi0BAL9(*FD)~z}cv- z3Bd&TH)H77IcW=J)+Ocq1_6V2^WRshvFFvRaHCo@}hi>mph z-*x#;mOh4xciO~;K~82ijperyhQzC%Ed3=5stY_&a5|aUsZ#1~$z-#iKt=Rs4ucIvLVNaru%k(ozlOOTkf+qzbcK7?3E+k*R{aUl$7MjC z17CFWj_>Ov#Ow9Lv~&TDcCS0HEgM@CE|8kv?@~}+$7eH6y6EkA+;?GL#SCs`vE^Cwb?70h&dg-tm?Kc+5^VgT~*!eeac$9IId1H6|EJ zmMG|KUQMN0Y?*E6lOILqc)4b936~pq-@kaBD_bKhe|05oI{32gZcL!OiB5Kp1*o8? z)cL_=WCa0^ zxFDt3g_iOq2tb>C!W^vvV_nj|<}%}kGX<227jxpVYaD0e2`r%X%9=Y<>He))(=0*01?SDv(%L`E{$Q__ntYQpjiL2`* zgm>M~!7OLvs;C)?_o-v1X7Fy@fp3X~PUDXS!|0u#t30Xvi(g(TN!)Evrf%1HWB)ix zQT6CF5M-GwBBN;ita4s$;PV!byrsXs)H7sDYw)A^b!6!VsYl4vz%bkSRR!GnX~e=) z=n5v{vb>Hdc<(J(#QBp-iE=sXyZ~-B!f3g~3 z${FlO7dxy?t$~fcj*aE#do-i?9qo0Mw&WsQoui}-q#ZIjq+Cl{taIk-&D;f_n+$M8 zMXbvib6vZXA9JZJ){r5p(wh59?diu!!0v3Qg|?}iLObUJ$L_x~K^2^qs~_`c%+dQ- zds`dORf-SZrggWk?dfqRYedmGUc z5mxg?hZgrZ`OEG-%)1bv`NyE47j)XyCd7fCv<=n@7&3P0Z=a+t6)sb^3i~NR zl?!t(OW3SklCQ35dSAr??^SUs?tZaMVzH7-zb8^2iNY?}mEKA#OWz&xSG=f@uUg^F;mOu;Z2?AZq4GmZY z%7be88RN%O+%Qt^p|-?S5mcx>KzbGCZDR_^fLwF2I@Hq5gW&1g-*n||PgDhgrG6Hy z;O)sV2kFe)5Oyh_w6e(>6Q+^Ym8v1$YP(%b;SDp?mz1K`<)B=?gzKtRBJe`;MuFg6fs9$&u;TMuZ$*G=pR9i`Zqw_)P*t zawmKRpJb*#G`}Lqh5HH`Ga|fEsvBL1r=wYZ74dL%DK*6w1mU>JT?_^6?mahek7*Y! z<63pOU&78}sxQZH`wZZQH7X`uwH_MyX_(=b+CQ~WgA*>2zby-0ue1UgZ%NPlf1@RTX!c7i&+bfqMi+fur}Y)3 z@<+??ojTSWe6i}M4f+5ATD|7ur>Tz@ik}aH`{qW4oJ3G zRhJY!X4zk`v3%*ae&OsQ$xpCJkzcvuL02im2%h2N)Wk-R^kH<{Au&!jj7WBNw=UGYvS;}kw z2ds?W&Lbs5`(f!SY;<|G+c_mwK=p7%2B2s)xh5-#7m7r>45D08#%ogF*i9HHp*<@8 zD~J9cS#Q5I4U50M!H0}$nPG36!S`R?UfHd0k3Adxo8t`H=EBe5C$~PE+sZ>3dL}B+ zV2rF9VWak$Un&4f#;6O8*BBgFh#SJ@&eA=~G@EEIk z*25&L+dtx&Uk!}S&{(=DND7-|{<>bWl%V3Qs9VD3Xto5ER}Q5M{Q)bl%>N$O_n5l_ zH_86#n2^CuUwzlhJfPKuxsKyy(5)I((RKGg%iw1?<&XHv9a@5O1Q&-8H%H}!5YM=Q zNGc{jayU!c=?h88CwO+^vsaJSXMJUZcncBmF#fAp@BOZ|FWOR((IN%`>jLy;>r#uy z=lS?&z9F>k1@H(6x`B>?7bZ%oT2{U|K{e-hb@gg#P||^^xxWND;S)CFkM3Fo6z5rr zsenpx;OO<@Q50knm>Bk}9amFjVd^$o!^8qX=>gi8N1HzRp?Y6-;ow>vOxF!hG$Te&cz8y1ummQx@(vjJdTgl}?lAqdZaKir z!y5sWw`Ay0g8q~Qq@}!*-u%>vV=n_~JCBeA810*TZa?6Ab18#0 z@&bG;GT`Ic!1r|kC!42v4=)MpTooIXswMpm!rhnDyTVHhLoW2j2$RsZ=KC{2J;`E9 zvWxe5s^@mAs^`8D2TR$UPT`|&o*u}c7A86O{o1Zrw*j$v_)`wgd!Lz`)d0Zi5nlOG z3feW7W`)fa974;UZ8l^x(D{yqx?%2%sxAk2Yto1DmbhUUop)Kn_20KXSzRsBFMS?j zIP}u9qkaH|NVhWk*a&@*+U=ZikbM)H$USPhI{2x`r7ZGDB~^7t3|F~ zD6g8|mwZ_JDN+J4w ziqn@w*L#!(p&N{R=L}Zref~z)-KjokU&sHQ0gt>XI-9tZvb68-Gj9pCo@tk?Yti@t z2Ko{8uO&hT;%*t(>QMxNR^=tGNF`5sx;;XuqyzTG-RO+caC_Bi{CZ;b@_N(m=L-ivY5F?YFsVq=q-wDT$VHM5qKevQ8RMG#nu8imr1_dBwxu2s7Ygks+8`x9T zeptO1VlgEjKE`mSAzH2!D`Fp7RH?$nBqz2$bNpn#y3N5=oVZ!@V%_D=8_n>Hpvq?l z-)L#xjfN=(1?Jcmep{_a3ZueUd6wei<4f2x3n+w_1$bnG0TY^8kv#A0U)z;CE(vv> z7kL&nMDl&Eui{zZy4T=&^g~-}XrG1zxch;(afv)n)Q2S2(6qz_vx!W+$$Dl zQH0LW^ogL_9}6YrhS-dUKx9WKH(+HQ%sPHM)_E|=P`)Z4659(a_H&v@8ayTuS~o7x z^MtL6)sH(H*+21#h<6^;9(9G)?M4^1EyR`ci5OwABvU{?Y5wCg%a@piPa^jY_T6z< z`O)@J#(Ix!s`gwUxpgbdC!&h72Md@c@Qqv*OF{b8nw)WS4Qsmb7>+5`&2@cjjDsW6 zZ+`sv$VO^-a-lradZ_2;)A|(C{T~}7es5=qgM1FAH=e2WXy?38b{8Npey0lzZ101t z^WS~DW<0T{?6_V~Cz(Kb-RXN;OiE9>EoAj8#_2#B%~&+nC8=)+-gC<~+?dQgCd7>l zx)Z-Ss;*9#-Y0q2Qw$q9VR&qnZSHmCl7AF^IciX`yei`M6N@k|p~htubJ@Fqj_ujEI<&AwgtI@E%BPR3G)KvexP@uF#+o5ZD%Qzv! z-O0ADM~W%XY2N@L8SXMBl1MCtg0ut$@(b88Q%4N7guZh%?BuC#Gw$I z=Swg6m30iu@@ysVl_}|{)6h1dCP>hv9BEX-(wffDy;*V=rl6%KBm^9XuCb1PqliU;W=qz1Vi(uNtX#3^FW3(YIw%}ExRKjXA9ldw-43wZT%C$Nh z0gjcFXmfTN*?`*u*Ww*|0BL0)izV)gHHh;l0Kb(V$|G-oa7A9sr?w_Y(g>iKSsXo# zvhNh}?dC`?12xEw7yK1VCMH}bty+oK3}*+92bmwe&JXQ-UbSQUYF-3d++?TNfKD_L z67p}i&3Vh~{|Q923$=g!II72Dy5QNSs9NBnJ~Rv10lWF_<&gj6NVO7^(eNsa zj27yg;$epPK{6Y(|k;rl;VBI9VJ z6FEh-G9i;?swMpUxtzh$xgEwmyTioyd*mmgDH)f+Ha^yqsy_ApR{PwZyxx98k!!Ei z*iB3dY-owlUmiG7zXXc>N-gTy_s43%_HPU3w1%D0_+_vx;s-o$x^P`2 zXaoKzAfmr?Rdt!I@4Azvw_(EMArrZ%!yLFnu2j(w&xv;iqln@A&i+t({yW}q#(SFgVWd0`k4)x+=i%nNK;HUv?~GJ$F! zI_;oyx)Dd4&w8Z2$*(eIVT~25u9ZATW{mKSdMJq{4=^*3# z?lYk@Sq=IRtJYzwa1(q{nU1pKw-5=2kpkoJaE2hw+bW)(g^p#;BF@!p)jc=~r=@U_ z{c*iB8rL#ihxo@1f+}fjv~EDZw3&g2!tZNMnpiVA_CHpUZg{il7IzJ zI)n}hD7_?tr=xM-yr>$uT; zt}zZ9cS()uN15uIa-93z#tGQ=v5K{-lflmhU6sd!Dp4CnH)XXJ66eg-ear6eCP zd;$9y1bozbwb9<3vsGw&oaZ=1>AH{mXwuq6$ajb8M7bIf*J|QO;DL?VsYLNK{@737C zxeFqx@xQ}g@-(=tT(8ZZ{J!_qwW~$! zBGKNq+792hXTx--Qm;yhY2rR={ zrkhI|G}4BJlPqBx zG)!~_rQVt~+df+%d9>mdezz;aZ{ywGN4wXVs6)3ZCGlt$9?7@3R*HiYfp#I!;NP|x zQ)LVIS`{6(9LctN%So5P41EW4u!Gd5@mr4q+3Fv%5R;dOsBW^6P`Z~B(R{QY!ItPP@mlkbD zlW41;ZX}Ky=g>3op(>F~YmuX#wFtEm*u1b-MH~i_902rWTcDN}^@Cc!gaA_+AfQPt zh-hBjNZ3~#)^!qGmVxrKjfc8AeKed*;{xs7V)uA=anfSI%+^!6eH=5(GyyYr32|73 zCNGO>`=b!X=gG;Nim&(Th-YDZ;Js;x5w2k}#h-5f(z z!lk(Uz9p0G`4_Ms7j$vq;Ysb!uTCN_LZY?SyTke(!BsObH>rZ&6iYg7*A8h?!c>>N zQZ<(X1Nxxx+>&JuviaGzp#5=}rmyz$_hs-BM6dBY!h6yN6sYtJ+RS`yJoG;u@JE2t z1^M7dqB{GKp#^VCNZmzpVg$#VT;@M{ID_NQUr3iQuS*jinf^v4E8g&@nj3$`PgoHB zvbd3rERp{;?f;=B<2cOouK<=T&|#d0MSIBbzo4-r>i@cT;WE)l88Rym z)BGdZ2kbP)rn1#e@t+=SbEpe_1r4oE&7K{`E|#R z3{%-M`XNfz`7RE1uCLCl;sr4%DoRazB_3a;cPxo#Qd>U#d=oTelmBtaC_JR?&qJj> z9O|43?2i>ff`bl+YQc1o{?9`-J{)Qyo2J~Khnhh2V+VPP+h6$KW$SO|w^$PW<#NU` z!uUT{+g~&~l>g9=EWu;BbU4V6L;t^}!~o{c^0zpY|Nm8{oJo_9_xb=R_1yD3Rc7b$ zzej&k$y>S-z0oX;?aAghi1Bfz3C%mN!Lu}!Ezo}UV`LNjiCEAh=r*Gb_GQZnnwL?p zZ+u3Q9UE2=jDA2Ii?2_g{V^#Y|L|;2fXes4JDBeC zo@1fbb4xF>^DxiM&8k)R49p3`?`~>lN+|OA*Ol08UIwHw!BvZ93~L$tBh^QEye5r( zcbs*Cq9>T&uNKicsADn2J_~G&X&YZ35!0IBLDMd`+N=zv zN!;xZ^?d_uzVq0BC}zkn$gGss+`Ya{iDjsvZp6VXDAY7SGl)14lU zgfl8IjvkmNoo(HaZp{o}Wkz4hdaf@*NSOE08D?Le6mK=p}#PvQq z629=Qkpjcr=jbu&0>}QQWcnofvd;hp%vZ<8Q^Bj-!?pTzORthf_MW4YXE>kySY4v0 zUKmOgajZeA)HVgb3-o`*pGd!=Z)#Q|lUi4J+bVZ{JgA!5^ldXR+8p8fKsAT+Nxx$J z+rl$Ie;gl^?i*=7a~fwvF&nD^^B5QqT5Fyc)uo$@lm@NvGXW-J588QcH`HH@Lf}iV8B#N{hjFkmQJEHD4abp-HG(G0$*MvFVU6;AOLc z4H)7vr3K`Q=)**Q=)w3f@l6)ll)LCEPTrb`T}jffa*Q@i+RfQeT!R$bFz|}AB)umW zXi#x4h|#@o@Cp&+n+!HQePjDQ?(wlvPr-Uuh|yeJ_u?pm53ai|LMXUv-8RWx_A5Br z_soPJO_FNDcZ;K?r?MfQGa{@N2w>opQm8*L7l$cv?o<4-KQhCiosnC)Vlh z$&wm006mT1l3uFDeD7?-RV{FcEyg8zad#^fSR_dioqmt+*Jc<4vQygZyVFH<{S8?L z+L|N*OOE>K;CTZT9X1g*Hq}x+y;>K&I8i#0rJqr^YTvF7KsmU4JFYnH`XQ_PSI6i8 zKpSd&cXdBbZ_{vT$uk@?ACuGIyy-SYx9%x$j|nm8^aeZgR8{a=!@+#y9K(nls|kB- zbN;{&*wzvc=iauE#6(VehG{`Z&hWFr96v|@Q0Zj4rTC>w=`oEcER*LR+7I^b+l{`qfy{)dCe6nJwTb^3V zE9K4zbCu5a#9aDq zDnF+J`q1+=HSqcz-7Osa#vEOe*`5cXBYuC?_1x!-`?;~3WD9|FKSjRU78SjWSb7lY z*z7`^-gZW0{HeNL5!kuZFwoK`s0QLL+DJ}fkmq&sG3FKBNy))B>SNZrlcbV|u~zlu zj+YiQN#gjqS8KDjML{R(OA|zOr8{!IUF^3fw7o2}Y=QDsyS$HoGAU)dIBVjrzIf5} z)XbW~NGPq^VA^*s?n$tAYO(Dt394tk>B}s@@|PN#y%BvAr~N$(onM0KMo*J9zPmkK zCbsGcj}mtlZYp2C!k(QW0BLu=t_&r{GUDmYoO%^Ck|Gp2U>?6H7x(#kR z$UZK1ol1WCEip7J^A63mON(SA-TY~3xsEQ4YS%b{S|6?WM&Y_2)fGEXubV3?zJ1=e zlcUI#ReUvp7)}&3k1GJTDwX3-t$&iyes>2!f|1%$BO!91MmCm#ceuO z?OjuNUXS!1GDlVlT)N5O!MK5X%1GzEL+60WcqI2F5UG|{b-xZk^|aayg!}`IQKXaN z2E=_p8YhYM!tA&Q_mJuKY{_^N;bqLQ$g;gb{WfYeyL-$m2Ahv=_689;jJj z0|G)5W$M&?*_90}j0#RkA%<8GvWuMzOAIWC-0pHdn8nEK4)l5So6LCNCy&NY9~!Sy zU1%Zmz7i*@Gvnm09uln(+fh-!1cY8wXDiUC3If~X$vbPDLG^HPu#WP!OMkq8Q)MZ$ zW~T7xBms=_y*HY*Fh3O@(fJa@TpdHl!Q7rEl=r>S4S(UE@c2?+6J{nj^d2bCt{|d# zSszrRrL4AD>x@)llB6?|xF_}fxDQ~)nHq_i=TQXK!>VBVZ!8A9;zuJoOcVU@ zClA0H?R+1L%x?h4llulYOkCC5Ypn}nh8bvijk;92HKYzwENg5vHDDRt?DV3nx5XeO z9Q|9>ssbNIv-w<_Ip`91@(OPPKF*#>Vf^UgWDmSX_b|IC++qL>bi{lW1#ORF;?($M zALB8cNmJC9Ot~w5e6)BUm|ih!Dgv$6b=(2=-|??0xSH3KGIa3vIOE|YsoyOs+r3zm zWu3~ZVu!qos>?dph&%F@S0w)A5yIRu$gdOy75UKR!W1CFS4_~aM)Tavh6kOG^FV)& zrbBINMi?iBfz_zF%;xMF8*|KEfDkL{%C;BQWO--&<-w35z39xHKyk6#gaFFo5;;G8 zk!a1$`x6uZYNEjH+o;adWdO5mVa&NXDAi~MZ>r@YPtWeIAQCoGpJ^Lf0am(4?wX2ZNEB)%- zsags%s>KnKN(GWH-?Rrh5_6RG2jAt!ec`3bw5MFVRB8Ns!=ep~2 zqRmXLVjSEePyKRWJxYUu#U7q5ckIJy3nXy3!KU;YefJ-0Ov`5xh-bH~HMfT){wXN& z>;+3A@uzmD2ad^C{X70Y_<)DFA0RL@m>yGE?C*WX?PtWrlX5yledIW_?yq~;a^lzy z{GIHt{c%5Vf><4}}_GFDgfvy8m_ z5(49@Y{%&)@e}P$BzmWevzE1wEx6L;noNiGA5tx@ij!!#3Ax6w%lt80Lp=5{;#Qd~ zGXFS8;V&)`&%PmYdck<$_%A1sOTlPjG63G!qr#s1k4$Pg+%)~ah?E<>Ip6_(Qfxs> zd-+NxGTY#{+A52P*|JJ&`aFR5hZC2UF zqvVesY9db;z6WO~Sctm$FB_-fvN%#=v9q|iu{eI~>;;v>JPIbP z=jy27(BPnlar?ie`kVyyus>bs-`Mq{+H?&Grk#wtu{e#`{PD@1M2pX+C<|+9- z@6JTXdxwagQDa#mJ5r*SF=B0X(6&>NFBSP?8yhZJSp;1!%hwAYM|JYAu9Kh`5>U1k z+!JEcI5o20Q^wDN$gH(gT{e;wQDDj)A)z^?f%t#DuI$;!iov5t?`!r-gC|t|eoM=B z_;5;ym~u0Bk?@PlIZukWe*JpE_6+u@jQji6r%LZMe|~cf~N8>5`)d@&aQ3I7f~JK^!j@RJ4vd=O$=qvz5n=_ zTD1QRC2Qw!HGp!7{BizXchw~-8z=jXQ%8I~qWbUM`3Vw;fUBw4E4bN%K^)(EB~ont zA&e7*xR(*Twqo7tNdmv(&3tYt z_Tjp;X20Z&iKGv`2&lXpR3s3WQ&gx@>h|S|%*|pKhR=w9#A*59+@K-j04mU?*a5@M zA!ntr4Dj>ou|lvHe^Hta|PV3%AMH2Hb2T2p$Dj0pQbp0L)R z-f_jHJ5ko9yYnhsr*H`7@o(NShir``)d-=j0+C?7AZQw!*z$a zMew`qwE;6y4)n67l_vN{_DbGJ+oMXZeLEzdUM4fpuQH>e`lCU>s_@9&dgTzANl`1~ zF!_7L51y6h_ve?!>m91S>NJLTUk7id4v&VXy(lsjzwy|{PO7f?=QPVxyVTzAlK$SV zz;E@dGYxK4puqs^?}jq_gY+r$f+u;MM17bN|7KoMC3->XCZT7G1RyI=U)G1l;^|uCseLTsDMcdzx{J z1Q|}BO7%_}W{ztEh{AWmjVirM5aSJIdD}+GX@W}Rv_1OR4ZWW=`VPqPQ}iMu;L~zO zV+|Bwe%LTO?P_07*n4^uJVy+Ch3ihx3)+XWX5$c@H76cj_b#e#^N%VpB~tD(zTu8K z1T16IuQRpyTJ^mBeBldc{~!$%@M~r^jKjfWmmbN>m6RRgm=^&^t;zGOq1ARKxS9g- z6F-=W>VrL76Bp8Vc8Ui0DK9d}7$ikS4kiW;eBQI3dllv6FLW4CsJI<03bkz(9UW=4 z34AB$@}8IoCUCiCZK(N*e*yWKmTN0 zB(v{lC6o5_9S#eplWuhrevoFr5HA{o(LL?z%i(rQZ(8a0dUqxz#^!Z3YtXqsm$DJW zxFI`b_i!lMj>qmLA-6Z38Yt~*oG@fQ86j(X9LJoJ=zaVZp^W zFd`-UW9B|&8M-M%K>rZq37c-3dj4w=&stPTpWpQsdx}sTe&`DAVIJCcC4wE3XZ`5R zr4EFYmc7dX zFOnJ?3f8ylUd=~9xGUh%Dhv)5-WNr6xhE^l9nG?(NEgv{W&ItADi+Uzb{Igz)e|w? ztZeOAh8!6w#9+BtLxb{@#M6stv9bY2K03$kQG4J+h=~-uF|qrHH7oq4 z4N`+WKZ9%pubpASkS*8&cuizVLB<91YZm>q>y+IcN89W^29oG4)P4K6iHvk0cp>FMT%GNMzraPU0rY*Lwl)d9{FhY0c?P2vezP+oHx*7FBDZ18#8qh8V? zJF9~!+{Wl-xO8nML>-r?{S5*ef$AH}wVcc&XBy>Si#Qjzv8$3HEOLzWo_egjQ!oYl zCGe*T8+PN)2e4rE1C38#V%7voeyC*t7YPa}8^vr|=#SR_q$!noykH$ES<{46MTado zjpeMj<_tD$3OI0oG+;h+uV$~}*9Z8l2RoJIb42UN!`sj{W)yE%beeZB{DHn0L1C>+ z`w>kX(eBS_$=wsG>6$+QaQAsd8(Y|q)uf3?-aVP;zq7nRo5muD^9yu<%H4+gd=i#H zmlV_nC}!9O`FQv%>inR!zqsbZ&i5GbB3e4>@>ah9e6g|rzPo8U3bbKA;U1mPtQ#4p z2jGQ2j|2*N^J5RTaqv0X1TB|4VON0THf^$m2J-Fel$LtptFLseOgPBt<}a@y=c}Q2 zv1lPo37Ppo**?8ybtD64ZlPNQZcE$KNhR!av23yRtI3vCQZ~bXEMNKZ^KY3Y913L9 z(~@4G*sXG%@uOt5gx3UyVD~nTMM8#Y`4=zq#H&{cx1Bfm8n{LX6kl7(Z5_v4m`6HB zMD5Gc%MauCXjphFDWArrxa)xvWwxJRq#bm$U81*e4cg$#td#mfh;0Va*5#6}& zW2LwBa){i;M;ff7TvvFGKJqi90UP{g3rc;Bz67}u!vOZvMCC>ET{w_;bL~~Jmruo#v0>09+3aS3czSg9ukuW+j$M~Ha(PP+* zq0B-@TWl{*azKYqqJW`flf#l&i$* z<*YkbWQ|T2cvpI&V(VeE*+0|Unq<^G=O8nl-83_U4`v8&>8@RSuaY_w_?YvPuTk@a z_UD)V9oL5T_Sg8e%{Dy?k;(LC`xLLDC@~`d{tIK;zV!^g^I*?J$?b}n>YmN&qbmI3 z-Xt4EUx0RIm~4u>&9H7qpL?4Q_;I{$n{*&D{~=*GLKFLgn&Dp0Ov;eYD)@F5qe3d|B_2+A8&viE5a^Q@yx(0j4)rNu;JLfh?Q%oX^cpDHq6veBp4qxj!mF zPX{$~fkL&&$UAfUBj3WH^{{~tzu~9FdimS(YtJ#CBo;$H`O#hWD6l-tlqOxI2!7Er zc3CA^0`R@WqCW`tfu>2~Ls%|Xr`PWIlpz;7F)~o>d`U&BH^kokJ7+IF^_}95JFNws zfwL18Ps-=bC5K5?Tm24tOPn+p7fW70gWw|9ZbZ{d-7_`F3ZW3H6~Ap-Qki|4}NS;XV*V29MutRg?TmzwCf$J)3Qio5e{ORSxr47$BAM~{u`d`r#p zei^cYDe$IfwKn2CO4n}L;9Ub7zm91TMGtc&+deM(LiZuRceS1!GSlC!T_{w`$+Rmv8$JjuF zJFao^=Ndfj<_AGKPQBHIOO3 zA?PF0b1LP<1qLFhzG4>R;ojFiW)zE0M)LHD-j|VHXIgBL6tk5Z$S2oK_AM&vDt*DxKMJV7bC+Ug*YP-iMCGoAx$76eU`h znw<_aRlIpi!xMOX;BuvMpyTA}u(Y^W;}(mc)bnr!|EW_Z$RvL~ax}om$)cU;ANYH{ z?@J}6q zn}y0NPXtZ~)miE-&e}SBSr)+(Pm;|*=XEv7o0Ob4czxRht@I)z)bm!?Z;&Kdh)P^` zojCv%M3w~Ddf#bRAr*1M_24|Clvh_^0@|=ONC6Pw`lwT8$Kmsfa}lrH z>a>vQgT@9ql94*foMVHc@IYCIA|pl5oEuIx{%@iyBy$FT);27!LO=9JXuUMRTr;E_ zPi!bw69Fr6^RvH4X5U@hZZlme2gs>ZA{#C6=^5Rfg8*Wd!%U6r`_slp&=OWYt6<@U zrg<7G;07PWWaNpwUhIy`=&E z5yWtMeD|v;?FSK!bUK}^GK5)ECUM>O^XobdX~ZqY%iq?y2~ouIAX=}x2}F&QrzE{` zW9T8&Og)n#pjB!zM-^Q@yj2Z{p5u;-6E8V=s@#w7*20U5 zh3*TJ0ozw1;(pg-$!aIU9sU|hL?lDJgyhmv!@;)p61KX5n)?V(?4b-^tR%A8n%1-=vs+sd`88*b?8qaqFz~S8OziX+-=7|7nLfm=KgP;I zj^6tl9{c-h@vz=ZAZf4jFJtC^(3dlHM0osD;Qo@#pI#%+au~+K=HvCp!@6#NJVfD9 zGumr^d<|CRdR6RpCy|a8(vIR{x8Hc!q8&+*!W+L*Mcny_D@@cd$1R;pzewq0Aq~6v zbtl|5&5*$l{cx>@-t{3X5zGu;|Ibnvi<-eYOHUvsOrA%}ZXma7#m8Lj9l1U)t!F`5 zOgdP1^YfTG9`6PA8_`E|t>?ir7qJZ1>#e^D_v3A0#K>^u9FLp*wZhr)6G6Q$ilUSM z!_8m(4`x2BPa$~i^sgKL`=q!#Q8aeWDir^Pl>O^pj4=^3i~WARH`;Elo}EO5v^6 z_WN6^45LRiJ6zjHN;Qj1fVz4m>BINix%lU!9Hm`&h;T51S(2WJs@ic_5~vtGGo6tv z&)=wdQ;m5K>kVj}K{B3z0Zb8m3)b z!VwIb{iV$xiaFM4}pe*1Q%U_})PQ-jRKippXmRz$5;yt9uD8O)Pe|3vK z{c0Xi0B`F1MeYNGEv3;9bwXYv=s+vH3H80!;viVoeM@*tQGDS=TiTEFL^+*RaU;bV zW@+`}@f29a)ugS}KrwsEcAr$t{0^$m+pq?73s{%=AybYZq#1FmFILv0z+8G5+S)9v zQHNgvEeaXUVi6z75!eva{&o)2ols4vUNd2X^X+h}l)v659_)0w+~NZzHrwT%*r_ZY z0YGjI)jpmlW1u*H3Hy~MUUFXUAh}M9a-UcSw{thN!P83Rbo;`L#6L6T!sTEN$j&Ti zaS8+(8<|=HLdpiHy+K;de9ZZcP<$4xX2eKbDbE(=l)t=%^mUoNcuF29p8)wUJ(8EB zv6snKb~%X3sGf(f53MZ~Uz1Ra*)9ZoB$@B-iD6>3H3x(;lMC4d2#T@uJv*lt=lGKN z5A5(ig=nqaW_a0h*`zXH1l&e*NBovQJUMkzTgrdA`-VJd*>LuL*3>y+nx>M>HP>!z zJ%aBbi#E^u5&-4RCkHt*#K>Dae1N}hi{lKnHuuUxg4-I z!EbaR6}#Lnw_E&nKUX$>JBC=Ucc@C zvBs|E*p4sF{UT!r@d>l)&i#6Fkprb5!ZT*GYI*N&22^j?QQ%`%=6NUoRY&ObezPi)#3^9*jU_=nB>rW4XlG2bU;pS0IcF69;py_FIyK?6*mLHfZ_z3Dls zIpb4{?(WSw;|XGmOOS9+gYPBhVeHttMwbU>d|zOg*5pXZ^6D?+kBF`oBZ*JN?(Vhw z%c+=fP`%z11YLmbo;olw5jE?$sY0jz(ab)%(@vOuGY}W7rd)QAReTCDdW(YP=M65+@$DpBjVMy6 z0sY4E0V2BNf~ICMoF;!zolI#q^b+QMd!h|#4`*-~-VgI#7mk&)=vPkB-HP*PHu$6r zvOoFLk~5`dt5CzX`iQd;ECJ%y6}{-5rY};b&RT!#YC`+>_|8MtAia@ydw=g&{oiUm65rXcGc^mv4g z8?I^yc{{_;Ri`TxKqs`Y^J;9Q_f_&jCVgaCd8BG)25syGDY5y0M%nzB$ansGv%5p? zd?jTTwbI)%2a|>6nbhvftPVc`Cp&SQ4&`yIj;kC{uBus=M z{jJc0$$#kz)h+kn;aeUC;XP+pm@O`k41wgz>T~(|@yn-lUT)?-nj=emDlE&=y^@+; zU(aqtp?3FOMB6TYbJ)`G$r!VEDOn(;w0*J0_2?Al=8SmrBEd?i&Bp|cI7Wh+?Opr~z*?xWDc7Nz&+lx_)N3`EL~n2XEN7T??cV1q0TpfayfC|XgyA>9Ja6>>C( zhO~q!!tBnC7^VcW7S*DywbkO~4*Q^|s%b&}X@x!njPdQ6*>pM8zN*u5#4676&*aN5 z-#WA8Js1zYnr4yg{Bz;GYX^ro!Ai1=kM8OO<687erq zdi-AUmLT?ZDV;!g4Av>YTmLJ}8*o|gpiv}IR~J2>pMTZohlJpdFReeEH$TU=7Jli8 ziL{fYvR>PL5F7h`@vg` zq_>r3L@vlqqoIj4Cgl!i&(%1Rsnp?Cmx0gZJq!~+=&Yy2k)Mm67$^JxEMmlH7u|@7 z5NyBbyr;Wsa*c4C1CDoEdS-s78UNVbLAy2CNa;&2efAGdKHpE8W+CW$OedFxPoM&? zd6PKp)X*Ec{q?qY0UBR1Mc&}AUwO#dUoBYBMuJ2ImRC61Tc&zqpJb*m$Cf!ZHv3zJ2;QFaA6fUp{?F&fa zQK7^Za6s162Th>WMEiFVQU|X?#F$_!GFRR`$1v$lF@EEw;Pd3|3xSgN?PP`I6_ZAg zM5~)NycWQ2?g_g6%zY>9W|c;mOB9@U(G-XTCP_w(nO}yw@C?%$ns24POKdAkpYM$v^JH=084;~~FUXH`Lh;GTl!?nI?yKwCEK@)=i=7E(Ug~}cj_B=7wJF=7 z7$FBTCdR-LoYGXFnR_^V4y>P_K?r>d`jYoh$lgB9^ii!+hCv4P~O)KLH zVe1PIOl7~*ddz~HQn!|OrK@+CfrCZ-#uPc~H8%F;3hm=|@|ijR`TOv<-vxtK=a9~4 zq+z=g#u?7fFG%k`19P5~bZRALh5WUU-OsXq4c)69Isaw+EueRASd>L}ldW>j+o%;D zTi5)?jDVAxXQtUzhIbUJO{e>MeC1C?oT{J1AO}A;mjJF9uht*!xbadXE)e856{2g7&RZzvu;rFL5TBp+(vbeflP=!od81JZIQ!>u@ zKnC6L6g<`lqcRmF1I7N$JnC2u>2NeoeUl^YGngyBGM(90 ztH&SnarvkC#(Gd?!$!uty*!4T?CtE`*$t!x*s!Wt^>48~li#^iC@svt`(0D;Czz#e z1SUnjkT|^hZDV82LZXN&;kyE3U0(628>n|QdMNu;y?49qv4G3&y|NAXE@rIeGiW%o z_z((0Qo_=}mYA2JTiqUY>w==G$sOjUmu~S^ozX&8KdL<4KDqJ96b*ZX6%*}g=^&4h z95>Xv@j@q4CdzJt=_B#<9Mh1M*nGk11>V@JB0vrOGQc$+v&=ii*Q9UC%FY!U3)`6n zxK@4SuEpy9DWo~mUIU5^B*}m3G ziP+XlYmBD5>=`rbAivc(`$>K3?xm&ReMAl2fd{BdC812k<%A0qWIkCj4-~|XvRM)E zy2-VmXp5H4j=nW@B%0Qo-$eJYE{D@J0(pU3KGnu^#@T=ia zeVFi}y+<{gAup&xfVFxj5f4!=#!$i*Su&drCN2>+@;+`yF0|E_UM0(Tsx#@@uRI`< z^pBNDwa7~Hq%d_S@Ta>QE}5=1Y^$^~y+c^--qtWSc5n0ZRTy@w&n>A9IRobBY3DkL zeJWi%uHQz|y|E6Yc=BO0S@7u!P8bZXBQ)kXdn_A!u7tStxaE*TD#CL!kW%Urg@6PS ze1d|KGJY^mur$b&x7Y=+@=hmIaL^2zmxT%8lFS?kEb0p66C#&Ge_XTEct^99Fr~UO z(we+6&>G}QDhC)rq1X|sS zF0Zjd!pS^EDP2a0{~&3njb}&ZD!M$A0j*A#e*zbp)E!N2QHM71dKi!3mMwkU{evqj z$R;glz~9>SJLu+t}&Q)njaM1a2b9uzQkq+(3NbwjsM18Z8ci)NCyDtcWBhCuN8pmzZ0t<1WoX+3|vbU{o0^e zDg64+??KYM{w{ zQPDin;apMZ7=c~bMFpoWAo3mOuaFNv|G?(&mBROYQ=DUUI)EAlud}$ofCX=o!nprg zwvEn9*E@J()<)bjf8hLQTxn=%B4NSWGpt`5-WnC`KUVFTLhm>2*S_^m!DLNw#gUNu zy_fepxAN@mlq>h-X{L(m{>iEJc>;|ak^KXK+F;Sd!&n|!C%4|FAoh30nE<%|824mwbAxu7f39! z{m;_>?+Y7&+eAIInQD_6k|#2r9VkZ%W}8kL^Lo%lEIj=0Cl3YEr%u{*6P(0o-%Z5h z|NBSconRFEVU_2Y@bM#-|Hp;Az$GFS%uZ%1^ve$TPcdit6UFOYKJ#AmKkxr~7xDc> zZ^QTCVU1&kLTs{VPC~4wyy8?e#bgPD zgcP1TjvGXIq7V6r5Y)3imR(f0P7(QaNBm{Vf3o4IGZ}3nKNgsTME-ZGA8K>(9jf&= zqlfMLYDq>i*FPCoS}8hBeynulv06Lo1b)vlGjRLWqc35txJE^wJ~98|AL^yZiQ2G` zlj96G&C1Tcu|4isURYclvAn$O3@}O{o(=H#lcVk=d*in)*ybHu1G;Y!L-T*#k0V0) zF^{`AE2x9_+YOt8@IU($DEZzxIXH}er=Q>tQY^;-b-IY9<^Spj;~HGtQM@<;k{5PC zT<&egJUu_$JpRQj7yA#X!JC(_j)Izh3p{QT27LEeR+w^YO(Kq zr7wD3OY9N6v)sdviRVc7JzRn(-J$vU9A{RWL9>oZzvp604CzBYluBCwiPWWA2S0`i zv@=JE$NsRcJ*J5~nj?O}@<9W478uidN1}*H^1sMoB2JdI!={bbUlXP~W+K&&c>3>) z#ShO=jOjFb8Nc}YU%I_|hA3qCGkfZPH#%Y>5lgBjPOAS;w-1JRe-U+hE?-VnNc_{F zDAlS5b%f~2^3K)O23=IkJf+*ynQnCM?lCLkgD{fvJW(3-)Bt9FxQRV*ezNH1>rpQL z&~sO`ssgg-s0A`#c5^k4r-l`CXm)mDXfv(P{`>sjxC-D4wTq;>elo6C6F=V4WH_g9mAp^aKljU0Y z0c;A8U?o~ZNBaNkqT|7JvT1aMX#GL}O0k)Ljz}YsP_e-fS>ode-rxc13ZD?3DW*x;t+2((`xC+Y9Ga-_fV*UrzHZ|1Q%%}xizP|QCIyg0dXHSJi4e>36 ZQwK;VLGp2Z{0ZWps-o8YvU`@#{}0YmH>Cgo literal 0 HcmV?d00001 From 4aad045603acc08b4af3479592f9f064f8541ca1 Mon Sep 17 00:00:00 2001 From: Denise Schannon Date: Tue, 21 Aug 2018 17:50:34 -0700 Subject: [PATCH 09/18] fixes around install nav --- .../air-gap-installation/_index.md | 54 +++++++++---------- .../rancher/v2.x/en/installation/ha/_index.md | 6 +-- .../{rke-all-in-one => rke-add-on}/_index.md | 9 ++-- .../layer-4-lb/_index.md | 4 +- .../layer-4-lb/nlb/_index.md | 2 +- .../layer-7-lb/_index.md | 2 +- .../layer-7-lb/alb/_index.md | 2 +- .../layer-7-lb/nginx/_index.md | 2 +- .../rke-add-on/proxy}/_index.md | 23 +------- .../404-default-backend/_index.md | 0 .../troubleshooting/_index.md | 2 +- .../generic-troubleshooting/_index.md | 0 .../job-complete-status/_index.md | 0 .../troubleshooting/ssh-tunneling/_index.md | 0 .../v2.x/en/installation/references/_index.md | 2 +- .../en/installation/server-tags/_index.md | 2 +- .../en/installation/single-node/_index.md | 47 +++++++++++++--- .../single-node/advanced-options/_index.md | 9 ---- .../private-ca-root-certificate/_index.md | 32 ----------- .../installation/single-node/proxy/_index.md | 36 +++++++++++++ .../single-node-install-external-lb/_index.md | 6 +-- .../v2.x/en/upgrades/rollbacks/_index.md | 8 +++ .../ha-server-rollbacks/_index.md | 7 +-- .../single-node-rollbacks/_index.md | 1 + .../v2.x/en/upgrades/upgrades/_index.md | 10 ++++ .../ha-server-upgrade/_index.md | 4 +- .../migrating-from-rke-add-on}/_index.md | 6 +-- .../single-node-air-gap-upgrade}/_index.md | 6 ++- .../single-node-upgrade/_index.md | 2 + layouts/shortcodes/note_server-tags.html | 2 +- 30 files changed, 157 insertions(+), 129 deletions(-) rename content/rancher/v2.x/en/installation/{single-node/advanced-options => }/air-gap-installation/_index.md (72%) rename content/rancher/v2.x/en/installation/ha/{rke-all-in-one => rke-add-on}/_index.md (51%) rename content/rancher/v2.x/en/installation/ha/{rke-all-in-one => rke-add-on}/layer-4-lb/_index.md (99%) rename content/rancher/v2.x/en/installation/ha/{rke-all-in-one => rke-add-on}/layer-4-lb/nlb/_index.md (99%) rename content/rancher/v2.x/en/installation/ha/{rke-all-in-one => rke-add-on}/layer-7-lb/_index.md (99%) rename content/rancher/v2.x/en/installation/ha/{rke-all-in-one => rke-add-on}/layer-7-lb/alb/_index.md (99%) rename content/rancher/v2.x/en/installation/ha/{rke-all-in-one => rke-add-on}/layer-7-lb/nginx/_index.md (99%) rename content/rancher/v2.x/en/installation/{single-node/advanced-options/proxy-configuration => ha/rke-add-on/proxy}/_index.md (77%) rename content/rancher/v2.x/en/installation/ha/{rke-all-in-one => rke-add-on}/troubleshooting/404-default-backend/_index.md (100%) rename content/rancher/v2.x/en/installation/ha/{rke-all-in-one => rke-add-on}/troubleshooting/_index.md (93%) rename content/rancher/v2.x/en/installation/ha/{rke-all-in-one => rke-add-on}/troubleshooting/generic-troubleshooting/_index.md (100%) rename content/rancher/v2.x/en/installation/ha/{rke-all-in-one => rke-add-on}/troubleshooting/job-complete-status/_index.md (100%) rename content/rancher/v2.x/en/installation/ha/{rke-all-in-one => rke-add-on}/troubleshooting/ssh-tunneling/_index.md (100%) delete mode 100644 content/rancher/v2.x/en/installation/single-node/advanced-options/_index.md delete mode 100644 content/rancher/v2.x/en/installation/single-node/advanced-options/private-ca-root-certificate/_index.md create mode 100644 content/rancher/v2.x/en/installation/single-node/proxy/_index.md rename content/rancher/v2.x/en/installation/single-node/{advanced-options => }/single-node-install-external-lb/_index.md (98%) create mode 100644 content/rancher/v2.x/en/upgrades/rollbacks/_index.md rename content/rancher/v2.x/en/upgrades/{ => rollbacks}/ha-server-rollbacks/_index.md (94%) rename content/rancher/v2.x/en/upgrades/{ => rollbacks}/single-node-rollbacks/_index.md (96%) create mode 100644 content/rancher/v2.x/en/upgrades/upgrades/_index.md rename content/rancher/v2.x/en/upgrades/{ => upgrades}/ha-server-upgrade/_index.md (95%) rename content/rancher/v2.x/en/{installation/ha/migrating-from-rke-all-in-one => upgrades/upgrades/migrating-from-rke-add-on}/_index.md (94%) rename content/rancher/v2.x/en/upgrades/{air-gap-upgrade => upgrades/single-node-air-gap-upgrade}/_index.md (88%) rename content/rancher/v2.x/en/upgrades/{ => upgrades}/single-node-upgrade/_index.md (98%) diff --git a/content/rancher/v2.x/en/installation/single-node/advanced-options/air-gap-installation/_index.md b/content/rancher/v2.x/en/installation/air-gap-installation/_index.md similarity index 72% rename from content/rancher/v2.x/en/installation/single-node/advanced-options/air-gap-installation/_index.md rename to content/rancher/v2.x/en/installation/air-gap-installation/_index.md index df38b9ca48a..3bcf38cb402 100644 --- a/content/rancher/v2.x/en/installation/single-node/advanced-options/air-gap-installation/_index.md +++ b/content/rancher/v2.x/en/installation/air-gap-installation/_index.md @@ -1,14 +1,11 @@ --- -title: Air Gap Installation -weight: 345 -aliases: -- /rancher/v2.x/en/installation/air-gap-installation/ +title: Preparing for Air Gap Install +weight: 300 --- Rancher supports installing from a private registry. In every [release](https://github.com/rancher/rancher/releases), we provide you with the needed Docker images and scripts to mirror those images to your own registry. The Docker images are used when nodes are added to a cluster, or when you enable features like pipelines or logging. >**Prerequisite:** It is assumed you either 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 for private registries](https://docs.docker.com/registry/). - >**Note:** In Rancher v2.0.0, registries with authentication are not supported for installing from a private registry. The Docker images can only be pulled from a registry without authentication enabled. This limitation only applies to Docker images. ## Release files @@ -17,14 +14,14 @@ Rancher supports installing from a private registry. In every [release](https:// * **rancher-save-images.sh**: This script will pull all needed images from DockerHub, and save all of the images as a compressed file called `rancher-images.tar.gz`. This file can be transferred to your on-premise host that can access your private registry. * **rancher-load-images.sh**: This script will load images from rancher-images.tar.gz and push them to your private registry. You have to supply the hostname of your private registry as first argument to the script.
    `rancher-load-images.sh registry.yourdomain.com:5000` -### Making the Rancher images available +## Making the Rancher images available We will cover two scenarios: -* **Scenario 1**: You have one host that can access DockerHub to pull and save the images, and a separate host that access your private registry to push the images. -* **Scenario 2**: You have one host that can access both DockerHub and your private registry. +* **Scenario 1**: You have a node that can access DockerHub to pull and save the images, and a separate node(s) that access your private registry to push the images. +* **Scenario 2**: You have node(s) that can access both DockerHub and your private registry. -#### Scenario 1: One host that can access DockerHub, separate host that can access private registry +### Scenario 1: A node that can access DockerHub, separate node(s) that can access the private registry ![Scenario1]({{< baseurl >}}/img/rancher/airgap/privateregistry.svg) @@ -36,19 +33,7 @@ We will cover two scenarios: 4. Transfer and run `rancher-load-images.sh` on the host that can access the private registry. It should be run in the same directory as `rancher-images.tar.gz`. -5. Complete installation of Rancher using the instructions in [Single Node Install]({{< baseurl >}}/rancher/v2.x/en/installation/single-node-install/). - - >**Note:** - > When completing [Single Node Install]({{< baseurl >}}/rancher/v2.x/en/installation/single-node-install/), prepend your private registry URL to the image when running the `docker run` command. - > - > Example: - > ``` - docker run -d --restart=unless-stopped \ - -p 80:80 -p 443:443 \ - /rancher/rancher:latest - ``` - -#### Scenario 2: You have one host that can access both DockerHub and your private registry. +### Scenario 2: You have node(s) that can access both DockerHub and your private registry. ![Scenario2]({{< baseurl >}}/img/rancher/airgap/privateregistrypushpull.svg) @@ -68,20 +53,29 @@ for IMAGE in $IMAGES; do done ``` -3. Complete installation of Rancher using the instructions in [Single Node Install]({{< baseurl >}}/rancher/v2.x/en/installation/single-node-install/). +## Completing the Rancher installation - >**Note:** - > When completing [Single Node Install]({{< baseurl >}}/rancher/v2.x/en/installation/single-node-install/), prepend your private registry URL to the image when running the `docker run` command. - > - > Example: - > ``` +After your private registry is setup on all node(s) for your Rancher installation, complete your Rancher installation. + +### Single Node Install + +Complete installation of Rancher using the instructions in [Single Node Install]({{< baseurl >}}/rancher/v2.x/en/installation/single-node-install/). + +>**Note:** +> When completing [Single Node Install]({{< baseurl >}}/rancher/v2.x/en/installation/single-node-install/), prepend your private registry URL to the image when running the `docker run` command. +> +> Example: +> ``` docker run -d --restart=unless-stopped \ -p 80:80 -p 443:443 \ /rancher/rancher:latest - ``` +``` +### High Availability Install -### Configuring Rancher to use the private registry +Complete the installation of Rancher following the [High Availability instructions]({{< baseurl >}}/rancher/v2.x/en/installation/ha/). + +## Configuring Rancher to use the private registry Rancher needs to be configured to use the private registry as source for the needed images. diff --git a/content/rancher/v2.x/en/installation/ha/_index.md b/content/rancher/v2.x/en/installation/ha/_index.md index ba365960641..2dee2f962a1 100644 --- a/content/rancher/v2.x/en/installation/ha/_index.md +++ b/content/rancher/v2.x/en/installation/ha/_index.md @@ -1,5 +1,5 @@ --- -title: High Availability Installation +title: High Availability (HA) Install weight: 275 draft: true --- @@ -36,5 +36,5 @@ The following CLI tools are required for this install. Please make sure these to ## Additional Install Options -* [Migrating from RKE all-in-one install]({{< baseurl >}}/rancher/v2.x/en/installation/ha/migrating-from-rke-all-in-one/) -* [RKE all-in-one install]({{< baseurl >}}/rancher/v2.x/en/installation/ha/rke-all-in-one/) \ No newline at end of file +* [Migrating from RKE add-on install]({{< baseurl >}}/rancher/v2.x/en/upgrades/upgrades/migrating-from-rke-add-on/) +* [RKE add-on install]({{< baseurl >}}/rancher/v2.x/en/installation/ha/rke-add-on/) diff --git a/content/rancher/v2.x/en/installation/ha/rke-all-in-one/_index.md b/content/rancher/v2.x/en/installation/ha/rke-add-on/_index.md similarity index 51% rename from content/rancher/v2.x/en/installation/ha/rke-all-in-one/_index.md rename to content/rancher/v2.x/en/installation/ha/rke-add-on/_index.md index 4b3cb65c1f0..eab29cd6494 100644 --- a/content/rancher/v2.x/en/installation/ha/rke-all-in-one/_index.md +++ b/content/rancher/v2.x/en/installation/ha/rke-add-on/_index.md @@ -1,10 +1,11 @@ --- -title: RKE All-In-One Install +title: Advanced Install - RKE Add-on weight: 276 --- Rancher can be installed by providing the appropriate Kubernetes manifest configurations to RKE's `addons` feature. See the following instructions for examples appropriate to your environment. -* [High Availability Installation with External Load Balancer (TCP/Layer 4)]({{< baseurl >}}/rancher/v2.x/installation/ha/rke-all-in-one/layer-4-lb/) -* [High Availability Installation with External Load Balancer (HTTPS/Layer 7)]({{< baseurl >}}/rancher/v2.x/installation/ha/rke-all-in-one/layer-7-lb/) -* [Troubleshooting RKE All-In-One Installs]({{< baseurl >}}/rancher/v2.x/installation/ha/rke-all-in-one/troubleshooting/) +* [High Availability Installation with External Load Balancer (TCP/Layer 4)]({{< baseurl >}}/rancher/v2.x/installation/ha/rke-add-on/layer-4-lb/) +* [High Availability Installation with External Load Balancer (HTTPS/Layer 7)]({{< baseurl >}}/rancher/v2.x/installation/ha/rke-add-on/layer-7-lb/) +* [HTTP Proxy Configuration for a High Availability Installation]({{< baseurl >}}/rancher/v2.x/installation/ha/rke-add-on/proxy/) +* [Troubleshooting RKE Add-on Installs]({{< baseurl >}}/rancher/v2.x/installation/ha/rke-add-on/troubleshooting/) diff --git a/content/rancher/v2.x/en/installation/ha/rke-all-in-one/layer-4-lb/_index.md b/content/rancher/v2.x/en/installation/ha/rke-add-on/layer-4-lb/_index.md similarity index 99% rename from content/rancher/v2.x/en/installation/ha/rke-all-in-one/layer-4-lb/_index.md rename to content/rancher/v2.x/en/installation/ha/rke-add-on/layer-4-lb/_index.md index 99cd3f429c8..581fa1b6f21 100644 --- a/content/rancher/v2.x/en/installation/ha/rke-all-in-one/layer-4-lb/_index.md +++ b/content/rancher/v2.x/en/installation/ha/rke-add-on/layer-4-lb/_index.md @@ -1,5 +1,5 @@ --- -title: High Availability Installation with External Load Balancer (TCP/Layer 4) +title: HA Install with External Load Balancer (TCP/Layer 4) weight: 275 aliases: - /rancher/v2.x/en/installation/ha-server-install/ @@ -111,7 +111,7 @@ After installing NGINX, you need to update the NGINX config file, `nginx.conf`, 2. From `nginx.conf`, replace `IP_NODE_1`, `IP_NODE_2`, and `IP_NODE_3` with the IPs of your [Linux hosts](#1-provision-linux-hosts). >**Note:** This Nginx configuration is only an example and may not suit your environment. For complete documentation, see [NGINX Load Balancing - TCP and UDP Load Balancer](https://docs.nginx.com/nginx/admin-guide/load-balancer/tcp-udp-load-balancer/). - + **Example NGINX config:** ``` worker_processes 4; diff --git a/content/rancher/v2.x/en/installation/ha/rke-all-in-one/layer-4-lb/nlb/_index.md b/content/rancher/v2.x/en/installation/ha/rke-add-on/layer-4-lb/nlb/_index.md similarity index 99% rename from content/rancher/v2.x/en/installation/ha/rke-all-in-one/layer-4-lb/nlb/_index.md rename to content/rancher/v2.x/en/installation/ha/rke-add-on/layer-4-lb/nlb/_index.md index f2eebef4170..316b0ce50f4 100644 --- a/content/rancher/v2.x/en/installation/ha/rke-all-in-one/layer-4-lb/nlb/_index.md +++ b/content/rancher/v2.x/en/installation/ha/rke-add-on/layer-4-lb/nlb/_index.md @@ -1,5 +1,5 @@ --- -title: Amazon NLB configuration +title: Amazon NLB Configuration weight: 277 aliases: - /rancher/v2.x/en/installation/ha-server-install/nlb/ diff --git a/content/rancher/v2.x/en/installation/ha/rke-all-in-one/layer-7-lb/_index.md b/content/rancher/v2.x/en/installation/ha/rke-add-on/layer-7-lb/_index.md similarity index 99% rename from content/rancher/v2.x/en/installation/ha/rke-all-in-one/layer-7-lb/_index.md rename to content/rancher/v2.x/en/installation/ha/rke-add-on/layer-7-lb/_index.md index 9fb112f4045..a000c8089ea 100644 --- a/content/rancher/v2.x/en/installation/ha/rke-all-in-one/layer-7-lb/_index.md +++ b/content/rancher/v2.x/en/installation/ha/rke-add-on/layer-7-lb/_index.md @@ -1,5 +1,5 @@ --- -title: High Availability Installation with External Load Balancer (HTTPS/Layer 7) +title: HA Install with External Load Balancer (HTTPS/Layer 7) weight: 276 aliases: - /rancher/v2.x/en/installation/ha-server-install-external-lb/ diff --git a/content/rancher/v2.x/en/installation/ha/rke-all-in-one/layer-7-lb/alb/_index.md b/content/rancher/v2.x/en/installation/ha/rke-add-on/layer-7-lb/alb/_index.md similarity index 99% rename from content/rancher/v2.x/en/installation/ha/rke-all-in-one/layer-7-lb/alb/_index.md rename to content/rancher/v2.x/en/installation/ha/rke-add-on/layer-7-lb/alb/_index.md index bc96496e99e..abeb64eaded 100644 --- a/content/rancher/v2.x/en/installation/ha/rke-all-in-one/layer-7-lb/alb/_index.md +++ b/content/rancher/v2.x/en/installation/ha/rke-add-on/layer-7-lb/alb/_index.md @@ -1,5 +1,5 @@ --- -title: Amazon ALB configuration +title: Amazon ALB Configuration weight: 277 aliases: - /rancher/v2.x/en/installation/ha-server-install-external-lb/alb/ diff --git a/content/rancher/v2.x/en/installation/ha/rke-all-in-one/layer-7-lb/nginx/_index.md b/content/rancher/v2.x/en/installation/ha/rke-add-on/layer-7-lb/nginx/_index.md similarity index 99% rename from content/rancher/v2.x/en/installation/ha/rke-all-in-one/layer-7-lb/nginx/_index.md rename to content/rancher/v2.x/en/installation/ha/rke-add-on/layer-7-lb/nginx/_index.md index 3b748b01559..d62c2c2c53f 100644 --- a/content/rancher/v2.x/en/installation/ha/rke-all-in-one/layer-7-lb/nginx/_index.md +++ b/content/rancher/v2.x/en/installation/ha/rke-add-on/layer-7-lb/nginx/_index.md @@ -1,5 +1,5 @@ --- -title: NGINX configuration +title: NGINX Configuration weight: 277 aliases: - /rancher/v2.x/en/installation/ha-server-install-external-lb/nginx/ diff --git a/content/rancher/v2.x/en/installation/single-node/advanced-options/proxy-configuration/_index.md b/content/rancher/v2.x/en/installation/ha/rke-add-on/proxy/_index.md similarity index 77% rename from content/rancher/v2.x/en/installation/single-node/advanced-options/proxy-configuration/_index.md rename to content/rancher/v2.x/en/installation/ha/rke-add-on/proxy/_index.md index 3dd3fa231c2..05cb1f6ef2a 100644 --- a/content/rancher/v2.x/en/installation/single-node/advanced-options/proxy-configuration/_index.md +++ b/content/rancher/v2.x/en/installation/ha/rke-add-on/proxy/_index.md @@ -1,8 +1,6 @@ --- title: HTTP Proxy Configuration -weight: 360 -aliases: -- /rancher/v2.x/en/installation/proxy-configuration/ +weight: 277 --- If you operate Rancher behind a proxy and you want to access services through the proxy (such as retrieving catalogs), you must provide Rancher information about your proxy. As Rancher is written in Go, it uses the common proxy environment variables as shown below. @@ -16,25 +14,6 @@ NO_PROXY | Network address(es), network address range(s) and do > **Note** NO_PROXY must be in uppercase to use network range (CIDR) notation. -## Single Node Installation - -Passing environment variables to the Rancher container can be done using `-e KEY=VALUE` or `--env KEY=VALUE`. Required values for `NO_PROXY` in a [Single Node Installation]({{< baseurl >}}/rancher/v2.x/en/installation/single-node-install/) are: - -* `localhost` -* `127.0.0.1` -* `0.0.0.0` - -The example below is based on a proxy server accessible at `http://192.168.0.1:3128`, and excluding usage the proxy when accessing network range `192.168.10.0/24` and every hostname under the domain `example.com`. - -``` -docker run -d --restart=unless-stopped \ - -p 80:80 -p 443:443 \ - -e HTTP_PROXY="http://192.168.10.1:3128" \ - -e HTTPS_PROXY="http://192.168.10.1:3128" \ - -e NO_PROXY="localhost,127.0.0.1,0.0.0.0,192.168.10.0/24,example.com" \ - rancher/rancher:latest -``` - ## High Availability Installation When using High Availability Installation, the environment variables need to be added to the RKE Config File template. diff --git a/content/rancher/v2.x/en/installation/ha/rke-all-in-one/troubleshooting/404-default-backend/_index.md b/content/rancher/v2.x/en/installation/ha/rke-add-on/troubleshooting/404-default-backend/_index.md similarity index 100% rename from content/rancher/v2.x/en/installation/ha/rke-all-in-one/troubleshooting/404-default-backend/_index.md rename to content/rancher/v2.x/en/installation/ha/rke-add-on/troubleshooting/404-default-backend/_index.md diff --git a/content/rancher/v2.x/en/installation/ha/rke-all-in-one/troubleshooting/_index.md b/content/rancher/v2.x/en/installation/ha/rke-add-on/troubleshooting/_index.md similarity index 93% rename from content/rancher/v2.x/en/installation/ha/rke-all-in-one/troubleshooting/_index.md rename to content/rancher/v2.x/en/installation/ha/rke-add-on/troubleshooting/_index.md index 7023eb3dfbe..2ab9ccf7147 100644 --- a/content/rancher/v2.x/en/installation/ha/rke-all-in-one/troubleshooting/_index.md +++ b/content/rancher/v2.x/en/installation/ha/rke-add-on/troubleshooting/_index.md @@ -1,5 +1,5 @@ --- -title: Troubleshooting High Availability Installation +title: Troubleshooting HA RKE Add-On Install weight: 370 aliases: - /rancher/v2.x/en/installation/troubleshooting-ha/ diff --git a/content/rancher/v2.x/en/installation/ha/rke-all-in-one/troubleshooting/generic-troubleshooting/_index.md b/content/rancher/v2.x/en/installation/ha/rke-add-on/troubleshooting/generic-troubleshooting/_index.md similarity index 100% rename from content/rancher/v2.x/en/installation/ha/rke-all-in-one/troubleshooting/generic-troubleshooting/_index.md rename to content/rancher/v2.x/en/installation/ha/rke-add-on/troubleshooting/generic-troubleshooting/_index.md diff --git a/content/rancher/v2.x/en/installation/ha/rke-all-in-one/troubleshooting/job-complete-status/_index.md b/content/rancher/v2.x/en/installation/ha/rke-add-on/troubleshooting/job-complete-status/_index.md similarity index 100% rename from content/rancher/v2.x/en/installation/ha/rke-all-in-one/troubleshooting/job-complete-status/_index.md rename to content/rancher/v2.x/en/installation/ha/rke-add-on/troubleshooting/job-complete-status/_index.md diff --git a/content/rancher/v2.x/en/installation/ha/rke-all-in-one/troubleshooting/ssh-tunneling/_index.md b/content/rancher/v2.x/en/installation/ha/rke-add-on/troubleshooting/ssh-tunneling/_index.md similarity index 100% rename from content/rancher/v2.x/en/installation/ha/rke-all-in-one/troubleshooting/ssh-tunneling/_index.md rename to content/rancher/v2.x/en/installation/ha/rke-add-on/troubleshooting/ssh-tunneling/_index.md diff --git a/content/rancher/v2.x/en/installation/references/_index.md b/content/rancher/v2.x/en/installation/references/_index.md index 840bd550840..3f2e7facc22 100644 --- a/content/rancher/v2.x/en/installation/references/_index.md +++ b/content/rancher/v2.x/en/installation/references/_index.md @@ -1,6 +1,6 @@ --- title: Port Requirements -weight: 355 +weight: 280 aliases: - /rancher/v2.x/en/hosts/amazon/#required-ports-for-rancher-to-work/ --- diff --git a/content/rancher/v2.x/en/installation/server-tags/_index.md b/content/rancher/v2.x/en/installation/server-tags/_index.md index c3f3130667f..2dde9a9e39b 100644 --- a/content/rancher/v2.x/en/installation/server-tags/_index.md +++ b/content/rancher/v2.x/en/installation/server-tags/_index.md @@ -1,6 +1,6 @@ --- title: Server Tags -weight: 2000 +weight: 230 --- {{< product >}} Server is distributed as a Docker image, which have _tags_ attached to them. Tags are used to identify what version is included in the image. Rancher includes additional tags that point to a specific version. Remember that if you use the additional tags, you must explicitly pull a new version of that image tag. Otherwise it will use the cached image on the host. 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 8c4df50be0c..e4e920cea7f 100644 --- a/content/rancher/v2.x/en/installation/single-node/_index.md +++ b/content/rancher/v2.x/en/installation/single-node/_index.md @@ -1,11 +1,13 @@ --- -title: Single Node Installation +title: Single Node Install weight: 250 +aliases: + - /rancher/v2.x/en/installation/custom-ca-root-certificate/ --- For development environments, we recommend installing Rancher by running a single Docker container. In this installation scenario, you'll install Docker on a single Linux host, and then install Rancher on your host using a single Docker container. >**Want to use an external load balancer?** -> See [Single Node Installation with an External Load Balancer]({{< baseurl >}}/rancher/v2.x/en/installation/single-node/advanced-options/single-node-install-external-lb) instead. +> See [Single Node Install with an External Load Balancer]({{< baseurl >}}/rancher/v2.x/en/installation/single-node/single-node-install-external-lb) instead. ## Installation Outline @@ -50,7 +52,7 @@ The following diagram depicts the basic port requirements for Rancher. For a com 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. >**Attention Air Gap Users:** -> If you are visiting this page to complete [Air Gap Installation]({{< baseurl >}}/rancher/v2.x/en/installation/air-gap-installation/), you must pre-pend your private registry URL to the server tag when running the installation command in the option that you choose. Replace `` with your private registry URL. +> If you are visiting this page to complete an [Air Gap]({{< baseurl >}}/rancher/v2.x/en/installation/air-gap-installation/) Installation, you must pre-pend your private registry URL to the server tag when running the installation command in the option that you choose. Add `` with your private registry URL in front of `rancher/rancher:latest`. > > Example: ``` @@ -62,7 +64,8 @@ Choose from the following options: - [Option A—Default Self-Signed Certificate](#option-a-default-self-signed-certificate) - [Option B—Bring Your Own Certificate: Self-Signed](#option-b-bring-your-own-certificate-self-signed) - [Option C—Bring Your Own Certificate: Signed by Recognized CA](#option-c-bring-your-own-certificate-signed-by-recognized-ca) -- [Option D—Let's Encrypt Certificate](#option-d-let-s-encrypt-certificate) +- [Option D—Bring Your Own Certificate: Private CA Root Certificate CA](#option-d-bring-your-own-certificate-private-ca-root-certificate) +- [Option E—Let's Encrypt Certificate](#option-e-let-s-encrypt-certificate) ### Option A—Default Self-Signed Certificate @@ -103,7 +106,6 @@ Your Rancher install can use a self-signed certificate that you provide to encry rancher/rancher:latest ``` - ### Option C—Bring Your Own Certificate: Signed by Recognized CA If you're publishing your app publicly, you should ideally be using a certificate signed by a recognized CA. @@ -126,7 +128,38 @@ If you're publishing your app publicly, you should ideally be using a certificat rancher/rancher:latest --no-cacerts ``` -### Option D—Let's Encrypt Certificate +### Option D—Bring Your Own Certificate: Private CA Root Certificate + +Services that Rancher needs to access are sometimes configured with a certificate from an custom/internal Certificate Authority (CA) root, also known as self signed certificate. If the presented certificate from the service cannot be validated by Rancher, the following error will appear: `x509: certificate signed by unknown authority`. + +To validate the certificate, the CA root certificates need to be added to Rancher. As Rancher is written in Go, we can use the environment variable `SSL_CERT_DIR` to point to the directory where the CA root certificates are located in the container. The CA root certificates directory can be mounted using the Docker volume option (`-v host-source-directory:container-destination-directory`) when starting the Rancher container. + +Examples of services that Rancher can access: + +* Catalogs +* Authentication providers +* Accessing hosting/cloud API when using Node Drivers + +#### Start Rancher Container with custom CA root certificates + +The requirements are: + +* Mount the host directory containing the CA root certificates in the container using the volume option. +* Add the environment variable `SSL_CERT_DIR` with as value the mounted CA root certificates directory location inside the container. + +Passing environment variables to the Rancher container can be done using `-e KEY=VALUE` or `--env KEY=VALUE`, mounting a host directory inside the container can be done using `-v host-source-directory:container-destination-directory` or `--volume host-source-directory:container-destination-directory`. + +The example below is based on having the CA root certificates in the `/host/certs` directory on the host and mounting this directory on `/container/certs` inside the Rancher container. + +``` +docker run -d --restart=unless-stopped \ + -p 80:80 -p 443:443 \ + -v /host/certs:/container/certs \ + -e SSL_CERT_DIR="/container/certs" \ + rancher/rancher:latest +``` + +### Option E—Let's Encrypt Certificate Rancher supports Let's Encrypt 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. @@ -174,7 +207,7 @@ You have a couple of options: In the situation where you want to use a single node to run Rancher and to be able to add the same node to a cluster, you have to adjust the host ports mapped for the `rancher/rancher` container. -If a node is added to a cluster, it deploys the nginx ingress controller which will use port 80 and 443. This will conflict with the default ports we advice to expose for the `rancher/rancher` container. +If a node is added to a cluster, it deploys the nginx ingress controller which will use port 80 and 443. This will conflict with the default ports we advice to expose for the `rancher/rancher` container. Please note that this setup is not recommended for production use, but can be convenient for development/demo purposes. diff --git a/content/rancher/v2.x/en/installation/single-node/advanced-options/_index.md b/content/rancher/v2.x/en/installation/single-node/advanced-options/_index.md deleted file mode 100644 index 64d66862152..00000000000 --- a/content/rancher/v2.x/en/installation/single-node/advanced-options/_index.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: Advanced Install Options -weight: 250 ---- - -* [Air Gap Installation]({{< baseurl >}}/rancher/v2.x/en/installation/single-node/advanced-options/air-gap-installation) -* [HTTP/S Proxy Configuration]({{< baseurl >}}/rancher/v2.x/en/installation/single-node/advanced-options/proxy-configuration) -* [Using an External Load Balancer]({{< baseurl >}}/rancher/v2.x/en/installation/single-node/advanced-options/single-node-install-external-lb) -* [Using a Private CA Root Certificate]({{< baseurl >}}/rancher/v2.x/en/installation/single-node/advanced-options/private-ca-root-certificate) \ No newline at end of file diff --git a/content/rancher/v2.x/en/installation/single-node/advanced-options/private-ca-root-certificate/_index.md b/content/rancher/v2.x/en/installation/single-node/advanced-options/private-ca-root-certificate/_index.md deleted file mode 100644 index 275fc2408a8..00000000000 --- a/content/rancher/v2.x/en/installation/single-node/advanced-options/private-ca-root-certificate/_index.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -title: Using a Private CA Root Certificate -weight: 365 ---- -Services that Rancher needs to access are sometimes configured with a certificate from an custom/internal Certificate Authority (CA) root, also known as self signed certificate. If the presented certificate from the service cannot be validated by Rancher, the following error will appear: `x509: certificate signed by unknown authority`. - -To validate the certificate, the CA root certificates need to be added to Rancher. As Rancher is written in Go, we can use the environment variable `SSL_CERT_DIR` to point to the directory where the CA root certificates are located in the container. The CA root certificates directory can be mounted using the Docker volume option (`-v host-source-directory:container-destination-directory`) when starting the Rancher container. - -Examples of services that Rancher can access: - -* Catalogs -* Authentication providers -* Accessing hosting/cloud API when using Node Drivers - -## Start Rancher Container with custom CA root certificates - -The requirements are: - -* Mount the host directory containing the CA root certificates in the container using the volume option. -* Add the environment variable `SSL_CERT_DIR` with as value the mounted CA root certificates directory location inside the container. - -Passing environment variables to the Rancher container can be done using `-e KEY=VALUE` or `--env KEY=VALUE`, mounting a host directory inside the container can be done using `-v host-source-directory:container-destination-directory` or `--volume host-source-directory:container-destination-directory`. - -The example below is based on having the CA root certificates in the `/host/certs` directory on the host and mounting this directory on `/container/certs` inside the Rancher container. - -``` -docker run -d --restart=unless-stopped \ - -p 80:80 -p 443:443 \ - -v /host/certs:/container/certs \ - -e SSL_CERT_DIR="/container/certs" \ - rancher/rancher:latest -``` diff --git a/content/rancher/v2.x/en/installation/single-node/proxy/_index.md b/content/rancher/v2.x/en/installation/single-node/proxy/_index.md new file mode 100644 index 00000000000..9a82c8bbdc2 --- /dev/null +++ b/content/rancher/v2.x/en/installation/single-node/proxy/_index.md @@ -0,0 +1,36 @@ +--- +title: HTTP Proxy Configuration +weight: 251 +aliases: +- /rancher/v2.x/en/installation/proxy-configuration/ +--- +If you operate Rancher behind a proxy and you want to access services through the proxy (such as retrieving catalogs), you must provide Rancher information about your proxy. As Rancher is written in Go, it uses the common proxy environment variables as shown below. + +Make sure `NO_PROXY` contains the network addresses, network address ranges and domains that should be excluded from using the proxy. + +Environment variable | Purpose +--------------------------|--------- +HTTP_PROXY | Proxy address to use when initiating HTTP connection(s) +HTTPS_PROXY | Proxy address to use when initiating HTTPS connection(s) +NO_PROXY | Network address(es), network address range(s) and domains to exclude from using the proxy when initiating connection(s) + +> **Note** NO_PROXY must be in uppercase to use network range (CIDR) notation. + +## Single Node Installation + +Passing environment variables to the Rancher container can be done using `-e KEY=VALUE` or `--env KEY=VALUE`. Required values for `NO_PROXY` in a [Single Node Installation]({{< baseurl >}}/rancher/v2.x/en/installation/single-node-install/) are: + +* `localhost` +* `127.0.0.1` +* `0.0.0.0` + +The example below is based on a proxy server accessible at `http://192.168.0.1:3128`, and excluding usage the proxy when accessing network range `192.168.10.0/24` and every hostname under the domain `example.com`. + +``` +docker run -d --restart=unless-stopped \ + -p 80:80 -p 443:443 \ + -e HTTP_PROXY="http://192.168.10.1:3128" \ + -e HTTPS_PROXY="http://192.168.10.1:3128" \ + -e NO_PROXY="localhost,127.0.0.1,0.0.0.0,192.168.10.0/24,example.com" \ + rancher/rancher:latest +``` diff --git a/content/rancher/v2.x/en/installation/single-node/advanced-options/single-node-install-external-lb/_index.md b/content/rancher/v2.x/en/installation/single-node/single-node-install-external-lb/_index.md similarity index 98% rename from content/rancher/v2.x/en/installation/single-node/advanced-options/single-node-install-external-lb/_index.md rename to content/rancher/v2.x/en/installation/single-node/single-node-install-external-lb/_index.md index b85ee0326a5..0340095d70b 100644 --- a/content/rancher/v2.x/en/installation/single-node/advanced-options/single-node-install-external-lb/_index.md +++ b/content/rancher/v2.x/en/installation/single-node/single-node-install-external-lb/_index.md @@ -1,6 +1,6 @@ --- -title: Single Node Installation with External Load Balancer -weight: 260 +title: Single Node Install with External Load Balancer +weight: 252 aliases: - /rancher/v2.x/en/installation/single-node-install-external-lb/ --- @@ -134,7 +134,7 @@ The load balancer or proxy has to be configured to support the following: This Nginx configuration is tested on Nginx version 1.13 (mainline) and 1.14 (stable). >**Note:** This Nginx configuration is only an example and may not suit your environment. For complete documentation, see [NGINX Load Balancing - TCP and UDP Load Balancer](https://docs.nginx.com/nginx/admin-guide/load-balancer/tcp-udp-load-balancer/). - + ``` upstream rancher { server rancher-server:80; diff --git a/content/rancher/v2.x/en/upgrades/rollbacks/_index.md b/content/rancher/v2.x/en/upgrades/rollbacks/_index.md new file mode 100644 index 00000000000..53b3f8920f9 --- /dev/null +++ b/content/rancher/v2.x/en/upgrades/rollbacks/_index.md @@ -0,0 +1,8 @@ +--- +title: Rollbacks +weight: 1010 +--- +This section contains information about how to rollback your Rancher server to a previous version. + +- [Rolling back a Single Node Install]({{< baseurl >}}/rancher/v2.x/en/upgrades/rollbacks/single-node-rollbacks/) +- [Rolling back a High Availability Install]({{< baseurl >}}/rancher/v2.x/en/upgrades/rollbacks/ha-server-rollbacks/) diff --git a/content/rancher/v2.x/en/upgrades/ha-server-rollbacks/_index.md b/content/rancher/v2.x/en/upgrades/rollbacks/ha-server-rollbacks/_index.md similarity index 94% rename from content/rancher/v2.x/en/upgrades/ha-server-rollbacks/_index.md rename to content/rancher/v2.x/en/upgrades/rollbacks/ha-server-rollbacks/_index.md index 71a3d78fde6..02745f1d2fc 100644 --- a/content/rancher/v2.x/en/upgrades/ha-server-rollbacks/_index.md +++ b/content/rancher/v2.x/en/upgrades/rollbacks/ha-server-rollbacks/_index.md @@ -1,8 +1,9 @@ --- -title: High Availability Rollback +title: High Availability (HA) Rollback weight: 1025 aliases: - - /rancher/v2.x/en/backups/rollbacks/ha-server-rollbacks + - /rancher/v2.x/en/backups/rollbacks/ha-server-rollbacks/ + - /rancher/v2.x/en/upgrades/ha-server-rollbacks --- If you upgrade Rancher, but the upgrade does not complete successfully, you may need to roll back your Rancher Server to its last healthy state before upgrade. To restore Rancher: @@ -75,4 +76,4 @@ docker container inspect rke-bundle-cert The important thing to note is the mounts of the container and location of the **pki.bundle.tar.gz**. As of **RKE v0.1.9**, the **rke-bundle-cert** container is removed on both success and -failure of a restore. To debug any issues, you will need to look at the **logs** generated from rke. +failure of a restore. To debug any issues, you will need to look at the **logs** generated from rke. diff --git a/content/rancher/v2.x/en/upgrades/single-node-rollbacks/_index.md b/content/rancher/v2.x/en/upgrades/rollbacks/single-node-rollbacks/_index.md similarity index 96% rename from content/rancher/v2.x/en/upgrades/single-node-rollbacks/_index.md rename to content/rancher/v2.x/en/upgrades/rollbacks/single-node-rollbacks/_index.md index 19526036620..a7f6e85e8ab 100644 --- a/content/rancher/v2.x/en/upgrades/single-node-rollbacks/_index.md +++ b/content/rancher/v2.x/en/upgrades/rollbacks/single-node-rollbacks/_index.md @@ -3,6 +3,7 @@ title: Single Node Rollback weight: 1015 aliases: - /rancher/v2.x/en/backups/rollbacks/single-node-rollbacks + - /rancher/v2.x/en/upgrades/single-node-rollbacks --- Rolling back an unsuccessful Rancher upgrade requires you to diff --git a/content/rancher/v2.x/en/upgrades/upgrades/_index.md b/content/rancher/v2.x/en/upgrades/upgrades/_index.md new file mode 100644 index 00000000000..fd0d80c242b --- /dev/null +++ b/content/rancher/v2.x/en/upgrades/upgrades/_index.md @@ -0,0 +1,10 @@ +--- +title: Upgrades +weight: 1005 +--- +This section contains information about how to upgrade your Rancher server to a newer version. + +- [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/) +- [Upgrading a High Availability Install]({{< baseurl >}}/rancher/v2.x/en/upgrades/upgrades/ha-server-upgrade/) +- [Migrating from a High Availability RKE Add-on Install]({{< baseurl >}}/rancher/v2.x/en/upgrades/upgrades/migrating-from-rke-add-on/) diff --git a/content/rancher/v2.x/en/upgrades/ha-server-upgrade/_index.md b/content/rancher/v2.x/en/upgrades/upgrades/ha-server-upgrade/_index.md similarity index 95% rename from content/rancher/v2.x/en/upgrades/ha-server-upgrade/_index.md rename to content/rancher/v2.x/en/upgrades/upgrades/ha-server-upgrade/_index.md index 0eeb03fd682..0e699a7a9df 100644 --- a/content/rancher/v2.x/en/upgrades/ha-server-upgrade/_index.md +++ b/content/rancher/v2.x/en/upgrades/upgrades/ha-server-upgrade/_index.md @@ -1,6 +1,8 @@ --- -title: High Availability Upgrade +title: High Availability (HA) Upgrade weight: 1020 +aliases: + - /rancher/v2.x/en/upgrades/ha-server-upgrade/ --- To upgrade Rancher 2.x running in a high availability configuration, run an upgrade command that points to your upgrade config file. diff --git a/content/rancher/v2.x/en/installation/ha/migrating-from-rke-all-in-one/_index.md b/content/rancher/v2.x/en/upgrades/upgrades/migrating-from-rke-add-on/_index.md similarity index 94% rename from content/rancher/v2.x/en/installation/ha/migrating-from-rke-all-in-one/_index.md rename to content/rancher/v2.x/en/upgrades/upgrades/migrating-from-rke-add-on/_index.md index a90aabe6a3b..0041f925b23 100644 --- a/content/rancher/v2.x/en/installation/ha/migrating-from-rke-all-in-one/_index.md +++ b/content/rancher/v2.x/en/upgrades/upgrades/migrating-from-rke-add-on/_index.md @@ -1,9 +1,9 @@ --- -title: Migrating from RKE All-In-One Install -weight: 235 +title: Migrating from a HA RKE Add-on Install +weight: 1030 --- -The following instructions will help guide you through migrating from the RKE All-In-One install to managing Rancher with the Helm package manager. +The following instructions will help guide you through migrating from the RKE Add-on install to managing Rancher with the Helm package manager. You will need the to have [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/#install-kubectl) installed and `kube_config_rancher-cluster.yml` credentials file generated by RKE. diff --git a/content/rancher/v2.x/en/upgrades/air-gap-upgrade/_index.md b/content/rancher/v2.x/en/upgrades/upgrades/single-node-air-gap-upgrade/_index.md similarity index 88% rename from content/rancher/v2.x/en/upgrades/air-gap-upgrade/_index.md rename to content/rancher/v2.x/en/upgrades/upgrades/single-node-air-gap-upgrade/_index.md index 097a644b2bb..62684f0a054 100644 --- a/content/rancher/v2.x/en/upgrades/air-gap-upgrade/_index.md +++ b/content/rancher/v2.x/en/upgrades/upgrades/single-node-air-gap-upgrade/_index.md @@ -1,6 +1,8 @@ --- -title: Air Gap Upgrade -weight: 1500 +title: Single Node Air Gap Upgrade +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. diff --git a/content/rancher/v2.x/en/upgrades/single-node-upgrade/_index.md b/content/rancher/v2.x/en/upgrades/upgrades/single-node-upgrade/_index.md similarity index 98% rename from content/rancher/v2.x/en/upgrades/single-node-upgrade/_index.md rename to content/rancher/v2.x/en/upgrades/upgrades/single-node-upgrade/_index.md index f2e7dafd952..6247147afa8 100644 --- a/content/rancher/v2.x/en/upgrades/single-node-upgrade/_index.md +++ b/content/rancher/v2.x/en/upgrades/upgrades/single-node-upgrade/_index.md @@ -1,6 +1,8 @@ --- title: Single Node Upgrade weight: 1010 +aliases: + - /rancher/v2.x/en/upgrades/single-node-upgrade/ --- To upgrade Rancher Server 2.x after a new version is released, create a backup of your server and then run the upgrade command.
    diff --git a/layouts/shortcodes/note_server-tags.html b/layouts/shortcodes/note_server-tags.html index 82aa0aaabcf..6a03c80a3ca 100644 --- a/layouts/shortcodes/note_server-tags.html +++ b/layouts/shortcodes/note_server-tags.html @@ -1,7 +1,7 @@

    Note:

    -

    The rancher/rancher container is hosted on DockerHub. If you don't have access to DockerHub, or you are installing Rancher without an Internet connection, refer to Air Gap Installation.

    +

    The rancher/rancher container is hosted on DockerHub. If you don't have access to DockerHub, or you are installing Rancher without an Internet connection, refer to how to prepare for an Air Gap Installation.

    Note:

    For a list of other Rancher Server tags available, refer to Rancher Server Tags.

    From 8503882438496913e8a493808d9427ce5b8c82bf Mon Sep 17 00:00:00 2001 From: Mark Bishop Date: Tue, 21 Aug 2018 19:24:40 -0700 Subject: [PATCH 10/18] completing draft of how to edit an existing cluster --- .../v2.x/en/cluster-provisioning/_index.md | 2 +- .../k8s-in-rancher/editing-clusters/_index.md | 110 +++++++++++++++--- src/img/rancher/cluster-options.png | Bin 0 -> 93281 bytes src/img/rancher/edit-cluster.png | Bin 0 -> 49103 bytes 4 files changed, 94 insertions(+), 18 deletions(-) create mode 100644 src/img/rancher/cluster-options.png create mode 100644 src/img/rancher/edit-cluster.png diff --git a/content/rancher/v2.x/en/cluster-provisioning/_index.md b/content/rancher/v2.x/en/cluster-provisioning/_index.md index baca10785ed..1f2977aa002 100644 --- a/content/rancher/v2.x/en/cluster-provisioning/_index.md +++ b/content/rancher/v2.x/en/cluster-provisioning/_index.md @@ -18,7 +18,7 @@ A _Kubernetes Cluster_ is a cluster that uses the [Kubernetes container-orchestr Each computing resource in a Kubernetes Cluster is called a _node_. Nodes can be either bare-metal servers or virtual machines. Kubernetes classifies nodes into three types: _etcd_ nodes, _control plane_ nodes, and _worker_ nodes. -#### etcd Nodes +#### etcd Nodes [etcd](https://kubernetes.io/docs/concepts/overview/components/#etcd) nodes run the etcd database. The etcd database component is a key value store used as Kubernetes storage for all cluster data, such as cluster coordination and state management. diff --git a/content/rancher/v2.x/en/k8s-in-rancher/editing-clusters/_index.md b/content/rancher/v2.x/en/k8s-in-rancher/editing-clusters/_index.md index 309e665b75c..b56821f2fda 100644 --- a/content/rancher/v2.x/en/k8s-in-rancher/editing-clusters/_index.md +++ b/content/rancher/v2.x/en/k8s-in-rancher/editing-clusters/_index.md @@ -3,9 +3,24 @@ title: Editing Clusters weight: 3015 --- -## Editing the Cluster Membership +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. -Following cluster creation, you can add users as cluster members so that they can access its resources. +To Edit an Existing Cluster +![Edit Cluster]({{< baseurl >}}/img/rancher/edit-cluster.png) + +The options and settings available for an existing cluster change based on the method that you used to provision the cluster. For example, only clusters provisioned by RKE have **Cluster Options** available for editing. + +The following table lists the options and settings available for each cluster type: + + Cluster Type | Member Roles | Cluster Options | Node Pools +---------|----------|---------|---------| + [RKE-Launched]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/#rancher-launched-kubernetes) | ✓ | ✓ | ✓ | + [Hosted Kubernetes Cluster]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/#hosted-kubernetes-cluster) | ✓ | | | + [Imported]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/#import-existing-cluster) | ✓ | | | + +## Editing Cluster Membership + +Cluster administrators can edit the membership for a cluster, controlling which Rancher users can access the cluster and what features they can use. >**Ping and MS FS Caveats:** > @@ -45,35 +60,96 @@ Following cluster creation, you can add users as cluster members so that they ca - To revoke cluster membership, select the user and click **Delete**. This action deletes membership, not the user. - To modify a user's roles in the cluster, delete them from the cluster, and then re-add them with modified roles. -## Cluster Options +## Upgrading Kubernetes ->**Note:** These cluster options are only available for [clusters that Rancher has launched Kubernetes]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/rke-clusters/). +Following an upgrade to the latest version of Rancher, you can update your existing clusters to use latest version of Kubernetes supported by Rancher. Prior to release, we test Rancher with the latest versions of to ensure compatibility. Any version of Kubernetes listed in the Rancher UI is fully supported. -### Adding/Changing a Pod Security Policy +>**Recommended:** Before upgrading Kubernetes, [backup your cluster]({{< baseurl >}}/rancher/v2.x/en/backups). -If you don't apply a PSP as you create your cluster, you can always add one later. +1. From the **Global** view, find the cluster for which you want to upgrade Kubernetes. Select **Vertical Ellipsis (...) > Edit**. ->**Prerequisite:** ->Create a Pod Security Policy within Rancher. Before you can assign a default PSP to an existing cluster, you must have a PSP available for assignment. For instruction, see [Creating Pod Security Policies]({{< baseurl >}}/rancher/v2.x/en/admin-settings/pod-security-policies/). +1. Expand **Cluster Options**. -1. From the **Global** view, find the cluster that you want to apply your PSP to. Select **Vertical Ellipsis (...) > Edit** for the cluster you want to enable PSPs for. +1. From the **Kubernetes Version** drop-down, choose the version of Kubernetes that you want to use for the cluster. -2. Expand the **Cluster Options** accordion. +1. Click **Save**. + +**Result:** Kubernetes is upgraded for the cluster. + +## Adding a Pod Security Policy + +When your cluster is running pods with security-sensitive configurations, assign it a [pod security policy]({{< baseurl >}}/rancher/v2.x/en/admin-settings/pod-security-policies/), which is a set of rules that monitors the conditions and settings in your pods. If a pod doesn't meet the rules specified in your policy, the policy stops it from running. + +You can assign a pod security policy when you provision a cluster. However, if you need to relax or restrict security for your pods later, you can update the policy while editing your cluster. + +1. From the **Global** view, find the cluster to which you want to apply a pod security policy. Select **Vertical Ellipsis (...) > Edit**. + +2. Expand **Cluster Options**. 3. From **Pod Security Policy Support**, select **Enabled**. - >**Note:** Not all cluster providers support PSPs, so this option may not be available. + >**Note:** This option is only available for clusters provisioned by RKE. - **Step Result:** The **Default Pod Security Policy** drop-down activates. +4. From **Default Pod Security Policy** drop-down, select the policy you want to apply to the cluster. -4. From **Default Pod Security Policy**, select the PSP you want to apply to the cluster. + Rancher ships with [policies]({{< baseurl >}}/rancher/v2.x/en/admin-settings/pod-security-policies/#default-pod-security-policies) of `restricted` and `unrestricted`, although you can [create custom policies]({{< baseurl >}}/rancher/v2.x/en/admin-settings/pod-security-policies/#default-pod-security-policies) as well. 5. Click **Save**. -**Result:** The PSP is applied to the cluster and any projects within the cluster. +**Result:** The pod security policy is applied to the cluster and any projects within the cluster. ->**Note:** Any workloads that are already running in a cluster or project before a PSP is assigned will not be checked if it complies with the PSP. Workloads would need to be cloned or upgraded to see if they pass the PSP. +>**Note:** Workloads already running before assignment of a pod security policy are grandfathered in. Even if they don't meet your pod security policy, workloads running before assignment of the policy continue to run. +> +>To check if a running workload passes your pod security policy, clone or upgrade it. -### Node pools +## Editing Other Cluster Options -Changing the nodes in a RKE cluster +In [clusters launched by RKE]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/rke-clusters/), you can edit any of the remaining options that follow. + +>**Note:** These options are not available for imported clusters or hosted Kubernetes clusters. + +Options for RKE Clusters +![Cluster Options]({{< baseurl >}}/img/rancher/cluster-options.png) + + +Option | Description | +---------|----------| + Kubernetes Version | The version of Kubernetes installed on each cluster node. For more detail, see [Upgrading Kubernetes](#upgrading-kubernetes). | + Network Provider | The [container networking interface]({{< baseurl >}}/rancher/v2.x/en/faq/networking/cni-providers/) that powers networking for your cluster.

    **Note:** You can only choose this option while provisioning your cluster. It cannot be edited later. | + Project Network Isolation | If you're using the Canal network provider, you can choose whether to enable or disable inter-project communication. | + Nginx Ingress | If you want to publish your applications in a high-availability configuration, and you're hosting your nodes with a cloud-provider that doesn't have a native load-balancing feature, enable this option to use Nginx ingress within the cluster. | + Metrics Server Monitoring | Each cloud provider capable of launching a cluster using RKE can collect metrics and monitoring for your cluster nodes. Enable this option to view your node metrics from your cloud provider's portal. | + Pod Security Policy Support | Enables [pod security policies]({{< baseurl >}}/rancher/v2.x/en/admin-settings/pod-security-policies/) for the cluster. After enabling this option, choose a policy using the **Default Pod Security Policy** drop-down. | + Docker version on nodes | Configures whether nodes are allowed to run versions of Docker that Rancher doesn't officially support. If you choose to require a [supported Docker version]({{< baseurl >}}/rancher/v2.x/en/installation/ha-server-install-external-lb/#software), Rancher will stop pods from running on nodes that don't have a supported Docker version installed. | + Docker Root Directory | The directory on your cluster nodes where you've installed Docker. If you install Docker on your nodes to a non-default directory, update this path. | + Default Pod Security Policy | If you enable **Pod Security Policy Support**, use this drop-down to choose the pod security policy that's applied to the cluster. | + Cloud Provider | If you're using a cloud provider to host cluster nodes launched by RKE, enable [this option]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/rke-clusters/options/cloud-providers/) so that you can use the cloud provider's native features. If you want to store persistent data for your cloud-hosted cluster, this option is required. | + +## Managing Node Pools + +In clusters [launched by RKE]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/rke-clusters/), you can: + +- Add new [pools of nodes]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/rke-clusters/node-pools/) to your cluster. The nodes added to the pool are provisioned according to the [node template]({{< baseurl >}}/rancher/v2.x/en/user-settings/node-templates/) that you use. + + - Click **+** and follow the directions on screen to create a new template. + + - You can also reuse existing templates by selecting one from the **Template** drop-down. + +- Redistribute Kubernetes nodes amongst your node pools by making different checkbox selections + +- Scale the number of nodes in a pool up or down (although, if you simply want to maintain your node scale, we recommend using the cluster's [Nodes tab]({{< baseurl >}}/rancher/v2.x/en/k8s-in-rancher/nodes/#nodes-provisioned-by-node-pool) instead.) + +>**Note:** The Node Pools section is not available for imported clusters or clusters hosted by a Kubnernetes provider. + +## Editing Cluster as YAML + +>**Note:** In Rancher v2.0.5 and v2.0.6, the names of services in the Config File (YAML) should contain underscores only: `kube_api` and `kube_controller`. + +Instead of using the Rancher UI to choose Kubernetes options for the cluster, advanced users can create an RKE config file. Using a config file allows you to set any of the [options available]({{< baseurl >}}/rke/v0.1.x/en/config-options/) in an RKE installation. + +- To edit an RKE config file directly from the Rancher UI, click **Edit as YAML**. +- To read from an existing RKE file, click **Read from File**. + +![image]({{< baseurl >}}/img/rancher/cluster-options-yaml.png) + +For an example of RKE config file syntax, see the [RKE documentation]({{< baseurl >}}/rke/v0.1.x/en/example-yamls/). \ No newline at end of file diff --git a/src/img/rancher/cluster-options.png b/src/img/rancher/cluster-options.png new file mode 100644 index 0000000000000000000000000000000000000000..9a79f5ae97bff7fc720d195cb12aa6839d684ef0 GIT binary patch literal 93281 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

    +8Z7=1Da-yJ|gce+^p>lY+i4W{UUb=_aqO`*Bn$ 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 U?;qvYOoV~wro^EUR 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 Date: Tue, 21 Aug 2018 19:44:26 -0700 Subject: [PATCH 11/18] editing typos --- .../k8s-in-rancher/editing-clusters/_index.md | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/content/rancher/v2.x/en/k8s-in-rancher/editing-clusters/_index.md b/content/rancher/v2.x/en/k8s-in-rancher/editing-clusters/_index.md index b56821f2fda..4a90ba4fa88 100644 --- a/content/rancher/v2.x/en/k8s-in-rancher/editing-clusters/_index.md +++ b/content/rancher/v2.x/en/k8s-in-rancher/editing-clusters/_index.md @@ -3,12 +3,12 @@ title: Editing Clusters weight: 3015 --- -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. +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) -The options and settings available for an existing cluster change based on the method that you used to provision the cluster. For example, only clusters provisioned by RKE have **Cluster Options** available for editing. +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. The following table lists the options and settings available for each cluster type: @@ -62,7 +62,7 @@ Cluster administrators can edit the membership for a cluster, controlling which ## Upgrading Kubernetes -Following an upgrade to the latest version of Rancher, you can update your existing clusters to use latest version of Kubernetes supported by Rancher. Prior to release, we test Rancher with the latest versions of to ensure compatibility. Any version of Kubernetes listed in the Rancher UI is fully supported. +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. >**Recommended:** Before upgrading Kubernetes, [backup your cluster]({{< baseurl >}}/rancher/v2.x/en/backups). @@ -74,7 +74,7 @@ Following an upgrade to the latest version of Rancher, you can update your exist 1. Click **Save**. -**Result:** Kubernetes is upgraded for the cluster. +**Result:** Kubernetes begins upgrading for the cluster. During the upgrade, your cluster is unavailable. ## Adding a Pod Security Policy @@ -88,9 +88,9 @@ You can assign a pod security policy when you provision a cluster. However, if y 3. From **Pod Security Policy Support**, select **Enabled**. - >**Note:** This option is only available for clusters provisioned by RKE. + >**Note:** This option is only available for clusters [provisioned by RKE]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/rke-clusters/). -4. From **Default Pod Security Policy** drop-down, select the policy you want to apply to the cluster. +4. From the **Default Pod Security Policy** drop-down, select the policy you want to apply to the cluster. Rancher ships with [policies]({{< baseurl >}}/rancher/v2.x/en/admin-settings/pod-security-policies/#default-pod-security-policies) of `restricted` and `unrestricted`, although you can [create custom policies]({{< baseurl >}}/rancher/v2.x/en/admin-settings/pod-security-policies/#default-pod-security-policies) as well. @@ -116,9 +116,9 @@ Option | Description | ---------|----------| Kubernetes Version | The version of Kubernetes installed on each cluster node. For more detail, see [Upgrading Kubernetes](#upgrading-kubernetes). | Network Provider | The [container networking interface]({{< baseurl >}}/rancher/v2.x/en/faq/networking/cni-providers/) that powers networking for your cluster.

    **Note:** You can only choose this option while provisioning your cluster. It cannot be edited later. | - Project Network Isolation | If you're using the Canal network provider, you can choose whether to enable or disable inter-project communication. | + Project Network Isolation | As of Rancher v2.0.7, if you're using the Canal network provider, you can choose whether to enable or disable inter-project communication. | Nginx Ingress | If you want to publish your applications in a high-availability configuration, and you're hosting your nodes with a cloud-provider that doesn't have a native load-balancing feature, enable this option to use Nginx ingress within the cluster. | - Metrics Server Monitoring | Each cloud provider capable of launching a cluster using RKE can collect metrics and monitoring for your cluster nodes. Enable this option to view your node metrics from your cloud provider's portal. | + Metrics Server Monitoring | Each cloud provider capable of launching a cluster using RKE can collect metrics and monitor for your cluster nodes. Enable this option to view your node metrics from your cloud provider's portal. | Pod Security Policy Support | Enables [pod security policies]({{< baseurl >}}/rancher/v2.x/en/admin-settings/pod-security-policies/) for the cluster. After enabling this option, choose a policy using the **Default Pod Security Policy** drop-down. | Docker version on nodes | Configures whether nodes are allowed to run versions of Docker that Rancher doesn't officially support. If you choose to require a [supported Docker version]({{< baseurl >}}/rancher/v2.x/en/installation/ha-server-install-external-lb/#software), Rancher will stop pods from running on nodes that don't have a supported Docker version installed. | Docker Root Directory | The directory on your cluster nodes where you've installed Docker. If you install Docker on your nodes to a non-default directory, update this path. | @@ -135,11 +135,11 @@ In clusters [launched by RKE]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioni - You can also reuse existing templates by selecting one from the **Template** drop-down. -- Redistribute Kubernetes nodes amongst your node pools by making different checkbox selections +- Redistribute Kubernetes roles amongst your node pools by making different checkbox selections - Scale the number of nodes in a pool up or down (although, if you simply want to maintain your node scale, we recommend using the cluster's [Nodes tab]({{< baseurl >}}/rancher/v2.x/en/k8s-in-rancher/nodes/#nodes-provisioned-by-node-pool) instead.) ->**Note:** The Node Pools section is not available for imported clusters or clusters hosted by a Kubnernetes provider. +>**Note:** The Node Pools section is not available for imported clusters or clusters hosted by a Kubernetes provider. ## Editing Cluster as YAML From 167dbe572189fbbc6322c579185740937115cdd6 Mon Sep 17 00:00:00 2001 From: Mark Bishop Date: Wed, 22 Aug 2018 11:18:46 -0700 Subject: [PATCH 12/18] clairfying that cloud providers is for clusters launched by RKE --- .../v2.x/en/k8s-in-rancher/volumes-and-storage/_index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/rancher/v2.x/en/k8s-in-rancher/volumes-and-storage/_index.md b/content/rancher/v2.x/en/k8s-in-rancher/volumes-and-storage/_index.md index b79fb8e40a7..bbce60fb424 100644 --- a/content/rancher/v2.x/en/k8s-in-rancher/volumes-and-storage/_index.md +++ b/content/rancher/v2.x/en/k8s-in-rancher/volumes-and-storage/_index.md @@ -26,12 +26,12 @@ Storage Classes allow you to create PVCs dynamically without having to create PV ### Storage and Cloud Providers -When you provision persistent storage for a cluster hosted in the cloud, you must host your storage with the same provider that hosts the cluster. For example, if you're hosting your cluster on Amazon EC2, you must host your storage on Amazon EBS. To setup storage for your cloud-hosted cluster, you must complete two tasks: enabling the **Cloud Provider** option for your cluster, and adding storage using the same provider. +When you provision persistent storage for a cluster [launched by RKE]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/rke-clusters), you must host your storage with the same provider that hosts the cluster. For example, if you're hosting your cluster on Amazon EC2, you must host your storage on Amazon EBS. To setup storage for your RKE-launched cluster, you must complete two tasks: enabling the **Cloud Provider** option for your cluster, and adding storage using the same provider. Enabling Cloud Provider Option/Choosing Storage Provider ![Cloud Provider]({{< baseurl >}}/img/rancher/cloud-provider.png) -Before you set up storage for your cloud-hosted cluster, make sure that the **Cloud Provider** option for the cluster is enabled. [Cloud providers]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/rke-clusters/options/cloud-providers/) are modules that allow you to use the provider's features in Rancher (like provisioning persistent storage). +Before you set up storage for a cluster launched by RKE, make sure that the **Cloud Provider** option for the cluster is enabled. [Cloud providers]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/rke-clusters/options/cloud-providers/) are modules that allow you to use the provider's features in Rancher (like provisioning persistent storage). You can turn on the **Cloud Provider** option in one of two contexts: From 663dfd5212d4539781b48a8bae7f844c1521d3f7 Mon Sep 17 00:00:00 2001 From: Mark Bishop Date: Wed, 22 Aug 2018 11:25:29 -0700 Subject: [PATCH 13/18] putting options only availble for RKE clusters under an RKE subheading --- .../en/k8s-in-rancher/editing-clusters/_index.md | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/content/rancher/v2.x/en/k8s-in-rancher/editing-clusters/_index.md b/content/rancher/v2.x/en/k8s-in-rancher/editing-clusters/_index.md index 4a90ba4fa88..0f2e6076a16 100644 --- a/content/rancher/v2.x/en/k8s-in-rancher/editing-clusters/_index.md +++ b/content/rancher/v2.x/en/k8s-in-rancher/editing-clusters/_index.md @@ -60,7 +60,11 @@ Cluster administrators can edit the membership for a cluster, controlling which - To revoke cluster membership, select the user and click **Delete**. This action deletes membership, not the user. - To modify a user's roles in the cluster, delete them from the cluster, and then re-add them with modified roles. -## Upgrading Kubernetes +## Options for RKE Clusters + +When editing clusters, clusters that are [launched using RKE]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/rke-clusters/) feature more options than clusters that are imported or hosted by a Kubernetes provider. The headings that follow document options available only for RKE clusters. + +### Upgrading Kubernetes 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. @@ -76,7 +80,7 @@ Following an upgrade to the latest version of Rancher, you can update your exist **Result:** Kubernetes begins upgrading for the cluster. During the upgrade, your cluster is unavailable. -## Adding a Pod Security Policy +### Adding a Pod Security Policy When your cluster is running pods with security-sensitive configurations, assign it a [pod security policy]({{< baseurl >}}/rancher/v2.x/en/admin-settings/pod-security-policies/), which is a set of rules that monitors the conditions and settings in your pods. If a pod doesn't meet the rules specified in your policy, the policy stops it from running. @@ -102,7 +106,7 @@ You can assign a pod security policy when you provision a cluster. However, if y > >To check if a running workload passes your pod security policy, clone or upgrade it. -## Editing Other Cluster Options +### Editing Other Cluster Options In [clusters launched by RKE]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/rke-clusters/), you can edit any of the remaining options that follow. @@ -124,8 +128,8 @@ Option | Description | Docker Root Directory | The directory on your cluster nodes where you've installed Docker. If you install Docker on your nodes to a non-default directory, update this path. | Default Pod Security Policy | If you enable **Pod Security Policy Support**, use this drop-down to choose the pod security policy that's applied to the cluster. | Cloud Provider | If you're using a cloud provider to host cluster nodes launched by RKE, enable [this option]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/rke-clusters/options/cloud-providers/) so that you can use the cloud provider's native features. If you want to store persistent data for your cloud-hosted cluster, this option is required. | - -## Managing Node Pools +
    +### Managing Node Pools In clusters [launched by RKE]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/rke-clusters/), you can: @@ -141,7 +145,7 @@ In clusters [launched by RKE]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioni >**Note:** The Node Pools section is not available for imported clusters or clusters hosted by a Kubernetes provider. -## Editing Cluster as YAML +### Editing Cluster as YAML >**Note:** In Rancher v2.0.5 and v2.0.6, the names of services in the Config File (YAML) should contain underscores only: `kube_api` and `kube_controller`. From 236f05e0da7cbca9933be0491d87c6c3978e7850 Mon Sep 17 00:00:00 2001 From: Denise Schannon Date: Wed, 22 Aug 2018 13:25:09 -0700 Subject: [PATCH 14/18] removing auth credentials for private registry install --- .../en/installation/ha/helm-rancher/chart-options/_index.md | 2 -- 1 file changed, 2 deletions(-) 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 2b60ca99456..d2978f92f19 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 @@ -58,8 +58,6 @@ Use `kubectl` to create a docker-registry secret in the `cattle-system` namespac ``` kubectl -n cattle-system create secret docker-registry regcred \ --docker-server="reg.example.com:5000" \ ---docker-username= \ ---docker-password= \ --docker-email= ``` From bff82c329b5f7b8f0ea0fc1d7695ab0c491bbcc4 Mon Sep 17 00:00:00 2001 From: Mark Bishop Date: Wed, 22 Aug 2018 14:45:22 -0700 Subject: [PATCH 15/18] moved up yaml topic --- .../k8s-in-rancher/editing-clusters/_index.md | 25 ++++++++++--------- 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/content/rancher/v2.x/en/k8s-in-rancher/editing-clusters/_index.md b/content/rancher/v2.x/en/k8s-in-rancher/editing-clusters/_index.md index 0f2e6076a16..fb4cc33ffa0 100644 --- a/content/rancher/v2.x/en/k8s-in-rancher/editing-clusters/_index.md +++ b/content/rancher/v2.x/en/k8s-in-rancher/editing-clusters/_index.md @@ -129,6 +129,19 @@ Option | Description | Default Pod Security Policy | If you enable **Pod Security Policy Support**, use this drop-down to choose the pod security policy that's applied to the cluster. | Cloud Provider | If you're using a cloud provider to host cluster nodes launched by RKE, enable [this option]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/rke-clusters/options/cloud-providers/) so that you can use the cloud provider's native features. If you want to store persistent data for your cloud-hosted cluster, this option is required. |
    +##### Editing Cluster as YAML + +>**Note:** In Rancher v2.0.5 and v2.0.6, the names of services in the Config File (YAML) should contain underscores only: `kube_api` and `kube_controller`. + +Instead of using the Rancher UI to choose Kubernetes options for the cluster, advanced users can create an RKE config file. Using a config file allows you to set any of the [options available]({{< baseurl >}}/rke/v0.1.x/en/config-options/) in an RKE installation. + +- To edit an RKE config file directly from the Rancher UI, click **Edit as YAML**. +- To read from an existing RKE file, click **Read from File**. + +![image]({{< baseurl >}}/img/rancher/cluster-options-yaml.png) + +For an example of RKE config file syntax, see the [RKE documentation]({{< baseurl >}}/rke/v0.1.x/en/example-yamls/). + ### Managing Node Pools In clusters [launched by RKE]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/rke-clusters/), you can: @@ -145,15 +158,3 @@ In clusters [launched by RKE]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioni >**Note:** The Node Pools section is not available for imported clusters or clusters hosted by a Kubernetes provider. -### Editing Cluster as YAML - ->**Note:** In Rancher v2.0.5 and v2.0.6, the names of services in the Config File (YAML) should contain underscores only: `kube_api` and `kube_controller`. - -Instead of using the Rancher UI to choose Kubernetes options for the cluster, advanced users can create an RKE config file. Using a config file allows you to set any of the [options available]({{< baseurl >}}/rke/v0.1.x/en/config-options/) in an RKE installation. - -- To edit an RKE config file directly from the Rancher UI, click **Edit as YAML**. -- To read from an existing RKE file, click **Read from File**. - -![image]({{< baseurl >}}/img/rancher/cluster-options-yaml.png) - -For an example of RKE config file syntax, see the [RKE documentation]({{< baseurl >}}/rke/v0.1.x/en/example-yamls/). \ No newline at end of file From d49630126883dc1762ef247936e23a579e5b0f8e Mon Sep 17 00:00:00 2001 From: Mark Bishop Date: Wed, 22 Aug 2018 15:06:06 -0700 Subject: [PATCH 16/18] more heading level edits after further discussions with Denise. --- .../v2.x/en/k8s-in-rancher/editing-clusters/_index.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/content/rancher/v2.x/en/k8s-in-rancher/editing-clusters/_index.md b/content/rancher/v2.x/en/k8s-in-rancher/editing-clusters/_index.md index fb4cc33ffa0..dc91999fd9b 100644 --- a/content/rancher/v2.x/en/k8s-in-rancher/editing-clusters/_index.md +++ b/content/rancher/v2.x/en/k8s-in-rancher/editing-clusters/_index.md @@ -60,7 +60,7 @@ Cluster administrators can edit the membership for a cluster, controlling which - To revoke cluster membership, select the user and click **Delete**. This action deletes membership, not the user. - To modify a user's roles in the cluster, delete them from the cluster, and then re-add them with modified roles. -## Options for RKE Clusters +## Cluster Options When editing clusters, clusters that are [launched using RKE]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/rke-clusters/) feature more options than clusters that are imported or hosted by a Kubernetes provider. The headings that follow document options available only for RKE clusters. @@ -129,7 +129,7 @@ Option | Description | Default Pod Security Policy | If you enable **Pod Security Policy Support**, use this drop-down to choose the pod security policy that's applied to the cluster. | Cloud Provider | If you're using a cloud provider to host cluster nodes launched by RKE, enable [this option]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/rke-clusters/options/cloud-providers/) so that you can use the cloud provider's native features. If you want to store persistent data for your cloud-hosted cluster, this option is required. |
    -##### Editing Cluster as YAML +#### Editing Cluster as YAML >**Note:** In Rancher v2.0.5 and v2.0.6, the names of services in the Config File (YAML) should contain underscores only: `kube_api` and `kube_controller`. @@ -142,7 +142,7 @@ Instead of using the Rancher UI to choose Kubernetes options for the cluster, ad For an example of RKE config file syntax, see the [RKE documentation]({{< baseurl >}}/rke/v0.1.x/en/example-yamls/). -### Managing Node Pools +## Managing Node Pools In clusters [launched by RKE]({{< baseurl >}}/rancher/v2.x/en/cluster-provisioning/rke-clusters/), you can: From 854dde3df9ab34b9550ef6178546232bd9b25104 Mon Sep 17 00:00:00 2001 From: Jason Greathouse Date: Wed, 22 Aug 2018 20:03:01 -0500 Subject: [PATCH 17/18] remove references for ha air-gap install --- .../air-gap-installation/_index.md | 4 -- .../en/installation/ha/helm-init/_index.md | 37 ------------------- .../en/installation/ha/helm-rancher/_index.md | 2 +- .../ha/helm-rancher/chart-options/_index.md | 4 +- .../installation/ha/kubernetes-rke/_index.md | 5 +-- 5 files changed, 4 insertions(+), 48 deletions(-) diff --git a/content/rancher/v2.x/en/installation/air-gap-installation/_index.md b/content/rancher/v2.x/en/installation/air-gap-installation/_index.md index 3bcf38cb402..558b5664dc5 100644 --- a/content/rancher/v2.x/en/installation/air-gap-installation/_index.md +++ b/content/rancher/v2.x/en/installation/air-gap-installation/_index.md @@ -71,10 +71,6 @@ Complete installation of Rancher using the instructions in [Single Node Install] /rancher/rancher:latest ``` -### High Availability Install - -Complete the installation of Rancher following the [High Availability instructions]({{< baseurl >}}/rancher/v2.x/en/installation/ha/). - ## Configuring Rancher to use the private registry Rancher needs to be configured to use the private registry as source for the needed images. diff --git a/content/rancher/v2.x/en/installation/ha/helm-init/_index.md b/content/rancher/v2.x/en/installation/ha/helm-init/_index.md index 4ce856866ef..bc447a1320d 100644 --- a/content/rancher/v2.x/en/installation/ha/helm-init/_index.md +++ b/content/rancher/v2.x/en/installation/ha/helm-init/_index.md @@ -18,43 +18,6 @@ kubectl -n kube-system create serviceaccount tiller kubectl create clusterrolebinding tiller --clusterrole cluster-admin --serviceaccount=kube-system:tiller ``` -
    Additional steps for Air Gap/Private Registry -

    - -If you have an Air Gapped network you will need the `tiller` image available in your private registry. - -##### Create registry secret - -Create a registry secret in the `kube-system` namespace for the `tiller` ServiceAccount to use. - -``` -kubectl -n kube-system create secret docker-registry regcred \ ---docker-server="reg.example.com" \ ---docker-username= \ ---docker-password= \ ---docker-email= -``` - -##### Patch the ServiceAccount - -Update the ServiceAccount to include the imagePullSecret. Pods created with this ServiceAccount will automatically have the imagePullSecret added to their manifest. - -``` -kubectl -n kube-system patch serviceaccount tiller -p \ -'{"imagePullSecrets": [{"name\": "regcred"}]}' -``` - -##### `--tiller-image` option - -Add the --tiller-image option to the `helm init` command. - -``` ---tiller-image reg.example.com/kubernetes-helm/tiller:v2.9.1 -``` - -

    -
    - ##### Helm init `helm init` installs the `tiller` service in the `kube-system` namespace on your cluster. 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 8542eb3dd05..f139cc0b560 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 @@ -86,7 +86,7 @@ Now that Rancher is running, see [Adding TLS Secrets]({{< baseurl >}}/rancher/v2 The Rancher chart configuration has many options for customizing the install to suit your specific environment. Here are some common advanced scenarios. * [HTTP Proxy]({{< baseurl >}}/rancher/v2.x/en/installation/ha/helm-rancher/chart-options/#http-proxy) -* [Private Docker Image Registry/Air Gap Network]({{< baseurl >}}/rancher/v2.x/en/installation/ha/helm-rancher/chart-options/#private-or-air-gap-registry) +* [Private Docker Image Registry]({{< baseurl >}}/rancher/v2.x/en/installation/ha/helm-rancher/chart-options/#private-registry) * [TLS Termination on an External Load Balancer]({{< baseurl >}}/rancher/v2.x/en/installation/ha/helm-rancher/chart-options/#external-tls-termination) See the [Chart Options]({{< baseurl >}}/rancher/v2.x/en/installation/ha/helm-rancher/chart-options/) for the full list of options. 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 d2978f92f19..2b338442f90 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 @@ -41,9 +41,9 @@ Add your IP exceptions to the `noProxy` list. Make sure you add the Service clus --set noProxy="127.0.0.1,localhost,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16" ``` -### Private or Air Gap Registry +### Private Registry -You can point to a private registry for an "Air Gap" install. +You can point to a private registry for the rancher image. #### Images diff --git a/content/rancher/v2.x/en/installation/ha/kubernetes-rke/_index.md b/content/rancher/v2.x/en/installation/ha/kubernetes-rke/_index.md index 556760f3000..ab51ecfc554 100644 --- a/content/rancher/v2.x/en/installation/ha/kubernetes-rke/_index.md +++ b/content/rancher/v2.x/en/installation/ha/kubernetes-rke/_index.md @@ -36,10 +36,7 @@ nodes: #### Advanced configurations -RKE has many configuration options for customizing the install to suit your specific environment. Here are some common advanced scenarios. - -* [System Images for Air Gap Network]({{< baseurl >}}/rke/v0.1.x/en/config-options/system-images/) -* [Private Docker Image Registry]({{< baseurl >}}/rke/v0.1.x/en/config-options/private-registries/) +RKE has many configuration options for customizing the install to suit your specific environment. Please see the [RKE Documentation]({{< baseurl >}}/rke/v0.1.x/en/) for the full list of options and capabilities. From 2c11f7001825a68bc43016b6b44033232289f966 Mon Sep 17 00:00:00 2001 From: Denise Schannon Date: Wed, 22 Aug 2018 19:47:31 -0700 Subject: [PATCH 18/18] adding missing aliases --- content/rancher/v2.x/en/faq/cleaning-cluster-nodes/_index.md | 3 +++ content/rancher/v2.x/en/installation/single-node/_index.md | 1 + 2 files changed, 4 insertions(+) diff --git a/content/rancher/v2.x/en/faq/cleaning-cluster-nodes/_index.md b/content/rancher/v2.x/en/faq/cleaning-cluster-nodes/_index.md index a582dfe6a2e..4d9c627eedd 100644 --- a/content/rancher/v2.x/en/faq/cleaning-cluster-nodes/_index.md +++ b/content/rancher/v2.x/en/faq/cleaning-cluster-nodes/_index.md @@ -1,6 +1,9 @@ --- title: Cleaning cluster nodes weight: 375 +aliases: + - /rancher/v2.x/en/installation/removing-rancher/cleaning-cluster-nodes/ + - /rancher/v2.x/en/installation/removing-rancher/ --- When adding a node to a cluster, resources (containers/(virtual) network interfaces) and configuration items (certificates/configuration files) are created. When removing a node from a cluster (if it is in `Active` state), those resources will be automatically cleaned and the only action needed is to restart the node. When a node has become unreachable and the automatic cleanup process cannot be used, we describe the steps that need to be executed before the node can be added to a cluster again. 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 e4e920cea7f..dbad2d3808e 100644 --- a/content/rancher/v2.x/en/installation/single-node/_index.md +++ b/content/rancher/v2.x/en/installation/single-node/_index.md @@ -2,6 +2,7 @@ title: Single Node Install weight: 250 aliases: + - /rancher/v2.x/en/installation/single-node-install/ - /rancher/v2.x/en/installation/custom-ca-root-certificate/ --- For development environments, we recommend installing Rancher by running a single Docker container. In this installation scenario, you'll install Docker on a single Linux host, and then install Rancher on your host using a single Docker container.