【Kubernetes初めの一歩】リソースざっくりまとめ

はじめに

Kubernetesを勉強していて、Kubernetesのリソースが多くどれがなんだかわからなくなるので、ざっくりまとめてみました。

https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.22/

アルファベット順に並べています。

ConfigMap

機密性のない設定ファイルを定義して、Podへ提供します。

環境変数やコマンドライン引数などをコンテナから分離できます。

ConfigMap
ConfigMapは、 機密性のないデータをキーと値のペアで保存するために使用されるAPIオブジェクトです。Podは、環境変数、コマンドライン引数、またはボリューム内の設定ファイルとしてConfigMapを使用できます。 ConfigMapを使用すると、環境固有の設定をコンテナイメージから分離できるため、アプリケーショ...

CronJob

Cron形式で指定したスケジュールで実行されるJobです。

CronJob
FEATURE STATE: Kubernetes v1.8 CronJob は繰り返しのスケジュールによってJobを作成します。 CronJob オブジェクトとは crontab (cron table)ファイルでみられる一行のようなものです。 Cron形式で記述された指定のスケジュールの基づき、定期的にジョブが...

Deployment

ReplicaSetを管理します。

DeploymentはReplicaSetを管理することでPodを制御します。

Deployment
Deployment はPodとReplicaSetの宣言的なアップデート機能を提供します。 Deploymentにおいて 理想的な状態 を記述すると、Deploymentコントローラーは指定された頻度で現在の状態を理想的な状態に変更します。Deploymentを定義することによって、新しいReplicaSetを作成し...

Ingress

Serviceに対する外部からのアクセスを制御します。

Ingress
FEATURE STATE: Kubernetes v1.19 クラスター内のServiceに対する外部からのアクセス(主にHTTP)を管理するAPIオブジェクトです。 Ingressは負荷分散、SSL終端、名前ベースの仮想ホスティングの機能を提供します。 用語 簡単のために、このガイドでは次の用語を定義します。 ...

Job

常駐ではない、正常終了することが保証しているPodの集合です。

Jobs
A Job creates one or more Pods and will continue to retry execution of the Pods until a specified number of them successfully terminate. As pods successfully co...

Namespace

Kubernetesクラスターで作成される仮想的なクラスターです。

Namespace(名前空間)
Kubernetesは、同一の物理クラスター上で複数の仮想クラスターの動作をサポートします。 この仮想クラスターをNamespaceと呼びます。 複数のNamespaceを使う時 Namespaceは、複数のチーム・プロジェクトにまたがる多くのユーザーがいる環境での使用を目的としています。 数人から数十人しかユーザーの...

Node

コンテナを配置するためのPodを実行する1つのVMまたは物理マシンです。

ノード
Kubernetesはコンテナを Node 上で実行されるPodに配置することで、ワークロードを実行します。 ノードはクラスターによりますが、1つのVMまたは物理的なマシンです。 各ノードはPodやそれを制御するコントロールプレーンを実行するのに必要なサービスを含んでいます。 通常、1つのクラスターで複数のノードを持ち...

PersistentVolume

Podが利用するストレージを定義します。

永続ボリューム
このドキュメントではKubernetesの PersistentVolume について説明します。ボリュームを一読することをおすすめします。 概要 ストレージを管理することはインスタンスを管理することとは全くの別物です。PersistentVolumeサブシステムは、ストレージが何から提供されているか、どのように消費さ...

PersistentVolumeClaim

動的にPersistentVolumeを確保します。

永続ボリューム
このドキュメントではKubernetesの PersistentVolume について説明します。ボリュームを一読することをおすすめします。 概要 ストレージを管理することはインスタンスを管理することとは全くの別物です。PersistentVolumeサブシステムは、ストレージが何から提供されているか、どのように消費さ...

Pod

コンテナの集合体で、コンテナを実行する方法を定義します。

Pod
Podは、Kubernetes内で作成・管理できるコンピューティングの最小のデプロイ可能なユニットです(Podという名前は、たとえばクジラの群れ(pod of whales)やえんどう豆のさや(pea pod)などの表現と同じような意味です)。 Podは、1つまたは複数のコンテナのグループであり、ストレージやネットワー...

ReplicaSet

同じ仕様のPodを複数生成、管理します。

ReplicaSet
ReplicaSetの目的は、どのような時でも安定したレプリカPodのセットを維持することです。これは、理想的なレプリカ数のPodが利用可能であることを保証するものとして使用されます。 ReplicaSetがどのように動くか ReplicaSetは、ReplicaSetが対象とするPodをどう特定するかを示すためのセレ...

Secret

認証情報などの機密情報を定義し、Podから参照できるようにします。

Secret
KubernetesのSecretはパスワード、OAuthトークン、SSHキーのような機密情報を保存し、管理できるようにします。 Secretに機密情報を保存することは、それらをPodの定義やコンテナイメージに直接記載するより、安全で柔軟です。 詳しくはSecretの設計文書を参照してください。 Secretはパスワー...

Service

アプリケーションとして実行されているPodの集合にアクセスする経路を定義します。

Service
Podの集合で実行されているアプリケーションをネットワークサービスとして公開する抽象的な方法です。 Kubernetesでは、なじみのないサービスディスカバリーのメカニズムを使用するためにユーザーがアプリケーションの修正をする必要はありません。 KubernetesはPodにそれぞれのIPアドレス割り振りや、Podのセ...

StatefulSet

データストアのような状態を保持する(ステートフルな)Podを複数生成、管理します。

StatefulSet
StatefulSetはステートフルなアプリケーションを管理するためのワークロードAPIです。 StatefulSetはDeploymentとPodのセットのスケーリングを管理し、それらのPodの順序と一意性を保証 します。 Deploymentのように、StatefulSetは指定したコンテナのspecに基づいてPo...

参考

タイトルとURLをコピーしました