commit
2e8c1152ba
17 changed files with 48 additions and 40 deletions
|
@ -14,6 +14,9 @@
|
||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
|
set -o errexit
|
||||||
|
set -o pipefail
|
||||||
|
|
||||||
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||||
|
|
||||||
source $DIR/common.sh
|
source $DIR/common.sh
|
||||||
|
|
|
@ -14,6 +14,9 @@
|
||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
|
set -o errexit
|
||||||
|
set -o pipefail
|
||||||
|
|
||||||
if ! [ -z $DEBUG ]; then
|
if ! [ -z $DEBUG ]; then
|
||||||
set -x
|
set -x
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -14,6 +14,9 @@
|
||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
|
set -o errexit
|
||||||
|
set -o pipefail
|
||||||
|
|
||||||
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||||
|
|
||||||
if [ "$COMPONENT" == "docs" ]; then
|
if [ "$COMPONENT" == "docs" ]; then
|
||||||
|
|
|
@ -15,6 +15,7 @@
|
||||||
FROM alpine:3.7
|
FROM alpine:3.7
|
||||||
|
|
||||||
RUN apk update && apk add --no-cache \
|
RUN apk update && apk add --no-cache \
|
||||||
|
bash \
|
||||||
git \
|
git \
|
||||||
git-fast-import \
|
git-fast-import \
|
||||||
openssh \
|
openssh \
|
||||||
|
@ -34,6 +35,6 @@ WORKDIR /docs
|
||||||
|
|
||||||
EXPOSE 3000
|
EXPOSE 3000
|
||||||
|
|
||||||
ENTRYPOINT ["mkdocs"]
|
COPY entrypoint.sh /
|
||||||
|
|
||||||
CMD ["serve", "--dev-addr=0.0.0.0:3000", "--livereload"]
|
ENTRYPOINT ["/entrypoint.sh"]
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#!/usr/bin/env bash
|
#!/bin/bash
|
||||||
|
|
||||||
# Copyright 2017 The Kubernetes Authors.
|
# Copyright 2018 The Kubernetes Authors.
|
||||||
#
|
#
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
# you may not use this file except in compliance with the License.
|
# you may not use this file except in compliance with the License.
|
||||||
|
@ -14,17 +14,15 @@
|
||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
set -o errexit
|
||||||
|
set -o pipefail
|
||||||
|
|
||||||
source $DIR/common.sh
|
CMD=$1
|
||||||
|
|
||||||
IMAGE=$(make -s -C $DIR/../images/nginx image-info)
|
if [ "$CMD" == "build" ];
|
||||||
|
then
|
||||||
if docker_tag_exists "kubernetes-ingress-controller/nginx" $(echo $IMAGE | jq .tag) "$ARCH"; then
|
mkdocs build
|
||||||
echo "Image already published"
|
exit 0;
|
||||||
exit 0
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "building nginx-$ARCH image..."
|
mkdocs serve --dev-addr=0.0.0.0:3000 --livereload
|
||||||
make -C $DIR/../images/nginx sub-container-$ARCH
|
|
||||||
make -C $DIR/../images/nginx sub-push-$ARCH
|
|
|
@ -1,8 +1,8 @@
|
||||||
# Upgrading
|
# Upgrading
|
||||||
|
|
||||||
!!! important
|
!!! important
|
||||||
No matter the method you use for upgrading, _if you use template overrides,
|
No matter the method you use for upgrading, _if you use template overrides,
|
||||||
make sure your templates are compatible with the new version of ingress-nginx_.
|
make sure your templates are compatible with the new version of ingress-nginx_.
|
||||||
|
|
||||||
## Without Helm
|
## Without Helm
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# External authentication
|
# External Basic Authentication
|
||||||
|
|
||||||
### Example 1:
|
### Example 1:
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# External Authentication
|
# External OAUTH Authentication
|
||||||
|
|
||||||
### Overview
|
### Overview
|
||||||
|
|
||||||
|
@ -6,7 +6,7 @@ The `auth-url` and `auth-signin` annotations allow you to use an external
|
||||||
authentication provider to protect your Ingress resources.
|
authentication provider to protect your Ingress resources.
|
||||||
|
|
||||||
!!! Important
|
!!! Important
|
||||||
this annotation requires `nginx-ingress-controller v0.9.0` or greater.)
|
This annotation requires `nginx-ingress-controller v0.9.0` or greater.)
|
||||||
|
|
||||||
### Key Detail
|
### Key Detail
|
||||||
|
|
||||||
|
|
|
@ -11,9 +11,9 @@ kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/mast
|
||||||
```
|
```
|
||||||
|
|
||||||
!!! Important
|
!!! Important
|
||||||
**DO NOT RUN THIS IN PRODUCTION**
|
**DO NOT RUN THIS IN PRODUCTION**
|
||||||
|
|
||||||
This deployment uses `emptyDir` in the `volumeMount` which means the contents of the registry will be deleted when the pod dies.
|
This deployment uses `emptyDir` in the `volumeMount` which means the contents of the registry will be deleted when the pod dies.
|
||||||
|
|
||||||
The next required step is creation of the ingress rules. To do this we have two options: with and without TLS
|
The next required step is creation of the ingress rules. To do this we have two options: with and without TLS
|
||||||
|
|
||||||
|
@ -26,9 +26,9 @@ wget https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/docs/exam
|
||||||
```
|
```
|
||||||
|
|
||||||
!!! Important
|
!!! Important
|
||||||
Running a docker registry without TLS requires we configure our local docker daemon with the insecure registry flag.
|
Running a docker registry without TLS requires we configure our local docker daemon with the insecure registry flag.
|
||||||
|
|
||||||
Please check [deploy a plain http registry](https://docs.docker.com/registry/insecure/#deploy-a-plain-http-registry)
|
Please check [deploy a plain http registry](https://docs.docker.com/registry/insecure/#deploy-a-plain-http-registry)
|
||||||
|
|
||||||
### With TLS
|
### With TLS
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@ metadata:
|
||||||
annotations:
|
annotations:
|
||||||
kubernetes.io/ingress.class: "nginx"
|
kubernetes.io/ingress.class: "nginx"
|
||||||
nginx.ingress.kubernetes.io/ssl-redirect: "true"
|
nginx.ingress.kubernetes.io/ssl-redirect: "true"
|
||||||
nginx.ingress.kubernetes.io/grpc-backend: "true"
|
nginx.ingress.kubernetes.io/backend-protocol: "GRPC"
|
||||||
name: fortune-ingress
|
name: fortune-ingress
|
||||||
namespace: default
|
namespace: default
|
||||||
spec:
|
spec:
|
||||||
|
|
|
@ -256,7 +256,7 @@ More information:
|
||||||
|
|
||||||
## Kube-Config
|
## Kube-Config
|
||||||
|
|
||||||
If you want to use a kubeconfig file for authentication, follow the [deploy procedure](../docs/deploy/index.md) and
|
If you want to use a kubeconfig file for authentication, follow the [deploy procedure](deploy/index.md) and
|
||||||
add the flag `--kubeconfig=/etc/kubernetes/kubeconfig.yaml` to the args section of the deployment.
|
add the flag `--kubeconfig=/etc/kubernetes/kubeconfig.yaml` to the args section of the deployment.
|
||||||
|
|
||||||
## Using GDB with Nginx
|
## Using GDB with Nginx
|
||||||
|
|
|
@ -18,8 +18,8 @@ example, if the value of the `Accept` header send by the client was `application
|
||||||
could decide to return the error payload as a JSON document instead of HTML.
|
could decide to return the error payload as a JSON document instead of HTML.
|
||||||
|
|
||||||
!!! Important
|
!!! Important
|
||||||
The custom backend is expected to return the correct HTTP status code instead of `200`. NGINX does not change
|
The custom backend is expected to return the correct HTTP status code instead of `200`.
|
||||||
the response from the custom default backend.
|
NGINX does not change the response from the custom default backend.
|
||||||
|
|
||||||
An example of such custom backend is available inside the source repository at [images/custom-error-pages][img-custom-error-pages].
|
An example of such custom backend is available inside the source repository at [images/custom-error-pages][img-custom-error-pages].
|
||||||
|
|
||||||
|
|
|
@ -27,7 +27,7 @@ The default value of this settings is `60 seconds`.
|
||||||
A more adequate value to support websockets is a value higher than one hour (`3600`).
|
A more adequate value to support websockets is a value higher than one hour (`3600`).
|
||||||
|
|
||||||
!!! Important
|
!!! Important
|
||||||
If the NGINX ingress controller is exposed with a service `type=LoadBalancer` make sure the protocol between the loadbalancer and NGINX is TCP.
|
If the NGINX ingress controller is exposed with a service `type=LoadBalancer` make sure the protocol between the loadbalancer and NGINX is TCP.
|
||||||
|
|
||||||
## Optimizing TLS Time To First Byte (TTTFB)
|
## Optimizing TLS Time To First Byte (TTTFB)
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,8 @@
|
||||||
|
|
||||||
This tutorial will show you how to install [Prometheus](https://prometheus.io/) and [Grafana](https://grafana.com/) for scraping the metrics of the NGINX Ingress controller.
|
This tutorial will show you how to install [Prometheus](https://prometheus.io/) and [Grafana](https://grafana.com/) for scraping the metrics of the NGINX Ingress controller.
|
||||||
|
|
||||||
!!! Important: this example uses `emptyDir` volumes for Prometheus and Grafana. This means once the pod gets terminated you will lose all the data.
|
!!! important
|
||||||
|
This example uses `emptyDir` volumes for Prometheus and Grafana. This means once the pod gets terminated you will lose all the data.
|
||||||
|
|
||||||
## Before You Begin
|
## Before You Begin
|
||||||
|
|
||||||
|
|
|
@ -49,10 +49,9 @@ spec:
|
||||||
- '--configmap=ingress/nginx-ingress-internal-controller'
|
- '--configmap=ingress/nginx-ingress-internal-controller'
|
||||||
```
|
```
|
||||||
|
|
||||||
## !!! important
|
!!! important
|
||||||
|
Deploying multiple Ingress controllers, of different types (e.g., `ingress-nginx` & `gce`), and not specifying a class annotation will
|
||||||
|
result in both or all controllers fighting to satisfy the Ingress, and all of them racing to update Ingress status field in confusing ways.
|
||||||
|
|
||||||
Deploying multiple Ingress controllers, of different types (e.g., `ingress-nginx` & `gce`), and not specifying a class annotation will
|
When running multiple ingress-nginx controllers, it will only process an unset class annotation if one of the controllers uses the default
|
||||||
result in both or all controllers fighting to satisfy the Ingress, and all of them racing to update Ingress status field in confusing ways.
|
`--ingress-class` value (see `IsValid` method in `internal/ingress/annotations/class/main.go`), otherwise the class annotation become required.
|
||||||
|
|
||||||
When running multiple ingress-nginx controllers, it will only process an unset class annotation if one of the controllers uses the default
|
|
||||||
`--ingress-class` value (see `IsValid` method in `internal/ingress/annotations/class/main.go`), otherwise the class annotation become required.
|
|
||||||
|
|
|
@ -15,11 +15,11 @@ data:
|
||||||
```
|
```
|
||||||
|
|
||||||
!!! Important
|
!!! Important
|
||||||
The key and values in a ConfigMap can only be strings.
|
The key and values in a ConfigMap can only be strings.
|
||||||
This means that we want a value with boolean values we need to quote the values, like "true" or "false".
|
This means that we want a value with boolean values we need to quote the values, like "true" or "false".
|
||||||
Same for numbers, like "100".
|
Same for numbers, like "100".
|
||||||
|
|
||||||
"Slice" types (defined below as `[]string` or `[]int` can be provided as a comma-delimited string.
|
"Slice" types (defined below as `[]string` or `[]int` can be provided as a comma-delimited string.
|
||||||
|
|
||||||
## Configuration options
|
## Configuration options
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue