最近、プロジェクトでは kubernetes (以下、k8s と表記、k と s の間には 8 つの文字があります) を使用しています。これまでも簡単に使ってきたのですが、最近 k8s には多くの概念があり、コマンドだけでは不十分であることがわかったので、これを機会に k8s をより包括的に理解して使用できるように何か書いてみたいと思います。この記事の目的は、k8s の概念をより包括的に理解し、仕事でよく使われる操作を学ぶことです。全体的な焦点は、原則と応用に置かれています。 k8s を正式に始める前に、k8s と Docker の関係を確認し、仮想化と展開方法の観点からコンテナを使用する理由を説明します。それでは始めましょう。 現在、Kubernetes と Docker のテクノロジーの背景と要件を比較する記事はありません。この記事では、最も純粋な公式定義の観点から、2 つのテクノロジーの背景と従来のテクノロジーとの比較について説明します。 簡単な紹介: 公式定義2:k8sは、コンテナクラスタの自動展開、自動拡張・縮小、メンテナンスなどの機能を実現できるオープンソースのコンテナクラスタ管理システムです。 従来の技術との比較: 1. 仮想化の観点から: 図1 上の図は、Docker コンテナ (k8s で管理できるもの) と従来の仮想化方法の違いを示しています。従来の仮想化技術では、物理ハードウェアを複数のハードウェア セットに仮想化した後、各ハードウェア セットにオペレーティング システムを展開し、これらのオペレーティング システム上で対応するアプリケーションを実行する必要があります。 Docker コンテナ内のアプリケーション プロセスは、ホスト マシン (実際の物理マシン) のカーネル上で直接実行されます。Docker エンジンは、いくつかの独立したアプリケーションとそれぞれの依存関係をパッケージ化し、仮想化されていないホスト ハードウェア上で独立して直接実行します。同時に、各コンテナには独自のカーネルがないため、従来の仮想マシンよりも明らかに軽量です。 各クラスターには複数のノードがあり、各ノードを管理できます。これらのアプリケーションが配置されている小さな動作環境(コンテナ)を管理するために、私たちの Kubernetes が生まれました。 2. 展開の観点から 図2 この図を上記の Docker の図と混同しないように注意してください。図 1 は、仮想化の観点からアプリケーションに必要な動作環境を提供するために必要な仮想化操作を示しています (つまり、従来: オペレーティング システムがインストールされた仮想化された仮想マシン、Docker: コンテナー エンジンによって管理されるコンテナー)。 図 2 は、実際のアプリケーションがこれらの特定のオペレーティング環境にデプロイされる状況を示しています。従来の方法は、すべてのアプリケーションを同じ物理マシン ノードに直接デプロイすることです。この方法では、各アプリケーションの依存関係はまったく同じであり、アプリケーションを分離することはできません。もちろん、分離のために、仮想マシンを作成してその中にアプリケーションをデプロイすることもできます (図 1 の上部に示すように)。ただし、これは面倒すぎるため、仮想マシンよりも軽量な Docker テクノロジが登場しました。現在では、コンテナー テクノロジをデプロイすることでアプリケーションをデプロイしており、すべてのコンテナーはコンテナー エンジン上で実行できます。仮想マシンは面倒すぎると思うので Docker を使いたいのであれば、ぜひ使ってみてください。しかし、どのように使うのでしょうか?一つずつ手動で作成しますか?もちろんそうではありませんでした。そこで Kubernetes テクノロジーが登場し、Kubernetes に代表されるコンテナ クラスター管理システムが登場する時が来ました。 簡単に言えば、Kubernetes を使用して Docker クラスターを管理します。つまり、Docker は Kubernetes 内で使用される低レベルのコンポーネントと見なすことができます。さらに、kubernetes は Docker だけでなく、別のコンテナ技術である Rocket もサポートしています。この記事の簡単な説明が、両方についての理解と知識を与えてくれることを願っています。 k8sとDockerの関係について簡単に説明したこの記事はこれで終わりです。k8sとDockerの関係についてさらに詳しく知りたい方は、123WORDPRESS.COMの過去の記事を検索するか、以下の関連記事を引き続き閲覧してください。今後とも123WORDPRESS.COMをよろしくお願いいたします。 以下もご興味があるかもしれません:
|
先ほど使用したDocker HubはDockerによって提供されています。独自のDockerを構築す...
Docker を初めて使い始めると、通常とは異なる問題に遭遇して、必然的に混乱してしまいます。大丈夫...
Ubuntu 18.04の場合1. sudo apt install python 。コマンドライン...
SRIOVの導入、VFパススルー構成、パケット転送速度性能テスト目次1. SRIOVの紹介2. 環境...
前提条件クラウドサーバー(Alibaba Cloud、Tencent CloudなどのcentOS)...
ステップ1: ローカルイーサネットプロパティをチェックして、VMwareブリッジプロトコルがインスト...
コマンドライン mysqld –skip-grant-tables は mysql8 では正常に起動...
1. はじめに以前のプログラム アーキテクチャは次の形式になります。プログラムのサイズが大きくなると...
目次1. ノード、ツリー、仮想DOM 2. 仮想DOM 2.1 データオブジェクトの詳細2.2 制約...
この記事では、スライディングスコアリングを実装するためのuniappの具体的なコードを参考までに共有...
アニメーションアニメーションを定義します。 /*アニメーションの各ステップで実行されるアクションを定...
実験環境ApacheとTomcatは両方ともIPアドレス192.168.153.136のホストにイン...
前回の記事では、Promise を使用して小さなプログラム wx.request をカプセル化する実...
目次小さいけれど美しいシンプルにNULL値を避けるデータタイプを選択する手順データ型の紹介1. 文字...
Nginx はネストされた if ステートメントをサポートしておらず、if ステートメントでの論理判...