add a example for haproxy_custom_configuration
This commit is contained in:
parent
ed6987e716
commit
45e0cf1788
3 changed files with 86 additions and 0 deletions
|
@ -0,0 +1,39 @@
|
|||
# Customize the HAProxy configuration
|
||||
|
||||
This example use a [ConfigMap](https://kubernetes.io/docs/user-guide/configmap/) to customize the HAProxy configuration.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
This document has the following prerequisites:
|
||||
|
||||
* Deploy a service named `ingress-default-backend` to be used as default backend service
|
||||
* Create a [TLS secret](/examples/PREREQUISITES.md#tls-certificates) named `tls-secret` to be used as default TLS certificate
|
||||
|
||||
As mentioned in the deployment instructions, you MUST turn down any existing
|
||||
ingress controllers before running HAProxy Ingress.
|
||||
|
||||
## Customize the HAProxy configuration
|
||||
|
||||
Using a [ConfigMap](https://kubernetes.io/docs/user-guide/configmap/) is possible to customize the HAProxy configuration
|
||||
|
||||
For example, if we want to change the timeouts we need to create a ConfigMap:
|
||||
|
||||
```
|
||||
$ cat haproxy-load-balancer-conf.yaml
|
||||
apiVersion: v1
|
||||
data:
|
||||
timeout http-request: "10s"
|
||||
timeout connect: "10s"
|
||||
timeout check: "10s"
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: haproxy-load-balancer-conf
|
||||
```
|
||||
|
||||
```
|
||||
$ kubectl create -f haproxy-load-balancer-conf.yaml
|
||||
```
|
||||
|
||||
Please check the example `haproxy-custom-configuration.yaml`
|
||||
|
||||
If the Configmap it is updated, HAProxy will be reloaded with the new configuration.
|
|
@ -0,0 +1,39 @@
|
|||
apiVersion: extensions/v1beta1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
labels:
|
||||
run: haproxy-ingress
|
||||
name: haproxy-ingress
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
run: haproxy-ingress
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
run: haproxy-ingress
|
||||
spec:
|
||||
containers:
|
||||
- name: haproxy-ingress
|
||||
image: quay.io/jcmoraisjr/haproxy-ingress
|
||||
args:
|
||||
- --default-backend-service=default/ingress-default-backend
|
||||
- --default-ssl-certificate=default/tls-secret
|
||||
- --configmap=haproxy-custom-configuration
|
||||
ports:
|
||||
- name: http
|
||||
containerPort: 80
|
||||
- name: https
|
||||
containerPort: 443
|
||||
- name: stat
|
||||
containerPort: 1936
|
||||
env:
|
||||
- name: POD_NAME
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: metadata.name
|
||||
- name: POD_NAMESPACE
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: metadata.namespace
|
|
@ -0,0 +1,8 @@
|
|||
apiVersion: v1
|
||||
data:
|
||||
timeout http-request: "10s"
|
||||
timeout connect: "10s"
|
||||
timeout check: "10s"
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: haproxy-custom-configuration
|
Loading…
Reference in a new issue