GNU/Linux >> Belajar Linux >  >> Linux

Wadah server HAProxy Podman cepat 100% mudah

Pengantar

HAProxy a penyeimbang beban . Penyeimbang beban menangani lebih banyak lalu lintas web untuk menghindari waktu henti. Ini menerima lalu lintas dari Internet atau jaringan internal Anda yang memuat penyeimbang beban layanan internal dan kemudian meneruskan lalu lintas ke web.

Manfaat menggunakan penyeimbang beban setelah digunakan di beberapa server. Penyeimbang beban dapat menyampaikan lalu lintas untuk meningkatkan kapasitas Anda dalam melayani banyak klien tanpa terhubung langsung ke setiap server. HAProxy menerima dan meneruskan lalu lintas lalu menyeimbangkan memuat di seluruh server Anda. Teknik ini melindungi server Anda yang gagal karena penyeimbang beban dapat mendeteksi jika server menjadi tidak responsif dan secara otomatis berhenti mengirimkan lalu lintas. HAProxy digunakan untuk menyeimbangkan lalu lintas ke sejumlah aplikasi web menggunakan satu konfigurasi.

HAProxy adalah penyeimbang beban dan pengontrol pengiriman aplikasi tercepat dan paling banyak digunakan. Ditulis dalam C, prosesor dan penggunaan memori yang efisien. Itu dapat berjalan di lapisan 4 (TCP) atau lapisan 7 (HTTP) dan fitur tambahan untuk memeriksa, merutekan, dan memodifikasi pesan.

Ini dibundel dengan UI web yang disebut halaman HAProxy Stats yang dapat Anda gunakan untuk memantau tingkat kesalahan, volume lalu lintas, dan latensi. Selain itu, ia memperbarui file konfigurasi tunggal, yang menyediakan sintaks untuk menentukan aturan perutean, pembatasan kecepatan, kontrol akses, dll.

Untuk menjamin layanan yang benar-benar andal, jalankan setidaknya dua instance HAProxy dengan pengaturan aktif-aktif atau siaga aktif. Pelajari cara melakukannya dengan HAProxy Enterprise dengan membaca dokumen resmi. Lihat tutorial Apache kontainer.

Saat mengonfigurasi HAProxy, biasanya mulai dengan yang berikut:

  • Alamat IP dan port tertentu HAProxy untuk menerima lalu lintas;
  • Server tempat HAProxy akan menyampaikan lalu lintas;
  • Saat klien meminta untuk pergi ke kumpulan server.

Fitur lainnya termasuk:

  • Penghentian SSL/TLS
  • Kompresi Gzip
  • Pemeriksaan kesehatan
  • HTTP/2
  • dukungan gRPC
  • Skrip lua
  • Penemuan layanan DNS
  • Pencobaan ulang otomatis dari koneksi yang gagal
  • Pencatatan verbose

Kontainer ini mendengarkan pada port 8080, tetapi kami tidak memetakan port tersebut ke host, sehingga tidak dapat dirutekan. Sebagai gantinya, kami akan menyampaikan lalu lintas ke penampung ini melalui penyeimbang beban HAProxy. Selanjutnya, mari tambahkan HAProxy di depannya. Buat file bernama haproxy.cfg di direktori saat ini dan tambahkan yang berikut ini ke dalamnya:

Dapatkan gambar HAProxy

# podman pull haproxytech/haproxy-alpine:2.4

Buat gambar khusus untuk persyaratan HAProxy Anda

# mkdir -p /haproxy/etc/haproxy/
# cd /haproxy/etc/haproxy/
# ls
Dockerfile haproxy.cfg

Buat gambar Docker untuk kebutuhan kebutuhan Anda

# cat /haproxy/etc/haproxy/Dockerfile
FROM haproxytech/haproxy-alpine:2.4
COPY haproxy.cfg /usr/local/etc/haproxy/haproxy.cfg

Buat konfigurasi haproxy pilihan Anda

# cat /haproxy/etc/haproxy/haproxy.cfg
global
  stats socket /var/run/api.sock user haproxy group haproxy mode 660 level admin expose-fd listeners
  log stdout format raw local0 info

defaults
  mode http
  timeout client 10s
  timeout connect 5s
  timeout server 10s
  timeout http-request 10s
  log global

frontend stats
  bind *:8404
  stats enable
  stats uri /
  stats refresh 10s

frontend myfrontend
  bind :80
  default_backend webservers

backend webservers
  server s1 http-server1:8081 check
  server s2 http-server2:8082 check
  server s3 http-server3:8083 check

Membuat gambar haproxy

# cd /haproxy/etc/haproxy/
# podman build -t my-haproxy .

Buat server HAproxy

# podman run --name haproxy-server -p 80:80 -p 8404:8404 -d localhost/my-haproxy

Buat pod untuk setiap server web

Server Apache

# podman pull centos/httpd-24-centos7

# podman pod create --name httpapp1 -p 8081:8080 --network bridge
# podman run --pod httpapp1 --name http-server1 -v /wwwdata1:/var/www:Z -d centos/httpd-24-centos7

# podman pod create --name httpapp2 -p 8082:8080 --network bridge
# podman run --pod httpapp2 --name http-server2 -v /wwwdata2:/var/www:Z -d centos/httpd-24-centos7


# podman pod create --name httpapp3 -p 8083:8080 --network bridge
# podman run --pod httpapp3 --name http-server3 -v /wwwdata3:/var/www:Z -d centos/httpd-24-centos7

Kesimpulan

HAProxy di dalam container dapat menyederhanakan penerapan dan manajemen siklus hidupnya. Menyediakan standar untuk menyebarkan aplikasi, membuat proses dapat diulang dan diuji. Overhead CPU untuk menjalankan dapat diabaikan, dapat menimbulkan jaringan tambahan, akan berdampak tergantung pada kasus penggunaan dan kebutuhan throughput Anda.

A cukup buat file konfigurasi HAProxy dan kemudian panggil perintah podman run dengan nama image HAProxy. HAProxy Technologies menyediakan gambar terbaru.

HAProxy Enterprise mendukung aplikasi modern pada skala apa pun dan di lingkungan apa pun, memberikan kinerja, observabilitas, dan keamanan terbaik untuk bantuan penting Anda. Anda dapat memanfaatkan fitur-fitur mutakhir dan rangkaian add-on perusahaan, yang didukung oleh dukungan ahli yang otoritatif dan layanan profesional.


Linux
  1. Menjalankan Podman tanpa root sebagai pengguna non-root

  2. Pratinjau teknologi:Menjalankan wadah di dalam wadah

  3. Cara menggunakan Podman di dalam wadah

  1. Cara mengonfigurasi penyeimbang beban HAProxy

  2. Cara mengatur server KVM dengan cara cepat

  3. Instal Kodi di Ubuntu 18.04:Cepat &Mudah!

  1. ScanSSH – Server SSH Cepat Dan Pemindai Proksi Terbuka

  2. 5 Langkah Nginx berisi podman mudah

  3. Remote VS Code cepat dan mudah kotor 100%