GNU/Linux >> Znalost Linux >  >> Cent OS

Jak nainstalovat a používat Traefik jako reverzní proxy s Dockerem na CentOS 8

Traefik je open-source HTTP reverzní proxy a nástroj pro vyrovnávání zatížení, který vám pomůže snadno nasadit mikroslužby. Můžete jej snadno integrovat s komponentami vaší infrastruktury, včetně Docker, Kubernetes, Docker Swarm, Rancher, AWS a mnoha dalších. Pokud chcete na stejném hostiteli Dockeru spouštět více aplikací, můžete Traefik použít jako reverzní proxy k odhalení portů 80 a 443 zbytku světa.

V tomto tutoriálu vám ukážeme, jak nainstalovat a nakonfigurovat Traefik jako reverzní proxy na CentOS 8.

Předpoklady

  • Server se systémem CentOS 8.
  • Platný název domény s adresou IP vašeho serveru.
  • Na serveru je nakonfigurováno heslo uživatele root.

Instalovat Docker a Docker Compose

Nejprve budete muset do svého systému nainstalovat nejnovější verzi Docker a Docker Compose. Ve výchozím nastavení není Docker k dispozici ve výchozím úložišti CentOS 8. Budete tedy muset do svého systému přidat repozitář Docker CE. Můžete jej přidat pomocí následujícího příkazu:

dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo

Jakmile je repo vytvořeno, nainstalujte Docker CE pomocí následujícího příkazu:

dnf install docker-ce --nobest -y

Jakmile je Docker nainstalován, spusťte službu Docker a povolte její spuštění při restartu systému pomocí následujícího příkazu:

systemctl start docker
systemctl enable docker

Chcete-li nainstalovat Docker Compose, budete muset nainstalovat Curl a stáhnout binární soubor Docker Compose do vašeho systému. Můžete to udělat pomocí následujícího příkazu:

dnf install curl
curl -L "https://github.com/docker/compose/releases/download/1.25.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

Vytvořit síť Docker

Dále budete muset vytvořit novou síť Docker pro spuštění kontejneru traefik. Můžete jej vytvořit s názvem "web" spuštěním následujícího příkazu:

docker network create web

Dále ověřte svou síť pomocí následujícího příkazu:

docker network ls

Měli byste získat následující výstup:

NETWORK ID          NAME                DRIVER              SCOPE
76a9475e5ab0        bridge              bridge              local
2a3d79f64747        host                host                local
4c9123229eaa        none                null                local
0b6e010b43d0        web                 bridge              local

Instalace a konfigurace serveru Traefik Proxy

Než začnete, budete muset nainstalovat httpd-tools pro vygenerování šifrovaného hesla. Tento nástroj můžete nainstalovat pomocí následujícího příkazu:

dnf install httpd-tools -y

Po instalaci vygenerujte zašifrované heslo pomocí následujícího příkazu:

htpasswd -nb admin my_password

Měli byste získat následující výstup:

admin:$apr1$wpdR.4yZ$UpbjGS7ZFq4pZHalhH1Tl0

Dále vytvořte nový konfigurační soubor Traefik pomocí následujícího příkazu:

nano traefik.toml

Přidejte následující řádky včetně platného názvu domény, vašeho zabezpečeného hesla a portu:

defaultEntryPoints = ["http", "https"]

[entryPoints]
  [entryPoints.dashboard]
    address = ":8080"
    [entryPoints.dashboard.auth]
      [entryPoints.dashboard.auth.basic]
        users = ["admin:$apr1$wpdR.4yZ$UpbjGS7ZFq4pZHalhH1Tl0"]
  [entryPoints.http]
    address = ":80"
      [entryPoints.http.redirect]
        entryPoint = "https"
  [entryPoints.https]
    address = ":443"
      [entryPoints.https.tls]

[api]
entrypoint="dashboard"

[acme]
email = "[email protected]"
storage = "acme.json"
entryPoint = "https"
onHostRule = true
  [acme.httpChallenge]
  entryPoint = "http"

