Jump to section

Kubernetes クラスタとは

URL をコピー

Kubernetes クラスタは、コンテナ化されたアプリケーションを実行するためのノードマシン群です。Kubernetes を実行しているときは、クラスタが実行されています。

クラスタには少なくとも、1 つのコントロールプレーンと、1 つ以上のノードと呼ばれるコンピューティングマシンが含まれます。コントロールプレーンの役割は、どのアプリケーションが実行されているか、どのコンテナイメージが使用されているかといった、クラスタの望ましい状態を維持することです。ノードは実際にアプリケーションとワークロードを実行します。

クラスタは Kubernetes の主要な利点、つまりオンプレミスまたはクラウド内の物理マシンや仮想マシンのグループ全体でコンテナをスケジュールして実行する機能の中核をなすものです。Kubernetes コンテナは個々のマシンに関連付けられておらず、クラスタ全体で抽象化されています。

各 Kubernetes クラスタでは望ましい状態 (desired state) として、どのアプリケーションまたは他のどのワークロードを実行する必要があるか、どのイメージを使用するか、どのリソースを利用できるようにするべきかといった構成の詳細が定義されています。

望ましい状態は、マニフェスト (実行するアプリケーションのタイプと正常なシステム実行のために必要なレプリカ数を宣言する JSON または YAML ファイル) の集合である構成ファイルによって定義されます。

クラスタの望ましい状態は、Kubernetes API で定義します。これは、コマンドラインから (kubectl を使用)、あるいは API を使用してクラスタと通信し、望ましい状態を設定または変更することで実行できます。

Kubernetes は、クラスタを自動的に管理して望ましい状態に一致させます。簡単な例として、望ましい状態を「3」に設定してアプリケーションをデプロイするとします。この設定は、アプリケーションの 3 つのレプリカが実行されている必要があることを表します。これらのコンテナの 1 つがクラッシュした場合、Kubernetes は、実行されているレプリカが 2 つだけだということを認識し、レプリカを 1 つ追加して望ましい状態を保持します。

Kubernetes パターンを使用し、負荷に基づいてクラスタのスケールを自動的に管理することもできます。 

ノード、Pod、その他の Kubernetes 用語とクラスタとの関連

クラスタは、ノードのセットであると定義しました。クラスタの機能を理解するのに役立つ他の Kubernetes 用語をいくつか見てみましょう。

コントロールプレーン:Kubernetes ノードを制御する一連のプロセス。すべてのタスクの割り当てはここで発生します。

ノード:要求に基づいてコントロールプレーンによって割り当てられたタスクを実行するマシン。

Pod:1 つのノードにデプロイされた、1 つ以上のコンテナのセット。ポッドは、最小かつ最も単純な Kubernetes オブジェクトです。

サービス: 一連のポッドで実行されているアプリケーションをネットワークサービスとして公開する方法。ポッドから作業の定義を分離します。

ボリューム:ポッド内のコンテナにアクセスできるデータを含むディレクトリ。Kubernetes ボリュームの寿命は、それを包含するポッドと同じです。ボリュームは、ポッド内で実行されるどのコンテナよりも長く存続し、コンテナが再起動してもデータは保持されます。

名前空間:仮想クラスタ。名前空間により、Kubernetes は同じ物理クラスタ内の (複数のチームまたはプロジェクトの) 複数のクラスタを管理できます。

先進的なクラウドネイティブ・アプリケーションにより、Kubernetes 環境は高度に分散されています。オンプレミス、パブリッククラウド、およびエッジの複数のデータセンターをまたいでデプロイすることが可能です。

大規模に、あるいは本番環境で Kubernetes を使用する組織は、開発用、テスト用、本番用に複数のクラスタを環境全体に分散させ、それらを効果的に管理できるようにすることが必要です。

Kubernetes クラスタ管理とは、IT チームが Kubernetes クラスタのグループを管理する方法のことです。 

Red Hat は、Kubernetes を含むオープンソース・コンテナ・テクノロジーのリーダー企業であるとともに積極的に開発も行っており、コンテナ・インフラストラクチャの保護、単純化、自動更新に不可欠なツールを生み出しています。 

Red Hat® OpenShift® はエンタープライズ・グレードの Kubernetes ディストリビューションです。Red Hat OpenShift を使用すると、運用チームと開発チーム向けの単一の統合プラットフォームを利用できます。Red Hat OpenShift は、開発者に言語、フレームワーク、ミドルウェア、データベースの選択肢を提供するとともに、CI/CD を介したビルドおよびデプロイの自動化により生産性を大幅に向上させます。

Keep reading

Article

What's a Linux container?

A Linux container is a set of processes isolated from the system, running from a distinct image that provides all the files necessary to support the processes.

Article

Containers vs VMs

Linux containers and virtual machines (VMs) are packaged computing environments that combine various IT components and isolate them from the rest of the system.

Article

What is container orchestration?

Container orchestration automates the deployment, management, scaling, and networking of containers.

コンテナの詳細はこちら

製品

エンタープライズ対応の Kubernetes コンテナ・プラットフォームで、ハイブリッドクラウド、マルチクラウド、エッジのデプロイメントを管理するフルスタックの自動運用機能を備えています。

リソース

チェックリスト

コンテナ型アプリケーションの開発:チームと話し合うべき 5 つのトピック

e ブック

Forrester が Red Hat を マルチクラウドコンテナ開発 プラットフォームのリーダーに選出

トレーニング

無料のトレーニングコース

Running Containers with Red Hat Technical Overview

無料のトレーニングコース

Containers, Kubernetes and Red Hat OpenShift Technical Overview

無料のトレーニングコース

Developing Cloud-Native Applications with Microservices Architectures

Illustration - mail

その他の関連コンテンツ

無料のニュースレター「Red Hat Shares」(英語) では、注目の IT トピックスに関するコンテンツをお届けしています。