diff --git a/content/rancher/installation/load-balancing-config/_index.md b/content/rancher/installation/load-balancing-config/_index.md index 0b1dac4de7a..73848e841f9 100644 --- a/content/rancher/installation/load-balancing-config/_index.md +++ b/content/rancher/installation/load-balancing-config/_index.md @@ -1,59 +1,8 @@ --- -title: Load Balancing Configuration -layout: single-docs +title: Load Balancer Configuration weight: 300 --- # External Load Balancer Configuration Following {{< product >}} installation, you have the option of configuring an external load balancer to direct cluster traffic. - -## Option 1: Amazon ELB (Recommended) - -Amazon Elastic Load Balancer (ELB) is the load balancer most tested by {{< product >}}. You can set one up at Amazon Web Services (AWS). You have the option of using either an Application Load Balancer (ALB) or a Network Load Balancer (NLB). - -## Create Target Groups - -Regardless of your choice, ALB or ELB, your first load balancer configuration step is to create two target groups: one for HTTP, the other for HTTPS. - -The document below will guide you through this process. Use the data in the tables below to complete the procedure. - -[Amazon Documentation: Create a Target Group](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-target-group.html) - -### Target Group 1 (HTTP) - -Option | Setting -----------------------------|------------------------------------ -Target Group Name | `rancher-ha-http-80` -Protocol | For ALB: `HTTP`
For NLB: `TCP` -Port | `80` -Target type | `instance` -VPC | Choose your VPC -Protocol
(Health Check) | For ALB: `HTTPS`
For NLB: `TCP` - - -### Target Group 2 (HTTPS) - -Option | Setting -----------------------------|------------------------------------ -Target Group Name | `rancher-ha-http-443` -Protocol | For ALB: `HTTP`
For NLB: `TCP` -Port | `443` -Target type | `instance` -VPC | Choose your VPC -Protocol
(Health Check) | For ALB: `HTTPS`
For NLB: `TCP` - - -## Register Targets - -Next, add your Kubernetes nodes assigned either the `controlplane` or `worker` role to _both_ of your target groups. - -[Amazon Documentation: Register Targets with Your Target Group](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/target-group-register-targets.html) - -## Option 3: NGINX - -NGINX is a popular application platform that can be used as a load balancer. - -## Option 2: HAProxy - -Hey, guess what. You can use HAProxy too. diff --git a/content/rancher/installation/load-balancing-config/configuring-amazon-alb.md b/content/rancher/installation/load-balancing-config/configuring-amazon-alb.md index 52e1b3cde83..2e29e1f8d49 100644 --- a/content/rancher/installation/load-balancing-config/configuring-amazon-alb.md +++ b/content/rancher/installation/load-balancing-config/configuring-amazon-alb.md @@ -1,8 +1,8 @@ --- -title: Configuring Amazon ALB -weight: +title: Option 1—Amazon ALB +weight: 305 --- -# Configuring Amazon ALB +# Option 1-Amazon ALB ## Objectives @@ -123,7 +123,7 @@ The load balancer is created, but you still need to add your second target group 2. From the grid of load balancers, select your load balancer. -3. Select the **Listeners** tab. Select the `HTTPS: 43` **Listener ID**. Then click **Edit**. +3. Select the **Listeners** tab. Select the `HTTPS: 443` **Listener ID**. Then click **Edit**. 4. From the **Default target group** drop-down, select `rancher-https-443`. Click **Save**. diff --git a/content/rancher/installation/load-balancing-config/configuring-amazon-nlb.md b/content/rancher/installation/load-balancing-config/configuring-amazon-nlb.md index 6d660c0374a..7bb85a5ef22 100644 --- a/content/rancher/installation/load-balancing-config/configuring-amazon-nlb.md +++ b/content/rancher/installation/load-balancing-config/configuring-amazon-nlb.md @@ -1,8 +1,8 @@ --- -title: Configuring Amazon NLB -weight: +title: Option 2—Amazon NLB +weight: 310 --- -# Configuring Amazon NLB +# Option 2-Amazon NLB ## Objectives @@ -27,17 +27,19 @@ Configuring an Amazon NLB is a multistage process. We've broken it down into mul ## Create Target Groups -Your first NLB configuration step is to create two target groups: one for HTTP, the other for HTTPS. +Your first NLB configuration step is to create two target groups for the TCP protocol: one on port 80, the other on port 443. + +Log into the [Amazon AWS Console](https://console.aws.amazon.com/ec2/) to get started. The document below will guide you through this process. Use the data in the tables below to complete the procedure. [Amazon Documentation: Create a Target Group](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-target-group.html) -### Target Group 1 (HTTP) +### Target Group 1 (TCP) Option | Setting ----------------------------|------------------------------------ -Target Group Name | `rancher-http-80` +Target Group Name | `rancher-tcp-80` Protocol | `TCP` Port | `80` Target type | `instance` @@ -45,11 +47,11 @@ VPC | Choose your VPC Protocol
(Health Check) | `TCP` -### Target Group 2 (HTTPS) +### Target Group 2 (TCP) Option | Setting ----------------------------|------------------------------------ -Target Group Name | `rancher-http-443` +Target Group Name | `rancher-tcp-443` Protocol | `TCP` Port | `443` Target type | `instance` @@ -64,38 +66,57 @@ Next, add your Kubernetes nodes assigned either the `controlplane` or `worker` r ### Create Your NLB -1. From your web browser, navigate to the [Amazon Elastic Load Balancing Console](https://aws.amazon.com/elasticloadbalancing/). +1. From your web browser, navigate to the [Amazon EC2 Console](https://console.aws.amazon.com/ec2/). -2. Click **Get Started with Elastic Load Balancing** and sign in. +2. From the navigation pane, choose **LOAD BALANCING** > **Load Balancers**. -3. Choose **Application Load Balancer**. +3. Click **Create Load Balancer**. -4. Complete the **Step 1: Configure Load Balancer** form. +4. Choose **Network Load Balancer**. + +5. Complete the **Step 1: Configure Load Balancer** form. - **Basic Configuration** - - Name: `rancher-ha-http-https` + - Name: `rancher-http-https` - Scheme: `internet-facing` - IP address type: `ipv4` - **Listeners** Add the **Load Balancer Protocols** and **Load Balancer Ports** below. - - `HTTP`: `80` - - `HTTPS`: `443` + - `TCP`: `80` + - `TCP`: `443` - **Availability Zones** - - Select Your **VPC** and **Availability Zone**. + - Select Your **VPC** and **Availability Zones**. -5. Complete the **Step 2: Configure Security Settings** form. +6. Complete the **Step 2: Configure Routing** form. - >**Installing in a High-Availability Configuration?** - > - If you are using self-signed certificates, the certificate and key must be signed by the same certificate authority that signed `cattle-keys-server`. - > - If you are using SSL passthrough, you must use a certificate signed by a public certificate authority. + 1. From the **Target Group** drop-down, choose **Existing target group**. -6. Complete the **Step 3: Configure Security Groups** form. + 2. Add target group `rancher-tcp-80`. -7. Complete the **Step 4: Configure Routing** form. Add one of your [target groups](#create-target-groups) using the form. + >**Note:** The wizard lets you add only one group. You will add your second group in the next procedure, [Add Your Second Target Group](#add-your-second-target-group). - >**User Action:** You must add _both_ target groups to your routing configuration, but Amazon's NLB Wizard limits you to add a single target group. +7. Complete **Step 3: Register Targets**. Since you registered your targets earlier, all you have to do it 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 ALB, click **Close**. ### Add Your Second Target Group + +The load balancer is created, but you still need to add your second target group. Use the Amazon EC2 Console and add the second target group manually. + +1. From the navigation pane, choose **LOAD BALANCING** > **Load Balancers**. + +2. From the grid of load balancers, select your load balancer. + +3. Select the **Listeners** tab. Select the `TCP: 443` **Listener ID**. Then click **Edit**. + +4. From the **Default target group** drop-down, select `rancher-tcp-443`. Click **Save**. + +5. Review the **Listeners** tab to make sure the protocols for the **Listener ID**s and **Rules** match. The following **Listener ID**s should be matched to the following **Rules**: + + - `TCP: 80`: `rancher-tcp-80` + - `TCP:443`: `rancher-tcp-443` diff --git a/content/rancher/installation/load-balancing-config/configuring-haproxy.md b/content/rancher/installation/load-balancing-config/configuring-haproxy.md index e69de29bb2d..3a9d16a4978 100644 --- a/content/rancher/installation/load-balancing-config/configuring-haproxy.md +++ b/content/rancher/installation/load-balancing-config/configuring-haproxy.md @@ -0,0 +1,7 @@ +--- +title: Option 4—HAProxy +weight: +--- +# Option 4-HAProxy + +Yeah, you can use HAProxy too. diff --git a/content/rancher/installation/load-balancing-config/configuring-nginx.md b/content/rancher/installation/load-balancing-config/configuring-nginx.md index 7a476f7f3e4..bfe7ad193b2 100644 --- a/content/rancher/installation/load-balancing-config/configuring-nginx.md +++ b/content/rancher/installation/load-balancing-config/configuring-nginx.md @@ -1,5 +1,7 @@ --- -title: Configuring NGINX -weight: +title: Option 3—NGINX +weight: 315 --- -# Configuring NGINX +# Option 3-NGINX + +NGINX is a popular application platform that can be used as a load balancer.