1. まず、docker と k8s の公式の定義を見てみましょう:
Docker は、開発者がアプリケーションをパッケージ化できるようにするオープンソースのアプリケーション コンテナ エンジンです。依存関係はポータブル コンテナに入れられ、仮想化も可能な一般的な Linux マシンに配布されます。
(推奨チュートリアル: docker)
k8s は、コンテナクラスターの自動デプロイ、自動拡張・縮小、メンテナンスを実現できるオープンソースのコンテナクラスター管理システムです。 。
2. 次に、この 2 つのテクノロジーと従来のテクノロジーとの比較を見てみましょう:
1. 仮想化の観点から見る
従来の仮想テクノロジーは、物理ハードウェアを複数のハードウェア セットに仮想化した後、オペレーティング システムを各ハードウェア セットに展開し、対応するアプリケーションをこれらのオペレーティング システム上で実行する必要があります。
Docker コンテナ内のアプリケーション プロセスは、ホスト (実際の物理マシン) のカーネル上で直接実行されます。Docker エンジンは、いくつかの独立したアプリケーションとそれぞれの依存関係をパッケージ化し、将来的には独立して実行します。仮想化ホスト上では、ハードウェアの場合、各コンテナには独自のカーネルがないため、従来の仮想マシンよりも明らかに軽量です。
各クラスターには複数のノードがあり、各ノードを使用できます。私たちの kuberbete は、これらのアプリケーションが配置されている小規模なオペレーティング環境 (コンテナー) を管理するように設計されています。
2. デプロイメントの観点から見る:
従来の方法では、すべてのアプリケーションを同じ物理マシン ノードに直接デプロイします。この方法では、各アプリの依存関係はまったく同じになります。もちろん、分離するために、仮想マシンを作成してそこにアプリをデプロイすることもできますが、これは面倒すぎます。
現在、コンテナ コンテナをデプロイするテクノロジを通じてアプリケーションをデプロイしており、すべてのコンテナがコンテナ エンジン上で実行できるようになりました。
仮想マシンの重い作業負荷が嫌いで、Docker を使用したいと考えている場合は、Docker を使用してください。使用方法は何ですか?一つ一つ手動で作成しますか?もちろんそうではなく、kubernetes テクノロジーが登場し、kubernetes に代表されるコンテナ クラスター管理システムが登場しようとしていました。
3. 最後に、docker と k8s の関係を分析しましょう:
Docker クラスターの管理に kubernetes を使用します。つまり、Docker は使用される低レベルのコンポーネントとみなすことができます。内部的には Kubernetes によって行われます。
さらに、kubernetes は Docker をサポートするだけでなく、別のコンテナー テクノロジーである Rocket もサポートします。
以上がdocker と k8s の関係は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。