Configuration traefik.toml中的后端和前端是什么

Configuration traefik.toml中的后端和前端是什么,configuration,config,configuration-files,traefik,Configuration,Config,Configuration Files,Traefik,在阅读Traefik的文档时,当我面对以下内容中提到的配置框架时,我感到困惑: traefik.toml: defaultEntryPoints = ["http", "https"] [entryPoints] [entryPoints.http] # ... [entryPoints.https] # ... [file] # rules [backends] [backends.backend1] # ... [backends.backend

在阅读Traefik的文档时,当我面对以下内容中提到的配置框架时,我感到困惑:

traefik.toml:

defaultEntryPoints = ["http", "https"]

[entryPoints]
  [entryPoints.http]
    # ...
  [entryPoints.https]
    # ...

[file]

# rules
[backends]
  [backends.backend1]
    # ...
  [backends.backend2]
    # ...

[frontends]
  [frontends.frontend1]
  # ...
  [frontends.frontend2]
  # ...
  [frontends.frontend3]
  # ...

# HTTPS certificate
[[tls]]
  # ...

[[tls]]
  # ...

将配置文件中的规则部分划分为后端和前端两个不同的子部分的原因是什么?

如果不将其划分为后端和前端,我将无法将多个服务连接到同一后端,因此,即使我配置了多个服务,也无法实现负载平衡

version: '3.2'

services:
  minio1:
    image: minio/minio:RELEASE.2018-11-30T03-56-59Z
    hostname: minio1
    volumes:
      - minio1-data:/export
    ports:
      - target: 9000
        mode: host
    networks:
      - minio_distributed
      - webgateway
    deploy:
      restart_policy:
        delay: 10s
        max_attempts: 10
        window: 60s
      labels:
        - traefik.enable=true
        - traefik.docker.network=webgateway
        - traefik.backend=minio
        - traefik.frontend.rule=Host:minio.mycooldomain.com
        - traefik.port=9000
      placement:
        constraints:
          - node.labels.minio1==true
    command: server http://minio1/export http://minio2/export http://minio3/export http://minio4/export
    secrets:
      - secret_key
      - access_key

  minio2:
    image: minio/minio:RELEASE.2018-11-30T03-56-59Z
    hostname: minio2
    volumes:
      - minio2-data:/export
    ports:
      - target: 9000
        mode: host
    networks:
      - minio_distributed
      - webgateway
    deploy:
      restart_policy:
        delay: 10s
        max_attempts: 10
        window: 60s
      labels:
        - traefik.enable=true
        - traefik.docker.network=webgateway
        - traefik.backend=minio
        - traefik.frontend.rule=Host:minio.mycooldomain.com
        - traefik.port=9000
      placement:
        constraints:
          - node.labels.minio2==true
    command: server http://minio1/export http://minio2/export http://minio3/export http://minio4/export
    secrets:
      - secret_key
      - access_key

volumes:
  minio1-data:
  minio2-data:
  minio3-data:
  minio4-data:

networks:
  minio_distributed:
    driver: overlay
  webgateway:
    external: true

secrets:
  secret_key:
    external: true
  access_key:
    external: true
这是我举的一个例子,服务minio1和minio2可以通过同一个域访问。通常,只要我有不同的服务,每个服务都会自动获得自己的后端,我就必须为每个服务提供自己的域,并且只提供一个服务,在这个域中,我可以扩展数量,在同一个域上可以访问这些额外的容器

希望我能用自己的经验解释一下
请注意,我甚至有4个minio服务,我只是将其剪切以缩短配置

从您的示例中我了解到前端是公共端,每个人都可以通过它访问服务,从终端收到请求后,Traefik将解析请求,并根据配置文件中预定义的规则确定如何处理它们,对吗?基本上是的。我认为traefik的文档已经很好地解释了这一点。前端由一组规则组成,这些规则确定传入请求如何从入口点转发到后端。后端负责负载平衡来自一个或多个前端到一组http服务器的流量。很好,这正是我需要的,我不知道如何将您的评论标记为问题的答案,如果我们无法将此评论标记为答案,请将其作为答案发送。