You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Aug 22, 2025. It is now read-only.
Copy file name to clipboardExpand all lines: docs/http/http-installation-guide.md
+16-11Lines changed: 16 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -16,8 +16,7 @@
16
16
### This Solution from NGINX provides Enterprise class features which address common challenges with networking, traffic management, and High Availability for On-Premises Kubernetes Clusters.
17
17
18
18
1. Provides a `replacement Loadbalancer Service.` The Loadbalancer Service is a key component provided by most Cloud Providers. However, when running a K8s Cluster On Premises, the `Loadbalancer Service is not available.`
19
-
This Solution provides a replacement, using an NGINX Server, and a new K8s Controller from NGINX. These two components work together to watch the `NodePort Service` in the cluster, and immediately update the NGINX LB Server when changes occur.
20
-
>No static `ExternalIP` needed in your loadbalancer.yaml Manifests!
19
+
This Solution provides a replacement, using an NGINX Server, and a new K8s Controller from NGINX. These two components work together to watch the `nginx-ingress Service` in the cluster, and immediately update the NGINX LB Server when changes occur.
21
20
2. Provides `MultiCluster Load Balancing`, traffic steering, health checks, TLS termination, advanced LB algorithms, and enhanced metrics.
22
21
3. Provides dynamic, ratio-based Load Balancing for Multiple Clusters. This allows for advanced traffic steering, and operation efficiency with no Reloads or downtime.
23
22
- MultiCluster Active/Active Load Balancing
@@ -55,7 +54,7 @@ This Solution provides a replacement, using an NGINX Server, and a new K8s Contr
55
54
- Demo application, this install guide uses the NGINX Cafe example, found here: https://github.com/nginxinc/kubernetes-ingress/tree/main/examples/ingress-resources/complete-example
56
55
- A bare metal Linux server or VM for the external NGINX LB Server, connected to a network external to the cluster. Two of these will be required if High Availability is needed, as shown here.
57
56
- NGINX Plus software loaded on the LB Server(s). This install guide follows the instructions for installing NGINX Plus on Centos 7, located here: https://docs.nginx.com/nginx/admin-guide/installing-nginx/installing-nginx-plus/
58
-
- The NGINX Kubernetes Loadbalancer (NKL) Controller, new software for this Solution.
57
+
- The NGINX Kubernetes Loadbalancer (NKL) Controller, new software from Nginx for this Solution.
59
58
60
59
<br/>
61
60
@@ -67,7 +66,7 @@ This Solution provides a replacement, using an NGINX Server, and a new K8s Contr
67
66
68
67
<br/>
69
68
70
-
A standard K8s cluster is all that is required, two or more Clusters if you want the `Active/Active MultiCluster Load Balancing Solution` using HTTP Split Clients. There must be enough resources available to run the NGINX Ingress Controller, and the NGINX Kubernetes Loadbalancer Controller, and test application like the Cafe Demo. You must have administrative access to be able to create the namespace, services, and deployments for this Solution. This Solution was tested on Kubernetes version 1.23. Most recent versions => v1.21 should work just fine.
69
+
A standard K8s cluster is all that is required, two or more Clusters if you want the `Active/Active MultiCluster Load Balancing Solution` using HTTP Split Clients. There must be enough resources available to run the NGINX Ingress Controller, and the NGINX Kubernetes Loadbalancer Controller, and test application like the Cafe Demo. You must have administrative access to be able to create the namespace, services, and deployments for this Solution. This Solution was tested on Kubernetes version 1.23.
This is not part of the actual Solution, but it is useful to have a well-known application running in the cluster, as a known-good target for test commands. The example provided here is used by the Solution to demonstrate proper traffic flows.
102
101
103
-
Note: If you choose a different Application to test with, `the NGINX health checks provided here will likely NOT work,` and will need to be modified to work correctly.
102
+
Note: If you choose a different Application to test with, `the NGINX configurations and health checks provided here may not work,` and will need to be modified to work correctly.
104
103
105
104
- Use the provided Cafe Demo manifests in the docs/cafe-demo folder:
106
105
@@ -114,7 +113,7 @@ Note: If you choose a different Application to test with, `the NGINX health chec
- The Cafe Demo Docker image used here is an upgraded one, with simple graphics and additional Request and Response variables added.
116
+
- The Cafe Demo Docker image used here is an upgraded one, with simple graphics and additional TCP/IP and HTTP variables added.
118
117
119
118
https://hub.docker.com/r/nginxinc/ingress-demo
120
119
@@ -133,7 +132,7 @@ Note: If you choose a different Application to test with, `the NGINX health chec
133
132
134
133
<br/>
135
134
136
-
This is any standard Linux OS system, based on the Linux Distro and Technical Specs required for NGINX Plus, which can be found here: https://docs.nginx.com/nginx/technical-specs/
135
+
This can be any standard Linux OS system, based on the Linux Distro and Technical Specs required for NGINX Plus, which can be found here: https://docs.nginx.com/nginx/technical-specs/
137
136
138
137
This Solution followed the `Installation of NGINX Plus on Centos/Redhat/Oracle` steps for installing NGINX Plus.
139
138
@@ -289,11 +288,17 @@ stream {
289
288
290
289
```
291
290
292
-
- Configure NGINX for HTTP processing, load balancing, and MultiCluster split clients for this Solution.
291
+
- Configure NGINX for HTTP traffic processing, load balancing, and MultiCluster Split Clients for this Solution.
293
292
294
-
`Notice that this Solution only uses port 443 and terminates TLS.`
293
+
`Notice that this example Solution only uses port 443 and terminates TLS.`
295
294
296
-
Place the `clusters.conf` file in the /etc/nginx/conf.d folder, and reload NGINX. Notice the match block and health check directives are for the cafe.example.com Demo application from NGINX.
295
+
If you need a self-signed TLS cert/key, use openssl, and place both files in the /etc/ssl/nginx folder.
- Place the `clusters.conf` file in the /etc/nginx/conf.d folder, and reload NGINX. Notice the match block and health check directives are for the cafe.example.com Demo application from NGINX.
297
302
298
303
```bash
299
304
cat /etc/nginx/conf.d/clusters.conf
@@ -474,7 +479,7 @@ server {
474
479
475
480
```
476
481
477
-
- High Availability: If you have 2 or more NGINX Plus LB Servers, you can use Zone Sync to synchronize the KeyValue SplitRatio data between the NGINX Servers automatically. Use the `zonesync.conf` example file provided, change the IP addresses to match your NGINX LB Servers. Place this file in /etc/nginx/stream folder, and reload NGINX. Note: This example does not provide any security for the Zone Sync traffic, secure as necessary with TLS or IP allowlist.
482
+
- High Availability: If you have 2 or more NGINX Plus LB Servers, you can use Zone Sync to synchronize the KeyValue SplitRatio data between the NGINX Servers automatically. Use the `zonesync.conf` example file provided, change the IP addresses to match your NGINX LB Servers. Place this file in /etc/nginx/stream folder on each LB Server, and reload NGINX. Note: This example does not provide any security for the Zone Sync traffic, secure as necessary with TLS or IP allowlist.
0 commit comments