Linux

Rhel9’a HaProxy Nasıl Kurulur?

Rhel9a HaProxy Nasil Kurulur7
Share

Bu kılavuzda, HAProxy’nin Apache HTTP Sunucusu ile RHEL 9 üzerinde adım adım nasıl kurulacağını ve yapılandırılacağını göstereceğiz.

HAProxy , Yüksek Kullanılabilirlik Proxy’si anlamına gelir. Web uygulamaları için açık kaynaklı ve yüksek performanslı bir TCP/HTTP yük dengeleyici ve ters proxy’dir. Bir uygulamanın isteklerle dolup taşmasını önlemek için trafiği belirli bir algoritma kullanarak birden çok arka uç web sunucusuna dağıtarak çalışır.

Yazılım yığınlarında HAProxy kullanan en iyi web siteleri arasında Twitter, Reddit, Tumblr ve Stack Overflow bulunur.

Laboratuvar Kurulumu

HAProxy’nin yük dengeleyici olarak nasıl çalıştığını göstermek için bir HAProxy yük dengeleyici ve iki web sunucusuyla üç düğümlü bir kurulumumuz var.

  • haproxy-rhel-09              10.128.0.48
  • apache-web-1                 10.128.0.49
  • apache-web-2                 10.128.0.50

Adım 1) Tüm düğümlerde hosts dosyasını güncelleyin

İlk adım, tüm düğümlerdeki ana bilgisayar dosyasını ana bilgisayar adları ve IP adresleri ile güncellemektir. Bu nedenle, gösterildiği gibi tüm sistemlerde hosts dosyasına erişin.

$ sudo vi /etc/hosts

Daha sonra aşağıdaki gibi güncelleyin:

10.128.0.48  haproxy-rhel-09
10.128.0.49  apache-web-1
10.128.0.50  apache-web-2

Değişiklikleri kaydedin ve çıkın.

Adım 2) HAProxy’yi RHEL 9’a yükleyin

Ardından, yük dengeleyici görevi görecek olan RHEL 9 sunucusuna HAProxy paketini kuracağız. Bu nedenle, sunucunuza giriş yapın ve önce paketleri yükseltin.

$ sudo dnf update -y

Ardından, gösterildiği gibi RHEL 9 depolarında HAProxy paketinin kullanılabilirliğini ve bununla ilgili daha fazla bilgiyi arayabilirsiniz.

$ sudo dnf info haproxy -y

Çıktıdan, HAProxy hakkında sürüm, yayın ve mimari de dahil olmak üzere, sadece birkaçını belirtmek için bir bilgi telaşı görebilirsiniz,Rhel9a HaProxy Nasil Kurulur

Paketi depolardan yüklemek için şu komutu çalıştırın:

$ sudo dnf install haproxy
Rhel9a HaProxy Nasil Kurulur2

Sadece HAProxy’nin kurulu olduğunu onaylamak için komutu çalıştırın.

$ rpm -qi haproxy
Rhel9a HaProxy Nasil Kurulur3

Adım 3) HAProxy’yi Yük Dengeleyici Olarak Çalışacak Şekilde Yapılandırın

Sonraki adım HAProxy’yi yapılandırmaktır. Ancak bunu yapmadan önce, herhangi bir ihtimale karşı yapılandırma dosyasının yedek bir kopyasını alın. Aşağıdaki cp komutunu kullanarak ,

$ sudo cp /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.bak

Ardından, yapılandırma dosyasını açın

$ sudo vi /etc/haproxy/haproxy.cfg

İki bölümü güncelleyeceğiz: ön uç ve arka uç bölümü.

Frontend bölümünde aşağıdaki öznitelikleri tanımlayacağız.

  • HAProxy yük dengeleyicinin IP adresi ve dinleyeceği bağlantı noktası.
  • İstatistik URI’si

Backend bölümü için aşağıdaki öznitelikleri tanımlayacağız.

  • Yük dengeleme algoritması.
  • Tarayıcıdaki yük dengeleyici istatistiklerine erişmek için kullanıcı adı ve parola.
  • Web sunucularının ana bilgisayar adları ve IP adresleri.
frontend load_balancer
    bind 10.128.0.48:80
    option http-server-close
    option forwardfor
    stats uri /haproxy?stats

default_backend   webservers

backend webservers
    mode        http
    balance     roundrobin
    stats       enable
    stats auth  linuxtechi:Techi@1234
    option httpchk HEAD / HTTP/1.1\r\nHost:\ localhost
    server  apache-web-1  10.128.0.49:80
    server  apache-web-2  10.128.0.50:80
Rhel9a HaProxy Nasil Kurulur4

Adım 4) Rsyslog’u Yapılandırın

