Kubernetes API とは

URL をコピー

Kubernetes API は Kubernetes コントロールプレーンのフロントエンドであり、ユーザーはこれを使用して Kubernetes クラスタと対話します。API (アプリケーション・プログラミング・インタフェース) サーバーは、要求が有効かどうかを判別し、それから処理を行います。

本質的に、API は Kubernetes クラスタの管理、作成、構成に使用されるインタフェースで、ユーザーや外部コンポーネント、そしてクラスタの各部分が相互に通信する方法です。

Kubernetes コントロールプレーンの中心には、API サーバーとそれが公開する HTTP API があり、Kubernetes オブジェクトの状態をクエリして操作することができます。 

Kubernetes API を完全に理解するために、まずは Kubernetes の概要を確認しましょう。 

Kubernetes は、コンテナをオーケストレーションするためのオープンソース・プラットフォームです。コンテナとは、アプリケーションをランタイム環境全体にバンドルして分離できるテクノロジーのことで、これにより、すべての機能を保持しながら、開発やプロダクションなどの各ステージと、オンプレミス、パブリッククラウド、プライベートクラウド、ハイブリッドクラウド、マルチクラウドなどの各環境の間でアプリケーションを簡単に移動できます。 

そのため、コンテナ・オーケストレーション・プラットフォームとして、Kubernetes はコンテナ化アプリケーションの管理、デプロイ、スケーリングに関連する多くの手動プロセスを自動化します。

コンテナ化アプリケーションを実行しているマシン (「ノード」と呼ばれる物理サーバーまたは仮想サーバー) をグループ化することにより、クラスタを作成し、それを Kubernetes で管理およびオーケストレーションします。

単一のマシンまたはノードで実行され、リソースを共有するコンテナのグループは「ポッド」と呼ばれますが、ポッドにはコンテナを 1 つだけ含めることもできます。この場合、「ポッド」という単語を「コンテナ」という単語に置き換えることができ、依然として正しい概念です。

エンタープライズ向け Kubernetes の基礎を読む

Red Hat のリソース

Kubernetes クラスタには、コントロールプレーンとアプリケーションプレーンの 2 つの部分があります。コントロールプレーンは、API を見つける場所であり、ユーザーがクラスタと対話し、kubectl (コマンドラインツール) を使用してコマンドライン内で何を行うかを指示する方法です。API を通じて、エンドユーザー、クラスタそのもの、外部コンポーネントが相互に通信できます。 

クラスタにはそれぞれ望ましい状態があり、実行するアプリケーションやワークロード、および使用するイメージや必要なリソースなどの他の構成の詳細を定義します。クラスタの望ましい状態は API を使用して設定されます。コマンドラインの kubectl ツールを通じて、あるいは API 経由でクラスタを操作することで、望ましい状態が設定または変更されます。

Kubernetes は、自動的にクラスタを管理して望ましい状態に一致させます。Kubernetes は、ワークロードに指定されたパラメーターに基づいて常に自己管理と自己修復を試みるという点で宣言的です。

Kubernetes オペレーター は、kubectl ツールを介して API を使い、アプリケーションをパッケージ化、デプロイ、管理する方法です。 

Kubernetes では、オペレーターが Kubernetes API の機能を拡張したアプリケーション固有のコントローラーであり、ユーザーに代わって複雑なアプリケーションのインスタンスを作成、設定、管理します。オペレーターは、ドメインまたはアプリケーション固有の情報を含めることで、Kubernetes が管理するソフトウェアのライフサイクル全体を自動化できるようにします。

オープンソース・コンテナテクノロジーのリーダーであり、コンテナ・インフラストラクチャ管理のためのさまざまなツールや製品の作成も行っている Red Hat は、Kubernetes とコンテナの導入に取り組む企業を支援します。

Red Hat® OpenShift® を使用すると、ハイブリッドクラウドおよびマルチクラウドのデプロイメントを管理するために必要なものをすべて備えた、エンタープライズ対応のオープンソース・コンテナ・プラットフォームを利用できます。現在のインフラストラクチャを最大限に活用しながら、ビジネスをクラウドに移行するお手伝いをします。 

単一の統合プラットフォームの一部として、開発者は言語、ミドルウェア、フレームワーク、データベースを選択すると同時に、自動化を展開して効率と生産性を向上させることができます。 

Red Hat OpenShift を試す
ハブ

Red Hat 公式ブログ

Red Hat のお客様、パートナー、およびコミュニティのエコシステムに関する最新の情報を入手しましょう。

すべての Red Hat 製品のトライアル

Red Hat の無料トライアルは、Red Hat 製品をハンズオンでお試しいただける無料体験版です。認定の取得に向けた準備をしたり、製品が組織に適しているかどうかを評価したりするのに役立ちます。

関連情報

開発者が Red Hat OpenShift を選ぶ理由 | Red Hat

Red Hat OpenShift は、アプリ開発の複雑さを軽減するアプリケーション・プラットフォームです。開発者はどこでも、使い慣れたツールでアプリを構築し、デプロイできます。

サンドボックスコンテナとは?をわかりやすく解説 | Red Hat

サンドボックスコンテナは、アプリケーションの保護のために未テストのコード等を分離して実行する環境。コンテナを起動する仮想マシンを使用してプログラムを分離します。

ホスト型コントロールプレーンとは | Red Hat

ホスト型コントロールプレーンは、その主要コンポーネントの統合された制御と管理を行う分離された管理プレーン。小さなノードで実行でき、クラスタのコストを削減します。

コンテナリソース

関連記事