第1章 Kubernetes の概要


Kubernetes は、Google が開発したオープンソースのコンテナーオーケストレーションツールです。Kubernetes を使用して、コンテナーベースのワークロードを実行および管理できます。最も一般的な Kubernetes のユースケースは、相互接続されたマイクロサービスのアレイをデプロイし、クラウドネイティブな方法でアプリケーションを構築することです。オンプレミス、パブリック、プライベート、またはハイブリッドクラウド全体のホストにまたがることができる Kubernetes クラスターを作成できます。

従来、アプリケーションは単一のオペレーティングシステムの上にデプロイされていました。仮想化を使用すると、物理ホストを複数の仮想ホストに分割できます。共有リソース上の仮想インスタンスで作業することは、効率やスケーラビリティの面で最適とは言えません。仮想マシン (VM) は物理マシンと同じ数のリソースを消費するため、CPU、RAM、ストレージなどのリソースを VM に提供するとコストがかかる可能性があります。また、共有リソースでの仮想インスタンスの使用により、アプリケーションのパフォーマンスが低下する場合があります。

図1.1 従来のデプロイメント向けのコンテナーテクノロジーの進化

247 OpenShift Kubernetes の概要

この問題を解決するには、コンテナー化された環境でアプリケーションを分離するコンテナー化テクノロジーを使用することができます。VM と同様に、コンテナーには独自のファイルシステム、vCPU、メモリー、プロセススペース、依存関係などがあります。コンテナーは基盤となるインフラストラクチャーから切り離されており、クラウドや OS ディストリビューション間で移植可能です。コンテナーは本来、全機能を備えた OS よりもはるかに軽量で、オペレーティングシステムカーネルで実行される軽量の分離されたプロセスです。仮想マシンは、(コンテナーよりも) 起動に時間がかかり、物理ハードウェアを抽象化したものです。VM は、ハイパーバイザーを使用して単一のマシンで実行されます。

Kubernetes を利用すると、以下のようなアクションを行うことができます。

  • リソースの共有
  • 複数のホストにまたがるコンテナーのオーケストレーション
  • 新しいハードウェア設定のインストール
  • ヘルスチェックと自己修復アプリケーションの実行
  • コンテナー化されたアプリケーションのスケーリング

1.1. Kubernetes コンポーネント

表1.1 Kubernetes コンポーネント
コンポーネント目的

kube-proxy

クラスター内のすべてのノードで実行され、Kubernetes リソース間のネットワークトラフィックを維持します。

kube-controller-manager

クラスターの状態を管理します。

kube-scheduler

Pod をノードに割り当てます。

etcd

クラスターデータを保存します。

kube-apiserver

API オブジェクトのデータを検証および設定します。

kubelet

ノード上で実行され、コンテナーマニフェストを読み取ります。定義されたコンテナーが開始され、実行されていることを確認します。

kubectl

ワークロードの実行方法を定義できるようにします。kubectl コマンドを使用して、kube-apiserver と対話します。

Node

ノードは、Kubernetes クラスター内の物理マシンまたは VM です。コントロールプレーンはすべてのノードを管理し、Kubernetes クラスター内のノード全体で Pod をスケジュールします。

コンテナーランタイム

コンテナーランタイムは、ホストオペレーティングシステムでコンテナーを実行します。Pod をノードで実行できるように、各ノードにコンテナーランタイムをインストールする必要があります。

永続ストレージ

デバイスがシャットダウンされた後でもデータを保存します。Kubernetes は永続ボリュームを使用して、アプリケーションデータを保存します。

container-registry

コンテナーイメージを保存してアクセスします。

Pod

Pod は、Kubernetes における最小の論理単位です。Pod には、ワーカーノードで実行する 1 つ以上のコンテナーが含まれています。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.