2016-11-25 01:51:05 +00:00
|
|
|
# Ingress examples
|
|
|
|
|
2017-01-28 01:51:00 +00:00
|
|
|
This directory contains a catalog of examples on how to run, configure and
|
|
|
|
scale Ingress. Please review the [prerequisities](prerequisites.md) before
|
|
|
|
trying them.
|
2016-11-25 01:51:05 +00:00
|
|
|
|
|
|
|
## Basic cross platform
|
|
|
|
|
|
|
|
Name | Description | Platform | Complexity Level
|
|
|
|
-----| ----------- | ---------- | ----------------
|
2016-12-11 17:14:53 +00:00
|
|
|
Deployment | basic deployment of controllers | * | Beginner
|
2016-11-25 01:51:05 +00:00
|
|
|
TLS termination | terminate TLS at the ingress controller | * | Beginner
|
|
|
|
Name based virtual hosting | `Host` header routing | * | Beginner
|
|
|
|
Path routing | URL regex routing | * | Beginner
|
|
|
|
Health checking | configure/optimize health checks | * | Intermediate
|
|
|
|
Pipeline | pipeline cloud and nginx | * | Advanced
|
|
|
|
|
|
|
|
## TLS
|
|
|
|
|
|
|
|
Name | Description | Platform | Complexity Level
|
|
|
|
-----| ----------- | ---------- | ----------------
|
|
|
|
LetsEncrypt | acquire certs via ACME protocol | * | Intermediate
|
|
|
|
Intermediate certs | terminate TLS with intermediate certs | * | Advanced
|
|
|
|
Client certs | client cert authentication | nginx | Advanced
|
|
|
|
Re-encrypty | terminate, apply routing rules, re-encrypt | nginx | Advanced
|
|
|
|
|
|
|
|
## Scaling
|
|
|
|
|
|
|
|
Name | Description | Platform | Complexity Level
|
|
|
|
-----| ----------- | ---------- | ----------------
|
|
|
|
Daemonset | run multiple controllers in a daemonset | nginx | Intermediate
|
|
|
|
Deployment | run multiple controllers as a deployment | nginx | Intermediate
|
|
|
|
Multi-zone | bridge different zones in a single cluster | gce | Intermediate
|
|
|
|
Static-ip | a single ingress gets a single static ip | * | Intermediate
|
|
|
|
Geo-routing | route to geographically closest endpoint | nginx | Advanced
|
|
|
|
Multi-cluster | bridge Kubernetes clusters with Ingress | gce | Advanced
|
|
|
|
|
|
|
|
## Algorithms
|
|
|
|
|
|
|
|
Name | Description | Platform | Complexity Level
|
|
|
|
-----| ----------- | ---------- | ----------------
|
|
|
|
Session stickyness | route requests consistently to the same endpoint | nginx | Advanced
|
|
|
|
Least connections | route requests based on least connections | on-perm | Advanced
|
|
|
|
Weights | route requrests to backends based on weights | nginx | Advanced
|
|
|
|
|
|
|
|
## Routing
|
|
|
|
|
|
|
|
Name | Description | Platform | Complexity Level
|
|
|
|
-----| ----------- | ---------- | ----------------
|
|
|
|
Redirects | send a 301 re-direct | nginx | Intermediate
|
|
|
|
URL-rewriting | re-write path | nginx | Intermediate
|
|
|
|
SNI + HTTP | HTTP routing based on SNI hostname | nginx | Advanced
|
|
|
|
SNI + TCP | TLS routing based on SNI hostname | nginx | Advanced
|
|
|
|
|
|
|
|
## Auth
|
|
|
|
|
|
|
|
Name | Description | Platform | Complexity Level
|
|
|
|
-----| ----------- | ---------- | ----------------
|
|
|
|
Basic auth | password protect your website | nginx | Intermediate
|
|
|
|
External auth plugin | defer to an external auth service | nginx | Intermediate
|
|
|
|
|
|
|
|
## Protocols
|
|
|
|
|
|
|
|
Name | Description | Platform | Complexity Level
|
|
|
|
-----| ----------- | ---------- | ----------------
|
|
|
|
TCP | TCP loadbalancing | nginx | Intermediate
|
|
|
|
UDP | UDP loadbalancing | nginx | Intermediate
|
|
|
|
Websockets | websockets loadbalancing | nginx | Intermediate
|
|
|
|
HTTP/2 | HTTP/2 loadbalancing | * | Intermediate
|
|
|
|
Proxy protocol | leverage the proxy protocol for source IP | nginx | Advanced
|
|
|
|
|
|
|
|
|