Ошибка при развертывании роя (Неподдерживаемая версия составного файла:3.3)

Я пытаюсь развернуть стек, используя файл docker-compose, предоставленный OpenFaas ( https://github.com/openfaas/faas), который выдает Unsupported compose file version:3.3. Ниже приведен файл docker compose, который я пытаюсь выполнить

version: "3.3"
services:
    gateway:
        ports:
            - 8080:8080
        image: functions/gateway:0.7.7
        networks:
            - functions
        environment:
            functions_provider_url: "http://faas-swarm:8080/"
            read_timeout:  "25s"        # Maximum time to read HTTP request
            write_timeout: "25s"        # Maximum time to write HTTP response
            upstream_timeout: "20s"     # 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_suffix: ""
        deploy:
            resources:
                # limits:   # Enable if you want to limit memory usage
                #     memory: 200M
                reservations:
                    memory: 100M
            restart_policy:
                condition: on-failure
                delay: 5s
                max_attempts: 20
                window: 380s
            placement:
                constraints:
                    - 'node.platform.os == linux'
# Docker Swarm provider
faas-swarm:
    volumes:
        - "/var/run/docker.sock:/var/run/docker.sock"
    # ports:
        # - 8081:8080
    image:  functions/faas-swarm:0.2.2
    networks:
        - functions
    environment:
        read_timeout:  "20s"   # set both here, and on your functions
        write_timeout: "20s"   # set both here, and on your functions
        DOCKER_API_VERSION: "1.30"
    deploy:
        placement:
            constraints:
                - 'node.role == manager'
                - 'node.platform.os == linux'
        resources:
            # limits:   # Enable if you want to limit memory usage
            #     memory: 100M
            reservations:
                memory: 100M
        restart_policy:
            condition: on-failure
            delay: 5s
            max_attempts: 20
            window: 380s

nats:
    image: nats-streaming:0.6.0
    # Uncomment the following port mappings if you wish to expose the 
    # NATS client and/or management ports
    # ports:
    #     - 4222:4222
    #     - 8222:8222
    command: "--store memory --cluster_id faas-cluster"
    networks:
        - functions
    deploy:
        resources:
            limits:
                memory: 125M
            reservations:
                memory: 50M
        placement:
            constraints:
                - 'node.platform.os == linux'

queue-worker:
    image: functions/queue-worker:0.4
    networks:
        - functions
    environment:
        max_inflight: "1"
        ack_timeout: "30s"    # Max duration of any async task / request
    deploy:
        resources:
            limits:
                memory: 50M
            reservations:
                memory: 20M
        restart_policy:
            condition: on-failure
            delay: 5s
            max_attempts: 20
            window: 380s
        placement:
            constraints:
                - 'node.platform.os == linux'
# End services

# Start monitoring

prometheus:
    image: prom/prometheus:v2.2.0
    environment:
        no_proxy: "gateway"
    configs:
      - source: prometheus_config
        target: /etc/prometheus/prometheus.yml
      - source: prometheus_rules
        target: /etc/prometheus/alert.rules.yml
    command:
      - '--config.file=/etc/prometheus/prometheus.yml'
    #   - '-storage.local.path=/prometheus'
    ports:
        - 9090:9090
    networks:
        - functions
    deploy:
        placement:
            constraints:
                - 'node.role == manager'
                - 'node.platform.os == linux'
        resources:
            limits:
                memory: 500M
            reservations:
                memory: 200M

alertmanager:
    image: prom/alertmanager:v0.15.0-rc.0
    environment:
        no_proxy: "gateway"
    command:
        - '--config.file=/alertmanager.yml'
        - '--storage.path=/alertmanager'
    networks:
        - functions
    # Uncomment the following port mapping if you wish to expose the Prometheus
    # Alertmanager UI.
    # ports:
    #     - 9093:9093
    deploy:
        resources:
            limits:
                memory: 50M
            reservations:
                memory: 20M
        placement:
            constraints: 
                - 'node.role == manager'
                - 'node.platform.os == linux'
    configs:
        - source: alertmanager_config
          target: /alertmanager.yml

# Sample functions go here.

# Pass a username as an argument to find how many images user has pushed to Docker Hub.
hubstats:
    image: functions/hubstats:latest
    labels:
        function: "true"
    networks:
        - functions
    environment:
        no_proxy: "gateway"
        https_proxy: $https_proxy
    deploy:
        placement:
            constraints:
                - 'node.platform.os == linux'

# Node.js gives OS info about the node (Host)
nodeinfo:
    image: functions/nodeinfo:latest
    labels:
        function: "true"
    networks:
        - functions
    environment:
        no_proxy: "gateway"
        https_proxy: $https_proxy
    deploy:
        placement:
            constraints:
                - 'node.platform.os == linux'


# Uses `cat` to echo back response, fastest function to execute.
echoit:
    image: functions/alpine:latest
    labels:
        function: "true"
    networks:
        - functions
    environment:
        fprocess: "cat"
        no_proxy: "gateway"
        https_proxy: $https_proxy
    deploy:
        placement:
            constraints:
                - 'node.platform.os == linux'


# Counts words in request with `wc` utility
wordcount:
    image: functions/alpine:latest
    labels:
        function: "true"
        com.faas.max_replicas: "10"
    networks:
        - functions
    environment:
        fprocess: "wc"
        no_proxy: "gateway"
        https_proxy: $https_proxy
    deploy:
        placement:
            constraints:
                - 'node.platform.os == linux'


# Calculates base64 representation of request body.
base64:
    image: functions/alpine:latest
    labels:
        function: "true"
    networks:
        - functions
    environment:
        fprocess: "base64"
        no_proxy: "gateway"
        https_proxy: $https_proxy
    deploy:
        placement:
            constraints:
                - 'node.platform.os == linux'

# Converts body in (markdown format) -> (html)
markdown:
    image: functions/markdown-render:latest
    labels:
        function: "true"
    networks:
        - functions
    environment:
        no_proxy: "gateway"
        https_proxy: $https_proxy
    deploy:
        placement:
            constraints:
                - 'node.platform.os == linux'

конфиги: prometheus_config: файл: ./prometheus/prometheus.yml prometheus_rules: файл: ./prometheus/alert.rules.yml alertmanager_config: файл:./prometheus/alertmanager.yml

сети: функции: драйвер: добавляемый оверлей: метки true: - "openfaas=true"

0 ответов

Другие вопросы по тегам