From d0ebb19fd9727c9ae717a62d2974ff14cb2fdffc Mon Sep 17 00:00:00 2001 From: "Alex Ellis (OpenFaaS Ltd)" Date: Mon, 15 Jun 2020 19:32:19 +0100 Subject: [PATCH] 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) --- .github/ISSUE_TEMPLATE.md | 6 +++ docker-compose.arm64.yml | 78 +++++++++++++++++++-------------------- docker-compose.armhf.yml | 59 +++++++++++++++-------------- docker-compose.yml | 8 ++-- 4 files changed, 77 insertions(+), 74 deletions(-) diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md index 63f54374..7ccb120b 100644 --- a/.github/ISSUE_TEMPLATE.md +++ b/.github/ISSUE_TEMPLATE.md @@ -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. diff --git a/docker-compose.arm64.yml b/docker-compose.arm64.yml index d23f8507..b9666868 100644 --- a/docker-compose.arm64.yml +++ b/docker-compose.arm64.yml @@ -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: diff --git a/docker-compose.armhf.yml b/docker-compose.armhf.yml index acd75579..8c6cbf38 100644 --- a/docker-compose.armhf.yml +++ b/docker-compose.armhf.yml @@ -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: diff --git a/docker-compose.yml b/docker-compose.yml index a68ab57f..5e5cb5e6 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -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: