Skip to content
This repository was archived by the owner on Aug 22, 2025. It is now read-only.

Commit 3b995d8

Browse files
committed
update install guides
1 parent d6c54f8 commit 3b995d8

File tree

6 files changed

+34
-24
lines changed

6 files changed

+34
-24
lines changed

docs/cafe-demo/cafe-virtualserver.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#Example virtual server with routes for Cafe Demo
22
#For NKL Solution, redirects required for LB Server health checks
3-
#Chris Akker, Jan 2023
3+
#Chris Akker, Apr 2023
44
#
55
apiVersion: k8s.nginx.org/v1
66
kind: VirtualServer

docs/http/http-installation-guide.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ https://www.nginx.com/free-trial-request/
151151

152152
<br/>
153153

154-
## 4. Configure Nginx Plus for MultiCluster Load Balancing
154+
## 4. Configure NGINX Plus for MultiCluster Load Balancing
155155

156156
<br/>
157157

@@ -654,8 +654,8 @@ kubectl apply -f loadbalancer-cluster1.yaml
654654
![NKL Cluster1 Loadbalancer](..//media/nkl-cluster1-add-loadbalancer.png)
655655

656656
Legend:
657-
- Orange is the LoadBalancer Service `External-IP`, which are your Nginx LB Server IP(s).
658-
- Blue is the `NodePort mapping` created by K8s. The new NKL Controller updates the Nginx LB Server upstreams with these, shown on the dashboard.
657+
- Orange is the LoadBalancer Service `External-IP`, which are your NGINX LB Server IP(s).
658+
- Blue is the `NodePort mapping` created by K8s. The new NKL Controller updates the NGINX LB Server upstreams with these, shown on the dashboard.
659659

660660
<br/>
661661

@@ -734,7 +734,7 @@ kubectl get svc nginx-ingress -n nginx-ingress
734734

735735
<br/>
736736

737-
## 7. Testing NKL Nginx Kubernetes Loadbalancer
737+
## 7. Testing NKL NGINX Kubernetes Loadbalancer
738738

739739
<br/>
740740

@@ -832,7 +832,7 @@ If you plan to implement and test the MultiCluster Load Balancing Solution, repe
832832

833833
In this section, you will generate some HTTP load on the NGINX LB Server, and watch as it sends traffic to both Clusters. Then you will `dynamically change the HTTP Split ratio`, and watch NGINX send different traffic levels to each cluster.
834834

835-
In these test examples, the Nginx LB Servers and IPs in the hosts file are:
835+
In these test examples, the NGINX LB Servers and IPs in the hosts file are:
836836

837837
```bash
838838
cat /etc/hosts
@@ -884,7 +884,7 @@ curl -iX PATCH -d '{"cafe.example.com":10}' http://nginxlb:9000/api/8/http/keyva
884884

885885
![NGINXLB Clusters 10-90](../media/nkl-clusters-10.png)
886886

887-
**Important NOTE:** The first time, an `HTTP POST` is required to ADD a new record to the KeyValue store. Once the record exists, use an `HTTP PATCH` method to update an existing record, which will change the ratio value in KeyVal memory, dynamically. Nginx sees this change, and applies it with no reloads or restarts of NGINX required!
887+
**Important NOTE:** The first time, an `HTTP POST` is required to ADD a new record to the KeyValue store. Once the record exists, use an `HTTP PATCH` method to update an existing record, which will change the ratio value in KeyVal memory, dynamically. NGINX sees this change, and applies it with no reloads or restarts of NGINX required!
888888

889889
Try a few more ratios, see how it works. If you review the `clusters.conf` file, you will discover what Ratios are provided for you. You can edit these to suit your needs. Also notice the Map directive has a "default" set to "50". So if the Value is blank or set incorrectly, it will Split at a default of 50:50 ratio.
890890

docs/http/loadbalancer-cluster1.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# Spec -ports name must be in the format of
33
# nkl-<upstream-block-name>
44
# externalIPs are set to Nginx LB Servers
5-
# Chris Akker, Jan 2023
5+
# Chris Akker, Apr 2023
66
#
77
apiVersion: v1
88
kind: Service

docs/http/loadbalancer-cluster2.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# Spec -ports name must be in the format of
33
# nkl-<upstream-block-name>
44
# externalIPs are set to Nginx LB Servers
5-
# Chris Akker, Jan 2023
5+
# Chris Akker, Apr 2023
66
#
77
apiVersion: v1
88
kind: Service
258 KB
Loading

docs/tcp/tcp-installation-guide.md

Lines changed: 25 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ https://www.nginx.com/free-trial-request/
140140

141141
<br/>
142142

143-
## 4. Configure Nginx Plus for TCP Load Balancing
143+
## 4. Configure NGINX Plus for TCP Load Balancing
144144

145145
### This is the configuration required for the NGINX LB Server, external to the cluster. It must be configured for the following:
146146

@@ -460,33 +460,35 @@ spec:
460460

461461
```
462462

463-
Apply the NKL Compatible LoadBalancer `loadbalancer-nkl.yaml` Service Manifest:
463+
- Apply the NKL Compatible LoadBalancer `loadbalancer-nkl.yaml` Service Manifest:
464464

465465
```bash
466466
kubectl apply -f loadbalancer-nkl.yaml
467467
```
468468

469-
![NKL Stream Loadbalancer](..//media/nkl-stream-add-loadbalancer.png)
470-
471-
Legend:
472-
- Orange is the LoadBalancer Service `External-IP`, which are your Nginx LB Server IP(s).
473-
- Blue is the `NodePort mapping` created by K8s. The new NKL Controller updates the Nginx LB Server upstreams with these, shown on the dashboard.
474-
475-
<br/>
476-
477-
Verify the LoadBalancer is now defined:
469+
- Verify the LoadBalancer is now defined:
478470

479471
```bash
480472
kubectl get svc nginx-ingress -n nginx-ingress
481473
```
482474

483-
The nginx-ingress Service, `ExternalIPs` should match your external Nginx LB Server IP(s):
475+
The nginx-ingress Service, `ExternalIPs` should match your external NGINX LB Server IP(s):
476+
477+
![NKL Stream Loadbalancer](..//media/nkl-stream-add-loadbalancer.png)
478+
479+
Legend:
480+
- Orange is the TYPE LoadBalancer Service
481+
- Red is the LoadBalancer Service `EXTERNAL-IP`, which are your NGINX LB Server IP(s); 10.1.1.4 and 10.1.1.5 in this example.
482+
- Blue is the `K8s NodePort mapping` for Port 80.
483+
- Indigo is the `K8s NodePort mapping` for Port 443.
484+
- Green is the NKL Log messages, creating the upstreams to match.
485+
- The new NKL Controller updates the NGINX LB Server upstreams with these, shown on the dashboard.
484486

485-
![NKL LoadBalancer](../media/nkl-stream-loadbalancer.png)
487+
No Reload of NGINX needed! The NKL Controller uses the Plus API to dynamically add/delete/modify the upstreams as nginx-ingress Service changes.
486488

487489
<br/>
488490

489-
### Alternatively, if you want a Service Type NodePort Service
491+
### Alternatively, if you want a Service Type NodePort
490492

491493
Review the new `nodeport-nkl.yaml` Service defintion file:
492494

@@ -540,7 +542,15 @@ kubectl get svc nginx-ingress -n nginx-ingress
540542

541543
<br/>
542544

543-
## 7. Testing NKL Nginx Kubernetes Loadbalancer
545+
### Deep Dive Explanation
546+
547+
<br/>
548+
549+
The name of the Service port is matched to the name of the upstream block in NGINX. The Plus API, follows a defined format, so the url for the API call must be correct, in order to update the correct NGINX upstream block. There are 2 types of upstreams in NGINX. `Stream` upstreams are used in the stream context, for TCP/UDP load balancing configurations. `Http` upstreams are used in the http context, for HTTP/HTTPS configurations. (See details for HTTP in the http-installation-guide.md, here: [HTTP Guide](../http/http-installation-guide.md)
550+
551+
<br/>
552+
553+
## 7. Testing NKL NGINX Kubernetes Loadbalancer
544554

545555
<br/>
546556

0 commit comments

Comments
 (0)