概要
Kubernetes (k8s) クラスタは、コンテナ化されたアプリケーションを実行するノードの集合体です。オンプレミス、クラウド、物理/仮想マシン等、複数の環境をまたいでコンテナを実行します。Kubernetes を実行しているときは、クラスタが実行されています。
クラスタには少なくとも、1 つのコントロールプレーンと、1 つ以上のノードと呼ばれるコンピューティングマシンが含まれます。コントロールプレーンの役割は、どのアプリケーションが実行されているか、どのコンテナイメージが使用されているかといった、クラスタの望ましい状態を維持することです。ノードは実際にアプリケーションとワークロードを実行します。
クラスタは Kubernetes の主要な利点、つまりオンプレミスまたはクラウド内の物理マシンや仮想マシンのグループ全体でコンテナをスケジュールして実行する機能の中核をなすものです。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 は同じ物理クラスタ内の (複数のチームまたはプロジェクトの) 複数のクラスタを管理できます。
Red Hat のリソース
Kubernetes クラスタ管理とは
先進的なクラウドネイティブ・アプリケーションにより、Kubernetes 環境は高度に分散されています。オンプレミス、パブリッククラウド、およびエッジの複数のデータセンターをまたいでデプロイすることが可能です。
大規模に、あるいは本番環境で Kubernetes を使用する組織は、開発用、テスト用、本番用に複数のクラスタを環境全体に分散させ、それらを効果的に管理できるようにすることが必要です。
Kubernetes クラスタ管理とは、IT チームが Kubernetes クラスタのグループを管理する方法のことです。
Red Hat OpenShift の Kubernetes を選ぶ理由
Red Hat は、Kubernetes を含むオープンソース・コンテナ・テクノロジーのリーダー企業であるとともに積極的に開発も行っており、コンテナ・インフラストラクチャの保護、単純化、自動更新に不可欠なツールを生み出しています。
Red Hat® OpenShift® はエンタープライズ・グレードの Kubernetes ディストリビューションです。Red Hat OpenShift を使用すると、運用チームと開発チーム向けの単一の統合プラットフォームを利用できます。Red Hat OpenShift は、開発者に言語、フレームワーク、ミドルウェア、データベースの選択肢を提供するとともに、CI/CD を介したビルドおよびデプロイの自動化により生産性を大幅に向上させます。
OpenShift を基盤として構築された Red Hat Advanced Cluster Management と Red Hat Ansible® Automation Platform を併用することで、パブリッククラウド、オンプレミス、エッジ環境など、複数のリージョンにまたがる複数の Kubernetes クラスタを効率的にデプロイし、管理できます。
動画 Open Answeres: Red Hat OpenShift とは?(再生時間: 0:31)
Red Hat 公式ブログ
Red Hat のお客様、パートナー、およびコミュニティのエコシステムに関する最新の情報を入手しましょう。