[docker]
domain = "traefik.linuxbuz.com"
watch = true
network = "web"

Po dokončení uložte a zavřete soubor. Poté vytvořte prázdný soubor, do kterého budou uloženy vaše informace Let’s Encrypt.

touch acme.json

Dále udělte správné oprávnění tomuto souboru pomocí následujícího příkazu:

chmod 600 acme.json

Vytvoření souboru Docker Compose

Dále budete muset vytvořit nový soubor docker-compose.yml a definovat svou doménu, port, síť a svazek.

Můžete jej vytvořit pomocí následujícího příkazu:

nano docker-compose.yml

Přidejte následující řádky:

version: '3'

services:

  traefik:
    image: traefik:1.7.21-alpine
    command: --docker --docker.domain=linuxbuz.com
    ports:
      - 80:80
      - 443:443
    networks:
      - web
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - ./traefik.toml:/traefik.toml
      - ./acme.json:/acme.json
    labels:
      - "traefik.frontend.rule=Host:traefik.linuxbuz.com"
      - "traefik.port=8080"
    container_name: traefik
    restart: always

networks:
   web:
    external: true

Po dokončení uložte a zavřete soubor.

Sestavení kontejneru Traefik Docker

V tomto okamžiku je konfigurační soubor Traefik a Docker Compose připraven. Nyní vytvořte kontejner Traefik pomocí následujícího příkazu:

docker-compose up -d

Měli byste získat následující výstup:

Unable to find image 'traefik:1.7.21-alpine' locally
1.7.21-alpine: Pulling from library/traefik
c9b1b535fdd9: Pull complete 
c141e361698e: Pull complete 
2573c02b6f16: Pull complete 
1619fb3841d1: Pull complete 
Digest: sha256:0e4ac8ae724603898620dbd5eb9cda7ec05f405d25476eb0d32b716b490ba079
Status: Downloaded newer image for traefik:1.7.21-alpine
27e735357bb3b7d2d253ff78ddf6e78896851420eff399e8ade23affc7ff0bf7

Dále ověřte spuštěný kontejner pomocí následujícího příkazu:

docker ps

Měli byste získat následující výstup:

CONTAINER ID        IMAGE                   COMMAND                  CREATED             STATUS              PORTS                                      NAMES
7604696507a5        traefik:1.7.21-alpine   "/entrypoint.sh --do…"   6 seconds ago       Up 4 seconds        0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp   traefik

Přístup k webovému rozhraní Traefik

Nyní otevřete webový prohlížeč a přejděte na webové rozhraní Traefik pomocí adresy URL https://traefik.linuxbuz.com. Budete požádáni o zadání uživatelského jména a hesla:

Zadejte uživatelské jméno jako správce a heslo, které jste si dříve vygenerovali, a klikněte na Podepsat v knoflík. Na následující obrazovce byste měli vidět řídicí panel Traefik:

Klikněte na HEALTH tab. Zdravotní stav kontejneru Traefik byste měli vidět na následující obrazovce:

Závěr

Gratulujeme! úspěšně jste nainstalovali Traefik proxy na CentOS 8. Další informace naleznete v dokumentaci Traefik.


Cent OS
  1. Jak nainstalovat a používat Docker Compose na CentOS

  2. Jak nainstalovat Odoo 11 na CentOS 7 s Nginx jako reverzní proxy

  3. Jak nainstalovat Odoo 10 na CentOS 7 s Nginx jako reverzní proxy

  1. Jak nainstalovat a používat Docker na CentOS 7

  2. Jak nainstalovat Flectru na CentOS 8 s Nginx jako reverzní proxy

  3. Jak nainstalovat Odoo 14 na CentOS 8 s Nginx jako reverzní proxy

  1. Jak nainstalovat a používat Docker Compose na CentOS 7

  2. Jak nainstalovat a používat Curl na CentOS 8

  3. Jak nainstalovat a používat Docker-Compose na CentOS 7