Kubernetes basic glossary — PartI
Kubernetes基本的な単語集-PartI
Kubernetesのコンセプトを理解するために知っておくべきKubernetes単語集です。
長いので2つに分けて投稿します。
今回は1回目です。イメージ、ノード、クラスターのような用語を解説しています。
Kubernetesを学び始めた時、私はKubernetesが導入するすべての要素に圧倒されました。 一方で、Kubernetesの世界に深く飛び込めば飛び込むほど、慣れなければならないより多くの新しい側面が出てきました。そこからしばらくして、いくつかの要素をまったく活用していないことに気付きました。そのうちのいくつかはまだ必要ではなく、現在の要件に実際に役立つのはごくわずかです。
これはみなさんの場合にも当てはまると私は強く思っています。多くの人が私が説明したものと同様の問題を抱えているのを知っています。 そのため、独自のアプリケーションをKubernetesにデプロイして外部に公開するために必要な最小限のスタックをここでみんなに公開することにしました。
Prerequisites
I assume you already have a Kubernetes cluster available. It can be installed locally or hosted, among the others, on Google Cloud Platform.
Additionally, you may have a look at my recent article which will help you to set everything up:
既にKubernetesクラスターが利用可能であることを想定しています。 Kubernetes cluster はGoogle Cloud Platformにローカルにインストールすることも、ホストすることもできます。
さらに、すべてのセットアップするのに役立つ私の最近の記事をご覧いただくことも可能です。
Glossary
セットアップで使用する予定のすべてのコンポーネントを見ていきましょう。 それらのコンポーネントに慣れてきたら、アプリケーションに合わせて適切にコンフィグレーションを開始できるようになります。
Image
イメージとは、アプリケーションの実行に必要なものすべて(コード、ランタイム、システムライブラリとツール、環境変数、コンフィグレーションファイル)を含む、軽量で単独で機能可能な実行可能ソフトウェアパッケージです。
Container
コンテナは、イメージを実行することにより起動されます。 イメージのランタイムインスタンスです。 これは、実行時にメモリ内にあるものが変化するものです。
コンテナはアプリケーションレイヤーでのアブストラクションであり、同じマシンで実行でき、OSカーネルを他のコンテナと共有できます。各コンテナは、ユーザースペースで別々のプロセスとして実行されます。
Node
ノードは、コンテナがデプロイされているKubernetes上のVMまたは物理マシンという意味です。 各ノードはマスターコンポーネントによって管理されます。
ノードは本質的にKubernetesによって生成されるのではありません。クラウドプロバイダーによって外部で作成されるか、物理マシンまたは仮想マシンのプールに存在します。 したがって、Kubernetesはノードを生成するときに、ノードを表すオブジェクトを作成します。
それぞれのワーカー上のサービスは、次のものを含みます。
- コンテナ実装のための責任を担うソフトウェア
- Kubernetes Master とコミュニケートするノードエージェント
- Kubernetes のネットワークサービスを反映するネットワークプロキシ
Cluster
クラスターは、少なくとも1つのマスターノードと複数のワーカーノードで構成されます。 これらのマシンはKubernetesクラスターオーケストレーションシステムを実行します。 Kubernetesクラスターを実行したら、その上にコンテナ化されたアプリケーションをデプロイできます。 実際のアプリケーションは、クラスター全体にダイナミックにデプロイされます。
マスターは、クラスターの統合エンドポイントです。 クラスターとのすべてのインタラクションはKubernetes API呼び出しを介して行われ、マスターはKubernetes APIサーバープロセスを実行してこれらの要求を処理します。 クラスターマスターは、クラスターのすべてのノードで実行するものを決定する役割を担っています。 したがって、各ノードはマスターから管理されます。
Kubernetes
Kubernetesは、単一のユニットとして機能するように接続されたノードのクラスターを調整します。 Kubernetesのアブストラクションにより、コンテナ化されたアプリケーションを個別のマシンに特別に結び付けることなくクラスターにデプロイできます。 Kubernetesは、クラスター全体のアプリケーションコンテナーのディストリビューションとスケジューリングをより効率的な方法で自動化します。
エンドユーザーはKubernetes APIを直接使用して、クラスターとインターラクトできます。 Kubernetesは、コンテナ化されたアプリケーションをいつどんな場所でも実行できるようにし、作業に必要なリソースとツールを見つけるのに役立ちます。
さきほど述べた構造:
基本的な概念を理解したら、今度はより複雑な概念の説明にうつりましょう。 これらを使用して、Kubernetesのコンフィグをコードとして表します。
Orangesys.ioでは、kuberneteの運用、DevOps、監視のお手伝いをさせていただいています。ぜひ私たちにおまかせください。