Docker クラスタの役割: 複数の Docker ホストを全体として抽象化し、その Docker ホスト上の各種 Docker リソースを入口 (クラスタマネージャ) を通じて一元管理します。 Docker クラスターの利点には、スケーラブルな拡張、ローリング アップグレード、迅速な展開、オンライン展開などが含まれます。
このチュートリアルの動作環境: linux5.9.8 システム、docker-1.13.1 バージョン、Dell G3 コンピューター。
Docker クラスターの用途は何ですか?
クラスターは、docker を実行し、グループに追加された複数のマシンのグループです。クラスターに参加した後は、引き続き独自の docker コマンドを実行できますが、これらのマシンはクラスター マネージャーによって管理されるようになります。クラスター内で実行されます。
簡単に言うと、複数のDockerホストを全体として抽象化し、そのDockerホスト上のさまざまなDockerリソースを1つの入り口(クラスターマネージャー)から管理します。
大企業にとって、Docker クラスターには、スケーラブルな拡張、ローリング アップグレード、迅速な展開とオンライン展開などの大きな利点があります。
Docker コンテナーを使用すると、Linux システムにプログラムをパッケージ化し、他のプログラムからプログラムを分離できます。これは、コンピューター上のソフトウェアとは関係のない、仮想マシンにソフトウェアをインストールするのと同じです。ただし、仮想マシンとの最大の違いは、パフォーマンスのオーバーヘッドが特に小さいことです。
クラスター内のマシンは物理マシンまたは仮想マシンにすることができ、グループに参加した後の各マシンはノードと呼ばれます。クラスター マネージャーは、使用率が最も低いコンテナーを埋めるために使用される最も空のノード、各マシンが指定されたコンテナー サービスのインスタンスを 1 つだけ取得できるようにするグローバルなど、さまざまな戦略を使用して実行中のコンテナーを管理できます。
これらのポリシーをファイルに書き込んで、クラスター マネージャーのポリシーを実行できます。
クラスター マネージャーは、クラスター内でコマンドを実行できる唯一のマシンです。他のマシンがクラスター管理作業に参加することを許可することもできます。認可されたマシンはワーカーが能力を提供するために存在していることしか実行できず、他のマシンに何をすべきか、何をすべきでないかを指示することはできません。
docker がクラスター モードをオンにすると、コンピューターはクラスター マネージャーになり、docker によって実行されるコマンドは、現在のコンピューター上で実行されるだけでなく、クラスターを管理するコマンドになります。
Docker クラスター マネージャー-Swarm
Docker Swarm には、エンタープライズ レベルの Docker セキュリティ クラスターとマイクロサービス アプリケーション オーケストレーション エンジンという 2 つの側面が含まれています。
クラスタリングの観点から見ると、Swarm は 1 つ以上の Docker ノードを編成して、ユーザーがクラスター内でそれらのノードを管理できるようにします。
Swarm には、暗号化された分散クラスター ストア、暗号化されたネットワーク、パブリック TLS (相互 TLS)、セキュア クラスター アクセス トークン (セキュア クラスター参加トークン)、およびデジタル処理を簡素化する一連の PKI (公開キー インフラストラクチャ) が組み込まれています。証明書の管理。ノードは自由に追加または削除できます。
オーケストレーションの点では、Swarm は複雑なマイクロサービス アプリケーションのデプロイと管理を容易にする豊富な API セットを提供します。宣言型構成ファイルでアプリケーションを定義すると、ネイティブの Docker コマンドを使用してアプリケーションをデプロイできます。
さらに、ローリング アップグレード、ロールバック、拡張および縮小操作も実行でき、これらも簡単なコマンドに基づいて完了できます。
これまで、Docker Swarm は Docker エンジンをベースとした独立した製品でした。 Docker バージョン 1.12 以降、Docker エンジンに完全に統合されており、単一のコマンドを実行するだけで有効化できます。 2018 年までに、ネイティブの Swarm アプリケーションに加えて、Kubernetes アプリケーションのデプロイと管理が可能になる予定です。
Swarm の構成およびステータス情報は、すべての管理ノードにある分散 etcd データベースに保存されます。データベースはメモリ内で実行され、データを最新の状態に保ちます。このデータベースの最も優れた点は、構成がほとんど必要なく、Swarm の一部としてインストールされ、管理が必要ないことです。
クラスター管理に関して、最大の課題はセキュリティの確保です。 Swarm クラスターをセットアップする場合、TLS は Swarm と緊密に統合されているため、必然的に使用することになります。
セキュリティ意識が高まっている今日の時代では、このようなツールは積極的に推進されるべきです。 Swarm は、通信の暗号化、ノード認証、およびロールの認可に TLS を使用します。自動キーローテーションはさらに素晴らしい機能です。バックグラウンドで静かに動作するため、ユーザーはこの機能の存在にさえ気づきません。
アプリケーション オーケストレーションに関しては、Swarm の最小スケジューリング単位はサービスです。これは Swarm とともに導入され、API の新しいオブジェクト要素であり、コンテナに基づいたいくつかの高度な機能をカプセル化した上位レベルの概念です。コンテナーがサービスにカプセル化されると、それはタスクまたはコピーと呼ばれ、拡張と縮小、ローリング アップグレード、単純なロールバックなどの機能がサービスに追加されます。
推奨される学習: 「docker ビデオ チュートリアル 」
以上がdocker クラスターの用途は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。