検索
ホームページ運用・保守NginxNginx で TCP ロード バランシングを構成する方法

Nginx で TCP ロード バランシングを構成する方法

Kubernetes クラスターが構成されていると仮定して、CentOS に基づいて Nginx 用の仮想マシンを作成します。

実験での設定の詳細は次のとおりです:

  • Nginx (CenOS8 Minimal) – 192.168.1.50

  • Kube マスター – 192.168.1.40

  • Kube Worker 1 – 192.168.1.41

  • Kube Worker 2 – 192.168.1.42

##ステップ 1) epel ウェアハウスをインストールする

nginx ソフトウェア パッケージは CentOS システムのデフォルト ウェアハウスにないため、 epel ウェアハウス:

[root@nginxlb ~]# dnf install epel-release -y

ステップ 2) Nginx のインストール

次のコマンドを実行して nginx をインストールします:

[root@nginxlb ~]# dnf install nginx -y

rpm コマンドを使用して詳細を確認しますNginx パッケージの:

[root@nginxlb ~]# rpm -qi nginx

Nginx で TCP ロード バランシングを構成する方法nginx の http および https サービスへのアクセスを許可するようにファイアウォールを構成します:

[root@nginxlb ~]# firewall-cmd --permanent --add-service=http[root@nginxlb ~]# firewall-cmd --permanent --add-service=https[root@nginxlb ~]# firewall-cmd –reload

次のコマンドを使用して SELinux を許可に設定します

[root@nginxlb ~]# sed -i s/^SELINUX=.*$/SELINUX=permissive/ /etc/selinux/config[root@nginxlb ~]# reboot

ステップ 3) Kubernetes からアプリケーションの NodePort 詳細を取得します

[kadmin@k8s-master ~]$  kubectl get all -n ingress-nginx

Nginx で TCP ロード バランシングを構成する方法上記の出力からわかるように、各ワーカー ノードの NodePort 32760 はポート 80 にマッピングされ、NodePort 32375 はポート 443 にマッピングされます。これらのノード ポートを Nginx 構成ファイルで負荷分散のために使用します。

ステップ 4) 負荷分散用に Nginx を構成する

nginx 構成ファイルを編集し、次の内容を追加します:

[root@nginxlb ~]# vim /etc/nginx/nginx.conf

「server」部分をコメントアウトします。 ( 38 行目から 57 行目):

Nginx で TCP ロード バランシングを構成する方法さらに次の行を追加します:

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;
   }
}

Nginx で TCP ロード バランシングを構成する方法設定ファイルを保存して終了します。

Nginx で TCP ロード バランシングを構成する方法上記の変更に従って、nginx のポート 80 へのすべてのリクエストは、Kubernetes ワーカー ノード (192.168.1.41 および 192.168.1.42) の NodePort (32760) にルーティングされます。 ) ) ポート。

次のコマンドを使用して、Nginx サービスを有効にします:

[root@nginxlb ~]# systemctl start nginx[root@nginxlb ~]# systemctl enable nginx

Test Nginx の TCP ロード バランサー

nginx が TCP ロード バランサーとして機能するかどうかをテストするにはKubernetes Normal の場合は、nginx に基づいてデプロイメントをデプロイし、デプロイメント ポートをポート 80 として公開し、nginx デプロイメントのエントリ リソースを定義してください。次のコマンドを使用してこれらの Kubernetes オブジェクトをデプロイしました:

