What’s this

F5 Nginx Plus Ingress Controller.

Installation

Image Building

F5 Nginx Plus Ingress Controller need build from source code.

A valid license is necessary for image buliding, apply a Nginx plus envaluation license to start image building.

Check the license
openssl x509 -in nginx-repo.crt -noout -text

Installing

1.9.0

1. Deploy Nginx Plus IC
kubectl apply -f nginx-plus-1.9.0.yaml
2. Deploy Nginx Plus IC with NAP
kubectl apply -f nginx-plus-nap-1.9.0.yaml
3. Deploy Test App
kubectl apply -f test.yml
4. Test
$ kubectl get svc nginx-ingress-test -n nginx-ingress --no-headers
nginx-ingress-test   NodePort   10.100.246.1   <none>   80:31803/TCP,443:32164/TCP,8898:30702/TCP   25m

$ curl --resolve nginxtest.example.com:31803:192.168.5.30 http://nginxtest.example.com:31803/coffee
Server address: 10.244.2.8:8080
Server name: coffee-688fbd68f8-dvwh6
Date: 13/Nov/2020:04:45:42 +0000
URI: /coffee
Request ID: 1adf9cb667016bfcb9e2ff02da1a9e68

1.8.1

1. Get Code
git clone https://github.com/nginxinc/kubernetes-ingress/
cd kubernetes-ingress/deployments
git checkout v1.8.1
2. Configure RBAC
kubectl apply -f common/ns-and-sa.yaml
kubectl apply -f rbac/rbac.yaml
kubectl apply -f rbac/ap-rbac.yaml
3. Create Common Resources
kubectl apply -f common/default-server-secret.yaml
kubectl apply -f common/nginx-config.yaml

kubectl apply -f common/vs-definition.yaml
kubectl apply -f common/vsr-definition.yaml
kubectl apply -f common/ts-definition.yaml
kubectl apply -f common/policy-definition.yaml

kubectl apply -f common/gc-definition.yaml
kubectl apply -f common/global-configuration.yaml

kubectl apply -f common/ap-logconf-definition.yaml
kubectl apply -f common/ap-policy-definition.yaml
4. Deploy the Ingress Controller
kubectl apply -f deployment/nginx-plus-ingress.yaml
Note
Modify the deployment/nginx-plus-ingress.yaml file to change the image name is necessary before execute deploying.
5. Verify the installation
kubectl get pods -n nginx-ingress

Exposing to F5

F5 Virtual Server provide a public IP used as unified enterence for Nginx Plus Ingress Controller.

1. Setup F5 CIS

Refer to 链接 to set up F5 CIS.

2. Expose to F5

kubectl apply -f expose-to-f5.yaml

3. Verify the installation

From the F5 UI, check the Virtual Server and referenced Pool member:

nginx plus f5 diagram.png

  • 192.168.8.30:80 - is the public IP and Port used to access the Nginx Plus ingress controller

  • 10.244.2.29:80 - is the container IP and Port exposed by Nginx Plus ingress controller Pod.

Coffee Tea Example

This section will deploy the Coffee Tea Example to the environment installed above.

1. Get Code
git clone https://github.com/cloudadc/container-ingress.git
cd container-ingress/nginx-plus-ingress/coffee-tea/
2. Set up
kubectl apply -f cafe.yaml
kubectl create -f cafe-ingress.yaml
3. Test
$ curl http://cafe.example.com/coffee
Server address: 10.244.2.221:8080
Server name: coffee-67c6f7c5fd-thlc8
Date: 11/Jul/2020:17:31:26 +0000
URI: /coffee
Request ID: 49b7f783e298387eaeed05f8e493b583

$ curl http://cafe.example.com/tea
Server address: 10.244.1.5:8080
Server name: tea-7df475c6-nbdrs
Date: 11/Jul/2020:17:31:33 +0000
URI: /tea
Request ID: d8344e70dfe8627d67a136c701851573

results matching ""

    No results matching ""