Heim > Betrieb und Instandhaltung > Nginx > So konfigurieren Sie den TCP-Lastausgleich in Nginx

So konfigurieren Sie den TCP-Lastausgleich in Nginx

PHPz
Freigeben: 2023-05-19 08:29:28
nach vorne
1411 Leute haben es durchsucht

So konfigurieren Sie den TCP-Lastausgleich in Nginx

Angenommen, der Kubernetes-Cluster wurde konfiguriert, erstellen wir eine virtuelle Maschine für Nginx basierend auf CentOS.

Hier sind die Details der Einstellungen im Experiment:

  • Nginx (CenOS8 Minimal) – 192.168.1.50

  • Kube Master – 192.168.1.40

  • Kube Worker 1 & ndash; 1.41.

    [root@nginxlb ~]# dnf install epel-release -y
    Nach dem Login kopieren
  • Schritt 2) Nginx installieren

  • Führen Sie den folgenden Befehl aus, um Nginx zu installieren:
[root@nginxlb ~]# dnf install nginx -y
Nach dem Login kopieren

Überprüfen Sie die Nginx-Paketdetails mit dem rpm-Befehl:

[root@nginxlb ~]# rpm -qi nginx
Nach dem Login kopieren

Konfigurieren Sie die Firewall, um den Zugriff auf Nginxs http und https zu ermöglichen Dienste:

[root@nginxlb ~]# firewall-cmd --permanent --add-service=http[root@nginxlb ~]# firewall-cmd --permanent --add-service=https[root@nginxlb ~]# firewall-cmd –reload
Nach dem Login kopieren
Verwenden Sie den folgenden Befehl, um SELinux in den zulässigen Modus zu versetzen, und starten Sie das System neu, damit das Herunterfahren von Selinux wirksam wird:
[root@nginxlb ~]# sed -i s/^SELINUX=.*$/SELINUX=permissive/ /etc/selinux/config[root@nginxlb ~]# reboot
Nach dem Login kopieren

Schritt 3) Holen Sie sich die NodePort-Details der Anwendung von Kubernetes

[kadmin@k8s-master ~]$  kubectl get all -n ingress-nginx
Nach dem Login kopieren

So konfigurieren Sie den TCP-Lastausgleich in Nginx

As Sie können der obigen Ausgabe entnehmen, dass jeder Worker-Knoten NodePort 32760 Port 80 und NodePort 32375 Port 443 zugeordnet ist. Wir werden diese Knotenports in der Nginx-Konfigurationsdatei für den Lastausgleich verwenden.

Schritt 4) Nginx für den Lastausgleich konfigurieren

Bearbeiten Sie die Nginx-Konfigurationsdatei und fügen Sie Folgendes hinzu:

[root@nginxlb ~]# vim /etc/nginx/nginx.conf
Nach dem Login kopieren

Kommentieren Sie den „Server“-Teil (von Zeilen 38 bis 57) aus:

So konfigurieren Sie den TCP-Lastausgleich in Nginx

und fügen Sie die folgenden Zeilen hinzu :

upstream backend {
  server 192.168.1.41:32760;
  server 192.168.1.42:32760;
}

server {
  listen 80;
  location / {
      proxy_read_timeout 1800;
      proxy_connect_timeout 1800;
      proxy_send_timeout 1800;
      send_timeout 1800;
      proxy_set_header        Accept-Encoding   "";
      proxy_set_header        X-Forwarded-By    $server_addr:$server_port;
      proxy_set_header        X-Forwarded-For   $remote_addr;
      proxy_set_header        X-Forwarded-Proto $scheme;
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_pass http://backend;
  }

   location /nginx_status {
       stub_status;
   }
}
Nach dem Login kopieren

Speichern Sie die Konfigurationsdatei und beenden Sie den Vorgang.

So konfigurieren Sie den TCP-Lastausgleich in NginxGemäß den oben genannten Änderungen werden alle Anfragen an Port 80 von Nginx an den NodePort (32760)-Port des Kubernetes-Worker-Knotens (192.168.1.41 und 192.168.1.42) weitergeleitet.

Aktivieren Sie den Nginx-Dienst mit dem folgenden Befehl:

[root@nginxlb ~]# systemctl start nginx[root@nginxlb ~]# systemctl enable nginx
Nach dem Login kopieren

So konfigurieren Sie den TCP-Lastausgleich in Nginx Testen Sie den TCP-Load-Balancer von Nginx.

Um zu testen, ob Nginx als TCP-Load-Balancer für Kubernetes ordnungsgemäß funktioniert, stellen Sie eine Nginx-basierte Bereitstellung bereit und stellen Sie den Port der Bereitstellung bereit 80-Port und definieren Sie Einstiegsressourcen für die Nginx-Bereitstellung. Ich habe den folgenden Befehl verwendet, um diese Kubernetes-Objekte bereitzustellen:

[kadmin@k8s-master ~]$ kubectl create deployment nginx-deployment --image=nginx
deployment.apps/nginx-deployment created
[kadmin@k8s-master ~]$ kubectl expose deployments nginx-deployment  --name=nginx-deployment --type=NodePort --port=80
service/nginx-deployment exposed
Nach dem Login kopieren
So konfigurieren Sie den TCP-Lastausgleich in Nginx Führen Sie den folgenden Befehl aus, um die Bereitstellungs-, SVC- und Ingress-Details abzurufen:

Aktualisieren Sie die Hosts-Datei des Localhosts, sodass nginx-lb.example.com auf die IP verweist der Nginx-Serveradresse (192.168.1.50)

[root@localhost ~]# echo "192.168.1.50  nginx-lb.example.com" >> /etc/hosts
Nach dem Login kopieren
Versuchen Sie, über den Browser auf nginx-lb.example.com zuzugreifen

Das obige ist der detaillierte Inhalt vonSo konfigurieren Sie den TCP-Lastausgleich in Nginx. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage