API Workloads on K8s
DEMO USING NGINX PLUS –
KUBERNETES INGRESS CONTROLLER
Rajesh Bavanantham
NGINX Solutions Architect, ANZ
| ©2019 F52 CONFIDENTIAL
NGINX & K8S news
• https://cilium.io/blog/2020/08/
19/google-chooses-cilium-for-
gke-networking
• https://www.docker.com/pricin
g/retentionfaq
• https://techcrunch.com/2020/0
8/13/mirantis-acquires-lens-
an-ide-for-kubernetes/
| ©2019 F53 CONFIDENTIAL
Some interesting K8S
tools to watch…
• https://github.com/madhuakul
a/kubernetes-goat
• https://lifebelt.dev/
• https://github.com/awslabs/cd
k8s
| ©2019 F54
Aspect or Feature kubernetes/ingress-nginx
nginxinc/kubernetes-ingress
with NGINX
nginxinc/kubernetes-ingress
with NGINX Plus
Fundamental
Authors Kubernetes community NGINX Inc and community NGINX Inc and community
NGINX version
Custom NGINX build that includes
several third-party modules
NGINX official mainline build NGINX Plus
Commercial support N/A N/A Included
Load balancing configuration via the Ingress resource
Merging Ingress rules with the same host Supported
Supported via Mergeable
Ingresses
Supported via Mergeable
Ingresses
HTTP load balancing extensions -
Annotations
See the supported annotations See the supported annotations See the supported annotations
HTTP load balancing extensions --
ConfigMap
See the supported ConfigMap keys
See the supported ConfigMap
keys
See the supported ConfigMap
keys
TCP/UDP Supported via a ConfigMap Supported via custom resources
Supported via custom
resources
Websocket Supported Supported via an annotation Supported via an annotation
TCP SSL Passthrough Supported via a ConfigMap Supported via custom resources
Supported via custom
resources
JWT validation Not supported Not supported Supported
Session persistence Supported via a third-party module Not supported Supported
Canary testing (by header, cookie, weight) Supported via annotations Supported via custom resources
Supported via custom
resources
Configuration templates *1 See the template See the templates See the templates
Difference between NGINX Ingress Controllers
| ©2019 F55
Aspect or Feature kubernetes/ingress-nginx
nginxinc/kubernetes-ingress
with NGINX
nginxinc/kubernetes-ingress
with NGINX Plus
Load balancing configuration via Custom Resources
HTTP load balancing Not supported
See VirtualServer and
VirtualServerRoute resources
See VirtualServer and
VirtualServerRoute resources
TCP/UDP load balancing Not supported See TransportServer resource See TransportServer resource
TCP SSL Passthrough load balancing Not supported See TransportServer resource See TransportServer resource
Deployment
Command-line arguments *2 See the arguments See the arguments See the arguments
TLS certificate and key for the default
server
Required as a command-line
argument/ auto-generated
Required as a command-line
argument
Required as a command-line
argument
Helm chart Supported Supported Supported
Operator Not supported Supported Supported
Operational
Reporting the IP address(es) of the Ingress
controller into Ingress resources
Supported Supported Supported
Extended Status Supported via a third-party module Not supported Supported
Prometheus Integration Supported Supported Supported
Dynamic reconfiguration of endpoints (no
configuration reloading)
Supported with a third-party Lua
module
Not supported Supported
Difference between NGINX Ingress Controllers (continued)
| ©2019 F56
Ingress
Controller
@
the edge of
K8S
| ©2019 F57
Ingress
Controller
@
the edge
and
namespace
| ©2019 F58
The Dem(o)i god
CONFIDENTIAL

API Workloads on Kubernetes | Show Code Part 4

  • 1.
    API Workloads onK8s DEMO USING NGINX PLUS – KUBERNETES INGRESS CONTROLLER Rajesh Bavanantham NGINX Solutions Architect, ANZ
  • 2.
    | ©2019 F52CONFIDENTIAL NGINX & K8S news • https://cilium.io/blog/2020/08/ 19/google-chooses-cilium-for- gke-networking • https://www.docker.com/pricin g/retentionfaq • https://techcrunch.com/2020/0 8/13/mirantis-acquires-lens- an-ide-for-kubernetes/
  • 3.
    | ©2019 F53CONFIDENTIAL Some interesting K8S tools to watch… • https://github.com/madhuakul a/kubernetes-goat • https://lifebelt.dev/ • https://github.com/awslabs/cd k8s
  • 4.
    | ©2019 F54 Aspector Feature kubernetes/ingress-nginx nginxinc/kubernetes-ingress with NGINX nginxinc/kubernetes-ingress with NGINX Plus Fundamental Authors Kubernetes community NGINX Inc and community NGINX Inc and community NGINX version Custom NGINX build that includes several third-party modules NGINX official mainline build NGINX Plus Commercial support N/A N/A Included Load balancing configuration via the Ingress resource Merging Ingress rules with the same host Supported Supported via Mergeable Ingresses Supported via Mergeable Ingresses HTTP load balancing extensions - Annotations See the supported annotations See the supported annotations See the supported annotations HTTP load balancing extensions -- ConfigMap See the supported ConfigMap keys See the supported ConfigMap keys See the supported ConfigMap keys TCP/UDP Supported via a ConfigMap Supported via custom resources Supported via custom resources Websocket Supported Supported via an annotation Supported via an annotation TCP SSL Passthrough Supported via a ConfigMap Supported via custom resources Supported via custom resources JWT validation Not supported Not supported Supported Session persistence Supported via a third-party module Not supported Supported Canary testing (by header, cookie, weight) Supported via annotations Supported via custom resources Supported via custom resources Configuration templates *1 See the template See the templates See the templates Difference between NGINX Ingress Controllers
  • 5.
    | ©2019 F55 Aspector Feature kubernetes/ingress-nginx nginxinc/kubernetes-ingress with NGINX nginxinc/kubernetes-ingress with NGINX Plus Load balancing configuration via Custom Resources HTTP load balancing Not supported See VirtualServer and VirtualServerRoute resources See VirtualServer and VirtualServerRoute resources TCP/UDP load balancing Not supported See TransportServer resource See TransportServer resource TCP SSL Passthrough load balancing Not supported See TransportServer resource See TransportServer resource Deployment Command-line arguments *2 See the arguments See the arguments See the arguments TLS certificate and key for the default server Required as a command-line argument/ auto-generated Required as a command-line argument Required as a command-line argument Helm chart Supported Supported Supported Operator Not supported Supported Supported Operational Reporting the IP address(es) of the Ingress controller into Ingress resources Supported Supported Supported Extended Status Supported via a third-party module Not supported Supported Prometheus Integration Supported Supported Supported Dynamic reconfiguration of endpoints (no configuration reloading) Supported with a third-party Lua module Not supported Supported Difference between NGINX Ingress Controllers (continued)
  • 6.
  • 7.
  • 8.
    | ©2019 F58 TheDem(o)i god CONFIDENTIAL