Linux で高可用性コンテナ ネットワークをセットアップする方法
はじめに:
現代のクラウド コンピューティング環境では、コンテナ テクノロジはアプリケーションをデプロイするための非常に一般的な方法となっています。コンテナ ネットワーキングに関しては、高可用性が重要な要件です。この記事では、Linux 上で高可用性コンテナ ネットワークをセットアップする方法と、対応するコード例を紹介します。
1. Docker Swarm を使用してクラスターを構築する
Docker Swarm は、複数の Docker コンテナーを簡単に管理できるようにするコンテナー オーケストレーション ツールです。まず、Docker Swarm クラスターを構築する必要があります。以下は簡単な手順です:
Docker Engine と Docker Swarm をインストールする
Docker Engine と Docker Swarm を各ノードにインストールします。次のコマンドを使用してインストールします:
$ curl -fsSL https://get.docker.com -o get-docker.sh $ sudo sh get-docker.sh $ sudo usermod -aG docker your-user $ docker swarm init --advertise-addr your-ip
クラスターに参加します
他のノードで次のコマンドを使用してクラスターに参加します:
$ docker swarm join --token your-token your-ip
ネットワークの構成
コンテナ間の通信用にクラスター内にオーバーレイ ネットワークを作成します:
$ docker network create --driver overlay my-network
サービスを実行します
高可用性サービスを作成し、クラスターにデプロイします媒体:
$ docker service create --replicas 3 --network my-network --name my-service nginx
2. Keepalived を使用してフェイルオーバーを実装する
Docker Swarm の使用に加えて、Keepalived を使用してコンテナ ネットワークのフェイルオーバーを実装することもできます。 Keepalived は、ホストの可用性を確保する高可用性ソフトウェアです。手順は次のとおりです。
Keepalived の設定
Keepalived 設定ファイルを各ノードに作成します。例は次のとおりです (ファイル名は keepalived.conf)。 Docker を確認する サービスが正常に実行されているかどうかを確認するスクリプト My-service は、監視する必要がある Docker サービスです。
Docker Swarm と Keepalived を使用することに加えて、コンテナ ネットワークのロード バランサーとして Nginx を使用することもできます。手順は次のとおりです。
Nginx のインストールvrrp_script chk_docker { script "docker service ls | grep my-service" interval 5 } vrrp_instance VI_1 { interface eth0 state MASTER virtual_router_id 51 priority 100 advert_int 1 authentication { auth_type PASS auth_pass my-password } virtual_ipaddress { 10.0.0.100 } track_script { chk_docker } }
0 人がこの記事に同意し、0 人がこの記事に反対しました
以上がLinux 上で高可用性コンテナ ネットワークをセットアップする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。