mirror of
https://github.com/fnproject/fn.git
synced 2022-10-28 21:29:17 +03:00
Merge pull request #98 from iron-io/caddy-lb-example
Caddy load balancer example
This commit is contained in:
5
examples/caddy-lb/Caddyfile
Normal file
5
examples/caddy-lb/Caddyfile
Normal file
@@ -0,0 +1,5 @@
|
||||
:9000 {
|
||||
proxy / {$LB_HOST01} {$LB_HOST02} {$LB_HOST03} {
|
||||
policy least_conn
|
||||
}
|
||||
}
|
||||
58
examples/caddy-lb/README.md
Normal file
58
examples/caddy-lb/README.md
Normal file
@@ -0,0 +1,58 @@
|
||||
# IronFunctions Load Balance example using Caddy
|
||||
|
||||
Simple example of IronFunctions load balancer using Caddy Server
|
||||
|
||||
|
||||
## Run IronFunctions
|
||||
|
||||
Start the IronFunctions instances
|
||||
|
||||
Ref: https://github.com/iron-io/functions/blob/master/README.md#start-the-ironfunctions-api
|
||||
|
||||
|
||||
## Configure environment variable
|
||||
|
||||
Pass the host and port of IronFunctions instances in environment variables,
|
||||
this example uses three IronFunctions instances.
|
||||
|
||||
```sh
|
||||
export LB_HOST01="172.17.0.1:8080"
|
||||
export LB_HOST02="172.17.0.1:8081"
|
||||
export LB_HOST03="172.17.0.1:8082"
|
||||
```
|
||||
|
||||
Note: Caddy doesn't support multiple hosts in only one variable.
|
||||
|
||||
|
||||
## Run Caddy
|
||||
|
||||
```sh
|
||||
docker run --rm \
|
||||
-v $PWD/Caddyfile:/etc/Caddyfile \
|
||||
-e LB_HOST01=$LB_HOST01 -e LB_HOST02=$LB_HOST02 -e LB_HOST03=$LB_HOST03 \
|
||||
-p 9000:9000 \
|
||||
abiosoft/caddy
|
||||
```
|
||||
|
||||
## Execute a function
|
||||
|
||||
Follow the Quick-Start steps replacing the example hosts by the Caddy host (localhost:9000)
|
||||
|
||||
https://github.com/iron-io/functions/blob/master/README.md#quick-start
|
||||
|
||||
|
||||
## Docker Compose example
|
||||
|
||||
This is an additional example.
|
||||
|
||||
```sh
|
||||
docker-compose up
|
||||
```
|
||||
|
||||
|
||||
## Caddy Reference:
|
||||
|
||||
* https://github.com/mholt/caddy
|
||||
* https://caddyserver.com/
|
||||
|
||||
|
||||
23
examples/caddy-lb/docker-compose.yml
Normal file
23
examples/caddy-lb/docker-compose.yml
Normal file
@@ -0,0 +1,23 @@
|
||||
ironfunctions01:
|
||||
restart: always
|
||||
image: iron/functions
|
||||
ironfunctions02:
|
||||
restart: always
|
||||
image: iron/functions
|
||||
ironfunctions03:
|
||||
restart: always
|
||||
image: iron/functions
|
||||
caddy:
|
||||
image: abiosoft/caddy
|
||||
volumes:
|
||||
- ./Caddyfile:/etc/Caddyfile
|
||||
ports:
|
||||
- "9000:9000"
|
||||
environment:
|
||||
- LB_HOST01=ironfunctions01:8080
|
||||
- LB_HOST02=ironfunctions02:8080
|
||||
- LB_HOST03=ironfunctions03:8080
|
||||
links:
|
||||
- ironfunctions01
|
||||
- ironfunctions02
|
||||
- ironfunctions03
|
||||
Reference in New Issue
Block a user