Sonraki adım, HAProxy istatistiklerini günlüğe kaydedebilmesi için Rsyslog hizmetini yapılandırmaktır. Bunu yapmak için Rsyslog yapılandırma dosyasına erişin.

$ sudo vi /etc/rsyslog.conf

Bu satırların yorumunu kaldır

module(load="imudp")
input(type="imudp" port="514")

Değişiklikleri kaydedin ve yapılandırma dosyasından çıkın.

Ardından, bir HAProxy yapılandırma dosyası oluşturun.

$ sudo vi /etc/rsyslog.d/haproxy.conf

Ardından, günlük dosyalarının konumunu tanımlamak için aşağıdaki satırları yapıştırın.

local2.=info     /var/log/haproxy-access.log
local2.notice    /var/log/haproxy-info.log

Değişiklikleri kaydedin ve yapılandırma dosyasından çıkın. Ardından, aşağıdaki SELinux kuralını ayarlayın.

$ sudo setsebool -P haproxy_connect_any 1

Değişiklikleri etkilemek için yeniden başlatın ve Rsyslog’u etkinleştirin.

$ sudo systemctl restart rsyslog
$ sudo systemctl enable rsyslog

Ardından HaProxy’yi başlatın ve yeniden başlatmanın ardından çalışması için etkinleştirin.

$ sudo systemctl start haproxy
$ sudo systemctl enable haproxy

HAProxy’nin çalıştığından emin olmak için şu komutu çalıştırın:

$ sudo systemctl status haproxy

Rhel9a HaProxy Nasil Kurulur5
Yapılandırılmış bir güvenlik duvarınız varsa, 80 numaralı bağlantı noktasına izin verdiğinizden emin olun.

$ sudo firewall-cmd  --add-port=80/tcp --permanent
$ sudo firewall-cmd  --reload

Adım 5) Web Sunucularını Kurun

Şimdiye kadar, HAProxy sunucusunu bir yük dengeleyici görevi görecek ve iş yükünü web sunucuları arasında yuvarlak deneme algoritmasını kullanarak dağıtacak şekilde yapılandırdık. Bir sonraki adım, web sunucularını kurmaktır.

Ardından, Apache paketini sunucuların her birine kurun.

$ sudo dnf install httpd -y

Ardından, Apache hizmetini başlatın ve etkinleştirin.

$ sudo systemctl start httpd
$ sudo systemctl enable httpd

Bir sonraki adım, web sunucularını yapılandırmak ve onları bir tarayıcıdan ayırt etmek için farklı index.html dosyaları oluşturmaktır.

Web Sunucusu 1 için

Kök kullanıcıya geçin ve örnek bir HTML dosyası oluşturun.

$ echo "<h1>Success! Welcome to Web Server 1</h1>" > /var/www/html/index.html

Ardından, Apache hizmetini yeniden başlatın.

$ sudo systemctl restart httpd

Web Sunucusu 2 için

Benzer şekilde, kök kullanıcıya geçin ve örnek bir HTML dosyası oluşturun.

$ echo "<h1>Success! Welcome to Web Server 2</h1>" > /var/www/html/index.html

Ardından, değişiklikleri gerçekleştirmek için Apache hizmetini yeniden başlatın.

$ sudo systemctl restart httpd

Adım 6) HAProxy Yük Dengelemeyi Test Edin

Son adım, yük dengeleyicinin çalışıp çalışmadığını test etmektir. Bunu yapmak için yük dengeleyicinin IP adresini ziyaret edin

http://loadbalancer-IP

İlk olarak, web sunucusunun HTML sayfalarından birine yönlendirileceksiniz. Bu durumda isteğin ilk web sunucusuna gönderildiğini görebilirsiniz.

Şimdi web sayfasını yeniden yükleyin ve bu sefer ikinci web sunucusunun HTML sayfasını görmelisiniz.
Bu, isteklerin arka uç web sunucuları arasında dağıtılmasında döngüsel deneme algoritmasının uygulandığını doğrular.
Alternatif olarak, Round Robin algoritmasını test etmek için curl komutunu birden çok kez çalıştırabilirsiniz.

Rhel9a HaProxy Nasil Kurulur6
Bravo! Bu aynı zamanda, iki düğüm arasında trafiği dağıttığı için haproxy’nin düzgün çalıştığını doğrular.

Aşağıdaki URL’ye göz atarak da istatistikleri görüntüleyebilirsiniz.

http://loadbalancer-IP/haproxy?stats

Sizden kullanıcı adı ve şifre isteyecek, haproxy’yi yapılandırırken tanımladığımız aynı kimlik bilgilerini kullanın.

Rhel9a HaProxy Nasil Kurulur7