Move miscellaneous tidbits from README to miscellaneous.md and other files
This commit is contained in:
parent
0aa9d2e89f
commit
d1479a2d21
7 changed files with 133 additions and 152 deletions
7
docs/user-guide/customizing-nginx.md
Normal file
7
docs/user-guide/customizing-nginx.md
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
# Customizing NGINX
|
||||
|
||||
There are three ways to customize NGINX:
|
||||
|
||||
1. [ConfigMap](./configmap.md): using a Configmap to set global configurations in NGINX.
|
||||
2. [Annotations](./annotations.md): use this if you want a specific configuration for a particular Ingress rule.
|
||||
3. [Custom template](./custom-template.md): when more specific settings are required, like [open_file_cache](http://nginx.org/en/./http/ngx_http_core_module.html#open_file_cache), adjust [listen](http://nginx.org/en/./http/ngx_http_core_module.html#listen) options as `rcvbuf` or when is not possible to change the configuration through the ConfigMap.
|
||||
52
docs/user-guide/multiple-ingress.md
Normal file
52
docs/user-guide/multiple-ingress.md
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
# Multiple ingress controllers
|
||||
|
||||
## Running multiple ingress controllers
|
||||
|
||||
If you're running multiple ingress controllers, or running on a cloud provider that natively handles ingress, you need to specify the annotation `kubernetes.io/ingress.class: "nginx"` in all ingresses that you would like this controller to claim. This mechanism also provides users the ability to run _multiple_ NGINX ingress controllers (e.g. one which serves public traffic, one which serves "internal" traffic). When utilizing this functionality the option `--ingress-class` should be changed to a value unique for the cluster within the definition of the replication controller. Here is a partial example:
|
||||
|
||||
```
|
||||
spec:
|
||||
template:
|
||||
spec:
|
||||
containers:
|
||||
- name: nginx-ingress-internal-controller
|
||||
args:
|
||||
- /nginx-ingress-controller
|
||||
- '--default-backend-service=ingress/nginx-ingress-default-backend'
|
||||
- '--election-id=ingress-controller-leader-internal'
|
||||
- '--ingress-class=nginx-internal'
|
||||
- '--configmap=ingress/nginx-ingress-internal-controller'
|
||||
```
|
||||
|
||||
|
||||
## Annotation ingress.class
|
||||
|
||||
If you have multiple Ingress controllers in a single cluster, you can pick one by specifying the `ingress.class`
|
||||
annotation, eg creating an Ingress with an annotation like
|
||||
|
||||
```yaml
|
||||
metadata:
|
||||
name: foo
|
||||
annotations:
|
||||
kubernetes.io/ingress.class: "gce"
|
||||
```
|
||||
|
||||
will target the GCE controller, forcing the nginx controller to ignore it, while an annotation like
|
||||
|
||||
```yaml
|
||||
metadata:
|
||||
name: foo
|
||||
annotations:
|
||||
kubernetes.io/ingress.class: "nginx"
|
||||
```
|
||||
|
||||
will target the nginx controller, forcing the GCE controller to ignore it.
|
||||
|
||||
__Note__: Deploying multiple ingress controller and not specifying the annotation will result in both controllers fighting to satisfy the Ingress.
|
||||
|
||||
## Disabling NGINX ingress controller
|
||||
|
||||
Setting the annotation `kubernetes.io/ingress.class` to any other value which does not match a valid ingress class will force the NGINX Ingress controller to ignore your Ingress. If you are only running a single NGINX ingress controller, this can be achieved by setting this to any value except "nginx" or an empty string.
|
||||
|
||||
Do this if you wish to use one of the other Ingress controllers at the same time as the NGINX controller.
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue