GNU/Linux >> Linux の 問題 >  >> Cent OS

CentOS 7 / Ubuntu 16.04 /Fedora26/25にDockerSwarmをインストールして構成する方法

Dockerの群れ は(スウォームモードのDockerエンジンとも呼ばれます)、Dockerホストのグループを単一の論理仮想サーバーにするネイティブクラスタリングソリューションです。 Swarmは、クラスター内の多数のDockerホストにアプリケーションを分散させることで、アプリケーションの可用性と高性能を保証します。

また、Docker swarmを使用すると、アプリケーションを水平方向にスケーリングできます。つまり、同じアプリケーションのコンテナインスタンスの数を増やすことができます。

私たちのインフラストラクチャ

デモンストレーションでは、混合オペレーティングシステム環境を使用しています:

HostName IPアドレス オペレーティングシステム 目的
dockerm.itgeek.local 192.168.12.10 CentOS 7 ノードで実行されているDockerエンジンを管理するDockerマネージャーとして機能します。 Dockerマネージャーもクラスターの一部を取ります。つまり、コンテナーも実行します。
node1.itzgeek.local 192.168.12.20 Ubuntu 16.04 ワーカーノード1(Dockerエンジンの実行)
node2.itzgeek.local 192.168.12.30 Fedora 26/25 ワーカーノード2(Dockerエンジンの実行)

Docker swarmは、以前は別のツールでした。 v 1.12のDockerエンジンと統合されました 。つまり、Dockerエンジンをインストールするだけです。 すべてのホストで(マネージャーノードとワーカーノード

読む CentOS 7 /RHEL7にDockerCommunityEditionをインストールする方法

読むUbuntu16.04にDockerCommunityEditionをインストールする方法

読む DockerCommunityEditionをFedora26/Fedora25にインストールする方法

ファイアウォール

スウォームクラスターが正しく機能するには、ファイアウォールで次のポートを開く必要があります。

CentOS / Fedora:

 Firewall-cmd --permanent --add-port =7946 / tcpfirewall-cmd --permanent --add-port =4789 / udpfirewall-cmd --permanent --add-port =7946 / udpfirewall-cmd-パーマネント--add-port=2376 / tcpfirewall-cmd --permanent --add-port =2377 / tcpfirewall-cmd --permanent --add-port =80 / tcp ##WebサービスでDockerSwarmをテストしています Firewall-cmd --reload 

Ubuntu:

 ufw statusufw allow 2376 / tcpufw permit 7946 / tcpufw permit 7946 / udpufw permit 2377 / tcpufw permit 4789 / udpufw allow 80 / tcp ##WebサービスでDockerSwarmをテストしています ufw reloadufw enable 

ファイアウォールチェーンはDockerルールに影響を与えるため、必要なポートを開いた後、Dockerエンジンを再起動します。

 systemctl restart docker 

これ以降、記載されているすべてのコマンドはユニバーサルDockerコマンドであるため、Dockerがサポートする任意のオペレーティングシステム(この場合は CentOS 7 )でコマンドを実行できます。 、 Ubuntu 16.04 、および Fedora 26/25

群れを作成する

swarminit」を使用してクラスタの作成を開始しましょう 「。マネージャノード( dockerm.itzgeek.local )で次のコマンドを実行します 。

 [root @ dockerm〜]#docker swarm init --advertise-addr 192.168.12.10 

–advertise-addr オプションは、アドレスを 192.168.12.10として公開するマネージャーノードを指定します ワーカーノードがクラスターに参加できるようにします。

出力:

スウォームが初期化されました:現在のノード(uhh38rpazd5tnzjph2g5rhgxy)がマネージャーになりました。このスウォームにワーカーを追加するには、次のコマンドを実行します: docker swarm join \   --token SWMTKN-1-5y1u36a0osykywxeme2akpjp4jgx2l67mbqbc4fnazs39bp314-e6djx8ma2qnevolztpplkn26j \   192.168.12.10:2377  この群れにマネージャーを追加するには、「docker swarm join-token manager」を実行し、指示に従います。

上記の出力には、ワーカーノードをクラスターに追加するためのトークンが含まれています。

次のコマンドを使用して、群れの現在のステータスを表示します。

 [root @ dockerm〜]#docker info 

出力:

コンテナ:0実行中:0一時停止:0停止:0画像:0サーバーバージョン:17.03.1-ceStorageドライバー:devicemapperプール名:docker-253:1-297-pool。 。 ..。 。メタデータループファイル:/ var / lib / docker / devicemapper / devicemapper / metadataライブラリバージョン:1.02.135-RHEL7(2016-11-16)ロギングドライバー:json-fileCgroupドライバー:cgroupfsPlugins:ボリューム:ローカルネットワーク:ブリッジホストmacvlan nullオーバーレイ群れ:アクティブ NodeID:uhh38rpazd5tnzjph2g5rhgxy マネージャー:true  ClusterID:kp8tgowwcuiv3om0wzfgpngp7 マネージャー:1  ノード:1  オーケストレーション:タスク履歴保持制限:5ラ​​フト:スナップショット間隔:10000保持する古いスナップショットの数:0ハートビートティック:1選挙ティック:3ディスパッチャー:ハートビート期間:5秒CA構成:有効期限:3か月ノードアドレス:192.168。 12.10マネージャーアドレス:192.168.12.10:2377ランタイム:runcDefaultランタイム:runcInitバイナリ:docker-initcontainerdバージョン:4ab9917febca54791c5f071a9d1f404867857fccruncバージョン:54296cf40ad8143b62dbcaa1d90e520a2136ddfeinitバージョン:54296cf40ad8143b62dbcaa1d90e520a2136ddfeinitバージョン:54296cf40ad8143b62dbcaa1d90e520a2136ddfeinitバージョン:949 (コア)OSType:linuxArchitecture:x86_64CPUs:1Total Memory:979.9 MiB  Name:dockerm.itzgeek.local  ID:OTNI:UJZA:7CC4:TS5N:TVJ7:XXQE:5J7Q:ENWW:ZVPD:3VJI:F5DL:JYSPDockerルートディレクトリ:/ var / lib / dockerDebugモード(クライアント):falseDebugモード(サーバー):falseレジストリ:https:/ /index.docker.io/v1/警告:bridge-nf-call-iptablesが無効になっています警告:bridge-nf-call-ip6tablesが無効になっています実験:false安全でないレジストリ:127.0.0.0/8ライブ復元が有効になっています:false 

次のコマンドを使用して、群れのDockerノードを一覧表示できます。

 [root @ dockerm〜]#docker node ls 

出力:

IDホスト名ステータス可用性マネージャーステータスuhh38rpazd5tnzjph2g5rhgxy*dockerm.itzgeek.local Ready Active ページ:1 2 
Cent OS
  1. CentOS8およびFedora33にFail2Banをインストールおよび構成する方法

  2. CentOS 7 / Ubuntu 16.04 / Debian 9 /Fedora27/26でAutofsを設定する方法

  3. Rocky Linux /Centos8でdockerをインストールして構成する方法

  1. CentOS7にNginxをインストールして構成する方法

  2. CentOS7にRedisをインストールして設定する方法

  3. CentOS7にGitLabをインストールして構成する方法

  1. CentOS7にRedmineをインストールして設定する方法

  2. CentOS8にRedisをインストールして設定する方法

  3. CentOS 7 /RHEL7にDockerSwarmモードをインストールして構成する方法