Update images for all architectures for Swarm

Updates armhf, arm64 and x86_64 - queue-worker moves to multi-
arch image. gateway and basic-auth are updated, along with NATS
which has been done in faas-netes for some time now.

Closes: #1539 (partial PR)
Fixes #1537

Signed-off-by: Alex Ellis (OpenFaaS Ltd) <alexellis2@gmail.com>
This commit is contained in:
Alex Ellis (OpenFaaS Ltd) 2020-06-15 19:32:19 +01:00 committed by Alex Ellis
parent 64e340e4bd
commit d0ebb19fd9
4 changed files with 77 additions and 74 deletions

View File

@ -50,6 +50,12 @@
* Other diagnostic information / logs from [troubleshooting guide](https://docs.openfaas.com/deployment/troubleshooting)
If using Swarm, run the following and include the output:
```
curl -sLS https://raw.githubusercontent.com/moby/moby/master/contrib/check-config.sh | bash
```
## Next steps
You may [join Slack](https://docs.openfaas.com/community) for community support.

View File

@ -3,22 +3,22 @@ services:
gateway:
ports:
- 8080:8080
image: openfaas/gateway:0.18.13-arm64
image: openfaas/gateway:0.18.17-arm64
networks:
- functions
environment:
functions_provider_url: "http://faas-swarm:8080/"
read_timeout: "5m5s" # Maximum time to read HTTP request
write_timeout: "5m5s" # Maximum time to write HTTP response
upstream_timeout: "5m" # Maximum duration of upstream function call - should be more than read_timeout and write_timeout
dnsrr: "true" # Temporarily use dnsrr in place of VIP while issue persists on PWD
read_timeout: "5m5s" # Maximum time to read HTTP request
write_timeout: "5m5s" # Maximum time to write HTTP response
upstream_timeout: "5m" # Maximum duration of upstream function call - should be more than read_timeout and write_timeout
dnsrr: "true" # Temporarily use dnsrr in place of VIP while issue persists on PWD
faas_nats_address: "nats"
faas_nats_port: 4222
direct_functions: "true" # Functions are invoked directly over the overlay network
direct_functions: "true" # Functions are invoked directly over the overlay network
direct_functions_suffix: ""
basic_auth: "${BASIC_AUTH:-false}"
secret_mount_path: "/run/secrets/"
scale_from_zero: "true" # Enable if you want functions to scale from 0/0 to min replica count upon invoke
scale_from_zero: "true" # Enable if you want functions to scale from 0/0 to min replica count upon invoke
max_idle_conns: 1024
max_idle_conns_per_host: 1024
auth_proxy_url: "${AUTH_URL:-}"
@ -36,14 +36,14 @@ services:
window: 380s
placement:
constraints:
- 'node.platform.os == linux'
- "node.platform.os == linux"
secrets:
- basic-auth-user
- basic-auth-password
# auth service provide basic-auth plugin for system APIs
basic-auth-plugin:
image: openfaas/basic-auth-plugin:0.18.13-arm64
image: openfaas/basic-auth-plugin:0.18.17-arm64
networks:
- functions
environment:
@ -69,7 +69,6 @@ services:
- basic-auth-user
- basic-auth-password
# Docker Swarm provider
faas-swarm:
volumes:
@ -78,18 +77,16 @@ services:
networks:
- functions
environment:
read_timeout: "5m5s" # set both here, and on your functions
write_timeout: "5m5s" # set both here, and on your functions
read_timeout: "5m5s" # set both here, and on your functions
write_timeout: "5m5s" # set both here, and on your functions
DOCKER_API_VERSION: "1.30"
basic_auth: "${BASIC_AUTH:-false}"
secret_mount_path: "/run/secrets/"
gateway_invoke: "true"
faas_gateway_address: "gateway"
deploy:
placement:
constraints:
- 'node.role == manager'
- 'node.platform.os == linux'
- "node.role == manager"
- "node.platform.os == linux"
resources:
# limits: # Enable if you want to limit memory usage
# memory: 100M
@ -105,7 +102,7 @@ services:
- basic-auth-password
nats:
image: nats-streaming:0.11.2
image: nats-streaming:0.17.0
# Uncomment the following port mappings if you wish to expose the
# NATS client and/or management ports you must also add `-m 8222` to the command
# ports:
@ -122,17 +119,19 @@ services:
memory: 50M
placement:
constraints:
- 'node.platform.os == linux'
- "node.platform.os == linux"
queue-worker:
image: openfaas/queue-worker:0.9.0-arm64
image: openfaas/queue-worker:0.11.2
networks:
- functions
environment:
max_inflight: "1"
ack_wait: "5m5s" # Max duration of any async task / request
ack_wait: "5m5s" # Max duration of any async task / request
basic_auth: "${BASIC_AUTH:-false}"
secret_mount_path: "/run/secrets/"
gateway_invoke: "true"
faas_gateway_address: "gateway"
deploy:
resources:
limits:
@ -146,7 +145,7 @@ services:
window: 380s
placement:
constraints:
- 'node.platform.os == linux'
- "node.platform.os == linux"
secrets:
- basic-auth-user
- basic-auth-password
@ -160,12 +159,12 @@ services:
environment:
no_proxy: "gateway"
configs:
- source: prometheus_config
target: /etc/prometheus/prometheus.yml
- source: prometheus_rules
target: /etc/prometheus/alert.rules.yml
- source: prometheus_config
target: /etc/prometheus/prometheus.yml
- source: prometheus_rules
target: /etc/prometheus/alert.rules.yml
command:
- '--config.file=/etc/prometheus/prometheus.yml'
- "--config.file=/etc/prometheus/prometheus.yml"
# - '-storage.local.path=/prometheus'
ports:
- 9090:9090
@ -174,8 +173,8 @@ services:
deploy:
placement:
constraints:
- 'node.role == manager'
- 'node.platform.os == linux'
- "node.role == manager"
- "node.platform.os == linux"
resources:
limits:
memory: 500M
@ -187,8 +186,8 @@ services:
environment:
no_proxy: "gateway"
command:
- '--config.file=/alertmanager.yml'
- '--storage.path=/alertmanager'
- "--config.file=/alertmanager.yml"
- "--storage.path=/alertmanager"
networks:
- functions
# Uncomment the following port mapping if you wish to expose the Prometheus
@ -203,29 +202,28 @@ services:
memory: 20M
placement:
constraints:
- 'node.role == manager'
- 'node.platform.os == linux'
- "node.role == manager"
- "node.platform.os == linux"
configs:
- source: alertmanager_config
target: /alertmanager.yml
secrets:
- basic-auth-password
configs:
prometheus_config:
file: ./prometheus/prometheus.yml
prometheus_rules:
file: ./prometheus/alert.rules.yml
alertmanager_config:
file: ./prometheus/alertmanager.yml
prometheus_config:
file: ./prometheus/prometheus.yml
prometheus_rules:
file: ./prometheus/alert.rules.yml
alertmanager_config:
file: ./prometheus/alertmanager.yml
networks:
functions:
driver: overlay
attachable: true
labels:
- "openfaas=true"
- "openfaas=true"
secrets:
basic-auth-user:

View File

@ -3,7 +3,7 @@ services:
gateway:
ports:
- 8080:8080
image: openfaas/gateway:0.18.13-armhf
image: openfaas/gateway:0.18.17-armhf
networks:
- functions
environment:
@ -43,7 +43,7 @@ services:
# auth service provide basic-auth plugin for system APIs
basic-auth-plugin:
image: openfaas/basic-auth-plugin:0.18.13-armhf
image: openfaas/basic-auth-plugin:0.18.17-armhf
networks:
- functions
environment:
@ -77,16 +77,16 @@ services:
networks:
- functions
environment:
read_timeout: "5m5s" # set both here, and on your functions
write_timeout: "5m5s" # set both here, and on your functions
read_timeout: "5m5s" # set both here, and on your functions
write_timeout: "5m5s" # set both here, and on your functions
DOCKER_API_VERSION: "1.30"
basic_auth: "${BASIC_AUTH:-false}"
secret_mount_path: "/run/secrets/"
deploy:
placement:
constraints:
- 'node.role == manager'
- 'node.platform.os == linux'
- "node.role == manager"
- "node.platform.os == linux"
resources:
# limits: # Enable if you want to limit memory usage
# memory: 100M
@ -102,7 +102,7 @@ services:
- basic-auth-password
nats:
image: nats-streaming:0.11.2
image: nats-streaming:0.17.0
# Uncomment the following port mappings if you wish to expose the
# NATS client and/or management ports you must also add `-m 8222` to the command
# ports:
@ -119,15 +119,15 @@ services:
memory: 50M
placement:
constraints:
- 'node.platform.os == linux'
- "node.platform.os == linux"
queue-worker:
image: openfaas/queue-worker:0.9.0-armhf
image: openfaas/queue-worker:0.11.2
networks:
- functions
environment:
max_inflight: "1"
ack_wait: "5m5s" # Max duration of any async task / request
ack_wait: "5m5s" # Max duration of any async task / request
basic_auth: "${BASIC_AUTH:-false}"
secret_mount_path: "/run/secrets/"
gateway_invoke: "true"
@ -145,7 +145,7 @@ services:
window: 380s
placement:
constraints:
- 'node.platform.os == linux'
- "node.platform.os == linux"
secrets:
- basic-auth-user
- basic-auth-password
@ -159,12 +159,12 @@ services:
environment:
no_proxy: "gateway"
configs:
- source: prometheus_config
target: /etc/prometheus/prometheus.yml
- source: prometheus_rules
target: /etc/prometheus/alert.rules.yml
- source: prometheus_config
target: /etc/prometheus/prometheus.yml
- source: prometheus_rules
target: /etc/prometheus/alert.rules.yml
command:
- '--config.file=/etc/prometheus/prometheus.yml'
- "--config.file=/etc/prometheus/prometheus.yml"
# - '-storage.local.path=/prometheus'
ports:
- 9090:9090
@ -173,8 +173,8 @@ services:
deploy:
placement:
constraints:
- 'node.role == manager'
- 'node.platform.os == linux'
- "node.role == manager"
- "node.platform.os == linux"
resources:
limits:
memory: 500M
@ -186,8 +186,8 @@ services:
environment:
no_proxy: "gateway"
command:
- '--config.file=/alertmanager.yml'
- '--storage.path=/alertmanager'
- "--config.file=/alertmanager.yml"
- "--storage.path=/alertmanager"
networks:
- functions
# Uncomment the following port mapping if you wish to expose the Prometheus
@ -202,29 +202,28 @@ services:
memory: 20M
placement:
constraints:
- 'node.role == manager'
- 'node.platform.os == linux'
- "node.role == manager"
- "node.platform.os == linux"
configs:
- source: alertmanager_config
target: /alertmanager.yml
secrets:
- basic-auth-password
configs:
prometheus_config:
file: ./prometheus/prometheus.yml
prometheus_rules:
file: ./prometheus/alert.rules.yml
alertmanager_config:
file: ./prometheus/alertmanager.yml
prometheus_config:
file: ./prometheus/prometheus.yml
prometheus_rules:
file: ./prometheus/alert.rules.yml
alertmanager_config:
file: ./prometheus/alertmanager.yml
networks:
functions:
driver: overlay
attachable: true
labels:
- "openfaas=true"
- "openfaas=true"
secrets:
basic-auth-user:

View File

@ -3,7 +3,7 @@ services:
gateway:
ports:
- 8080:8080
image: openfaas/gateway:0.18.13
image: openfaas/gateway:0.18.17
networks:
- functions
environment:
@ -43,7 +43,7 @@ services:
# auth service provide basic-auth plugin for system APIs
basic-auth-plugin:
image: openfaas/basic-auth-plugin:0.18.13
image: openfaas/basic-auth-plugin:0.18.17
networks:
- functions
environment:
@ -102,7 +102,7 @@ services:
- basic-auth-password
nats:
image: nats-streaming:0.11.2
image: nats-streaming:0.17.0
# Uncomment the following port mappings if you wish to expose the
# NATS client and/or management ports you must also add `-m 8222` to the command
# ports:
@ -122,7 +122,7 @@ services:
- "node.platform.os == linux"
queue-worker:
image: openfaas/queue-worker:0.10.0
image: openfaas/queue-worker:0.11.2
networks:
- functions
environment: