Panduan Docker: Memasang Traefik - Proksi Reverse Moden untuk Microservices

Traefik adalah proksi terbalik HTTP moden dan pengimbang beban untuk mikroservis. Traefik membuat semua penyediaan mikroservis mudah, disepadukan dengan komponen infrastruktur yang sedia ada seperti Docker, Mod Swarm, Kubernet, Amazon ECS, Rancher, Etcd, Konsul dll.

Traefik berfungsi sebagai penghala untuk semua aplikasi microservices anda, mengarahkan semua permintaan klien untuk membetulkan destinasi mikroservis.

Dalam tutorial ini, saya akan menunjukkan kepada anda langkah demi langkah cara memasang dan mengkonfigurasi proksi terbalik moden Traefik sebagai wadah Docker di Ubuntu 18.04 LTS (Bionic Beaver).

Prasyarat

  • Ubuntu 18.04
  • Keistimewaan akar

Apa yang akan kita lakukan?

  1. Pasang Docker pada Ubuntu 18.04
  2. Pasang Docker Compose
  3. Buat Rangkaian Docker Custom
  4. Pasang dan Konfigurasikan Traefik
  5. Ujian

Langkah 1 - Pasang Docker pada Ubuntu 18.04

Untuk panduan ini, kami akan menggunakan versi docker terkini yang boleh dipasang dari repositori rasmi dok.

Tambahkan kekunci dan repositori docker dengan menggunakan arahan di bawah.

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository
"Deb [arch = amd64] https://download.docker.com/linux/ubuntu
$ (lsb_release -cs)
stabil "

Perintah 'add-apt-repository' akan mengemas kini semua repositori secara automatik.

Pasang Docker di Ubuntu

Sekarang pasang penyimpan terkini.

sudo apt install docker-ce

Selepas pemasangan selesai, mulakan perkhidmatan docker dan biarkan ia dilancarkan setiap kali pada boot sistem.

systemctl start docker
systemctl enable docker

Edisi komuniti docker telah dipasang pada sistem Ubuntu 18.04, periksa versi docker yang dipasang.

docker version

Semak versi docker

Tambahan: Docker Running untuk pengguna bukan akar

Kontainer boleh dijalankan di bawah pengguna bukan root. Kami hanya perlu menambah pengguna ke kumpulan docker.

Tambah 'mohammad' pengguna.

useradd -m -s / bin / bash mohammad

Sekarang tambahkan pengguna 'mohammad' kepada kumpulan docker, kemudian mulakan semula perkhidmatan docker.

usermod -a-G docker mohammad
systemctl restart docker

Uji dengan menjalankan docker hello-world.

docker run -it hello-world

Dan berikut adalah hasilnya.

Runner Docker untuk pengguna bukan root

Langkah 2 - Pasang Docker Compose

Docker-Compose adalah alat baris arahan untuk menentukan dan mengurus aplikasi docker berbilang bekas.

Docker Compose adalah skrip python, ia boleh dipasang dengan perintah pip python atau dengan perintah apt dari repositori Ubuntu dengan mudah. Dengan mengarang, kita boleh menjalankan beberapa bekas Docker dengan satu arahan.

Pasang docker compose dari repositori menggunakan perintah apt di bawah.

sudo apt install docker-compose

Selepas pemasangan selesai, semak versi kompilator pelabuhan.

docker-compose version

Docker compose 1.17 telah dipasang pada Ubuntu 18.04.

Pasang Docker Compose

Langkah 3 - Buat Rangkaian Docker Custom

Dalam tutorial ini, bekas traefik akan berjalan di rangkaian khusus pelabuhan. Oleh itu, kita perlu membuat rangkaian khusus pelabuhan baru di pelayan.

Semak rangkaian docker yang ada pada sistem.

lekapan docker ls

Sekarang buat rangkaian khusus baru bernama 'proksi' untuk kontena traefik.

rangkaian docker membuat proksi

Dan anda akan mendapat rentetan rawak nama bekas rangkaian. Semak semula rangkaian yang tersedia.

lekapan docker ls

Ditunjukkan di bawah adalah hasilnya.

Buat Rangkaian Docker Custom

Rangkaian pendustai kustom yang dinamakan 'proksi' untuk traefik telah dibuat.

Langkah 4 - Pasang dan Konfigurasikan Proxy Reverse Traefik

Dalam langkah ini, kami akan mewujudkan wadah traefik dengan penyembur HTTPS yang diaktifkan (menggunakan nama domain 'traefik.hakase-labs.io), dan secara automatik mengalihkan HTTP ke HTTPS pada traefik.

Pre-Instalasi Traefik

Sebelum membuat semua konfigurasi traefik, kita perlu memasang 'apache2-utils' untuk menjana kata laluan htpasswd yang disulitkan dan membuat direktori traefik baru.

Pasang 'apache2-utils' dengan menggunakan arahan apt di bawah.

sudo apt install apache2-utils -y

Sekarang jalankan arahan htpasswd di bawah untuk menghasilkan kata laluan baru untuk pengesahan dashboard traefik.

kata laluan htpasswd -nb mohammad

Simpan hasil dalam nota anda.

mohammad:$apr1$hEgpZUN2$OYG3KwpzI3T1FqIg9LIbi.

Pasang dan Konfigurasikan Proxy Reverse Traefik

Seterusnya, log masuk ke pengguna 'mohammad'.

su - mohammad

Buat direktori baru bernama 'traefik' untuk semua konfigurasi traefik.

mkdir -p traefik /
cd traefik /

Buat Konfigurasi Traefik

Pergi ke direktori 'traefik' dan buat file konfigurasi 'traefik.toml' baru VIM editor.

cd traefik /
vim traefik.toml

Tampalkan konfigurasi di bawah.

#Tefefikasi GlobalTraefik debug = false checkNewVersion = true logLevel = "ERROR" #Define the EntryPoint untuk HTTP dan HTTPS defaultEntryPoints = ["https", "http"] #Enable Dashboard Traefik pada port 8080 # dengan metode pengesahan dasar #mohammad dan kata laluan [web] address = ": 8080" [web.auth.basic] users = ["mohammad: $ apr1 $ hEgpZUN2 $ OYG3KwpzI3T1FqIg9LIbi."] #Define port HTTP 80 and #HTTPS port 443 EntryPoint #Enable automatically redirect HTTP to HTTPS [entryPoints] [entryPoints.http] address = ": 80" [entryPoints.http.redirect] entryPoint = "https" [entryPoints.https] address = ": 443" [entryPoints.https.tls] #Enable retry sending request jika ralat rangkaian [cuba lagi] #Define Docker Backend Configuration [docker] endpoint = "unix: ///var/run/docker.sock" domain = "traefik.hakase-labs.io" watch = true exposedbydefault = false #Letsencrypt Pendaftaran # Kenal pasti cabaran HTTP Letsencrypt ACME [acme] email = "[email protected]" storage = "acme.j anak "entryPoint =" https "OnHostRule = true [acme.httpChallenge] entryPoint =" http "

Simpan dan keluar.

Catatan:

Semua maklumat mengenai konfigurasi ada di bahagian komen '# ...'.

Buat Skrip Penyusun Docker Traefik

Sekarang buat skrip yml-compose docker.

vim docker-compose.yml

Tampalkan konfigurasi di bawah.

versi: '3' perkhidmatan: traefik: image: traefik: perintah terkini: --docker --docker.domain = port hakase-labs.io: - 80: 80 - 443: 443 rangkaian: - proksi volum: - / jalankan / docker.sock: /var/run/docker.sock - ./traefik.toml:/traefik.toml - ./acme.json:/acme.json label: - "traefik.frontend.rule = Host: traefik. hakase-labs.io "-" traefik.port = 8080 "container_name: traefik restart: always networks: proxy: external: true

Simpan dan keluar.

Catatan:

  1. Kami mencipta sebuah bekas baru yang bernama 'traefik' berdasarkan imej docker 'traefik: terbaru'.
  2. Kontena 'traefik' akan berjalan pada rangkaian docker khusus bernama 'proksi' dan mendedahkan pelabuhan luaran HTTP 80 dan HTTPS 443.
  3. Kontena akan memasang konfigurasi traefik 'traefik.toml' dan 'acme.json', termasuk fail sock docker.
  4. Konfigurasi label untuk traefik, nama domain frontend, dan port traefik.

Konfigurasi ACME Letsencrypt

Konfigurasi acme pada 'traefik.toml' digunakan untuk menjana penyulitan SSL secara automatik. Dan ia diperlukan untuk fail 'acme.json' storan.

Buat file JSON baru 'acme.json' dan ubah kebenaran ke '600'.

sentuh acme.json
chmod 600 acme.json

Semua log mengenai info penyulitan SSL akan disimpan dalam fail.

Membina Container Traefik

Sekarang kita sudah bersedia untuk membina bekas traefik kita menggunakan fail konfigurasi di atas.

cd traefik /
ls -lah

Semua konfigurasi 'traefik.toml', 'docker-compose.yml', dan 'acme.json' fail.

Membina Container Traefik

Bina wadah dengan menggunakan arahan penyusun docker di bawah.

docker-compose up -d

Bina bekas menggunakan kompor docker

Apabila selesai, periksa bekas yang sedang berjalan.

docker-compose ps

Dan anda akan mendapat kontena Traefik dan berjalan, mendedahkan pelabuhan luar HTTP dan HTTPS.

Kontena Traefik naik dan berlari

Langkah 5 - Ujian

Buka pelayar web anda dan ketik nama domain traefik pada bar alamat. Saya adalah:

http://traefik.hakase-labs.io/

Anda akan dialihkan semula ke sambungan HTTPS dan akan diminta pengesahan nama pengguna dan kata laluan.

Pengesahan kata laluan

Log masuk dengan pengguna 'mohammad' dan kata laluan adalah 'kata laluan'.

Dan anda akan mendapat papan pemuka Traefik seperti di bawah.

Dashboard Traefik

Traefik halaman status Kesihatan.

Traefik halaman status Kesihatan

Traefik proksi terbalik HTTP moden telah dipasang sebagai bekas Docker di Ubuntu 18.04.

Rujukan

Source

Sila tinggalkan balasan anda

Laman web ini menggunakan Akismet untuk mengurangkan spam. Ketahui bagaimana data komen anda diproses.