[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

次のコマンドを実行して、デプロイメント、svc、およびイングレスの詳細を取得します:

Nginx で TCP ロード バランシングを構成する方法ローカル ホストのホスト ファイルを更新します。 nginx-lb.example.com が nginx サーバーの IP アドレス (192.168.1.50) を指すようにします。

[root@localhost ~]# echo "192.168.1.50  nginx-lb.example.com" >> /etc/hosts

ブラウザ経由で nginx-lb.example.com にアクセスしてみます

Nginx で TCP ロード バランシングを構成する方法

以上がNginx で TCP ロード バランシングを構成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事は亿速云で複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
nginxとapacheを選択する:あなたのニーズに合った適切nginxとapacheを選択する:あなたのニーズに合った適切Apr 15, 2025 am 12:04 AM

NginxとApacheには独自の利点と短所があり、さまざまなシナリオに適しています。 1.Nginxは、高い並行性と低リソース消費シナリオに適しています。 2。Apacheは、複雑な構成とリッチモジュールが必要なシナリオに適しています。コア機能、パフォーマンスの違い、ベストプラクティスを比較することで、ニーズに最適なサーバーソフトウェアを選択するのに役立ちます。

nginxを開始する方法nginxを開始する方法Apr 14, 2025 pm 01:06 PM

質問:nginxを開始する方法は?回答:nginxスタートアップnginx検証nginxはnginxを開始しました他のスタートアップオプションを自動的に開始

Nginxが開始されるかどうかを確認する方法Nginxが開始されるかどうかを確認する方法Apr 14, 2025 pm 01:03 PM

nginxが開始されるかどうかを確認する方法:1。コマンドラインを使用します:SystemCTLステータスnginx(Linux/unix)、netstat -ano | FindStr 80(Windows); 2。ポート80が開いているかどうかを確認します。 3.システムログのnginx起動メッセージを確認します。 4. Nagios、Zabbix、Icingaなどのサードパーティツールを使用します。

nginxを閉じる方法nginxを閉じる方法Apr 14, 2025 pm 01:00 PM

NGINXサービスをシャットダウンするには、次の手順に従ってください。インストールタイプを決定します:Red Hat/Centos(SystemCtl Status Nginx)またはDebian/Ubuntu(Service Nginx Status)サービスを停止します:Red Hat/Centos(SystemCtl Stop Nginx)またはDebian/Ubuntu(Service Nginx Stop)無効自動起動(オプション):Debuntos/Centos/Centos/Centos/Centos/Centos (syst

Windowsでnginxを構成する方法Windowsでnginxを構成する方法Apr 14, 2025 pm 12:57 PM

Windowsでnginxを構成する方法は? nginxをインストールし、仮想ホスト構成を作成します。メイン構成ファイルを変更し、仮想ホスト構成を含めます。 nginxを起動またはリロードします。構成をテストし、Webサイトを表示します。 SSLを選択的に有効にし、SSL証明書を構成します。ファイアウォールを選択的に設定して、ポート80および443のトラフィックを許可します。

nginx403エラーを解く方法nginx403エラーを解く方法Apr 14, 2025 pm 12:54 PM

サーバーには、要求されたリソースにアクセスする許可がなく、NGINX 403エラーが発生します。ソリューションには以下が含まれます。ファイル許可を確認します。 .htaccess構成を確認してください。 nginx構成を確認してください。 SELINUXアクセス許可を構成します。ファイアウォールルールを確認してください。ブラウザの問題、サーバーの障害、その他の可能なエラーなど、他の原因をトラブルシューティングします。

Linuxでnginxを開始する方法Linuxでnginxを開始する方法Apr 14, 2025 pm 12:51 PM

Linuxでnginxを開始する手順:nginxがインストールされているかどうかを確認します。 systemctlを使用して、nginxを開始してnginxサービスを開始します。 SystemCTLを使用して、NGINXがシステムスタートアップでNGINXの自動起動を有効にすることができます。 SystemCTLステータスNGINXを使用して、スタートアップが成功していることを確認します。 Webブラウザのhttp:// localhostにアクセスして、デフォルトのウェルカムページを表示します。

Nginxが起動されているかどうかを確認する方法は?Nginxが起動されているかどうかを確認する方法は?Apr 14, 2025 pm 12:48 PM

Linuxでは、次のコマンドを使用して、nginxが起動されるかどうかを確認します。SystemCTLステータスNGINXコマンド出力に基づいて、「アクティブ:アクティブ(実行)」が表示された場合、NGINXが開始されます。 「アクティブ:非アクティブ(dead)」が表示されると、nginxが停止します。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール