44
43

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Kubernetesの基本用語

Last updated at Posted at 2018-12-06

Kubernetesの基本用語について図も使用してまとめます。
記載内容は基礎中の基礎になる部分です。

前提

Dockerの使用経験あり、又はどのようなものなのか基本部分は分かっていること。

Kubernetesとは

Kubernetesは、多数のコンテナに対する運用管理作業(コンテナオーケストレーション)を自動化するシステム。
運用管理とは、例えば1つのコンテナにアクセスが集中しないように複数コンテナにアクセスを分配するなど。

Kubernetesの基本概要図

以降、以下の図を元に基本用語を解説します。

kube.png

基本用語

Cluster

ClusterはKubernetesのリソースを管理する集合体のこと。
リソースとは、図にあるようなNodeやPodのことです。

その中のリソースで一番大きな概念がNodeになります。
Clusterは1つのMaster Node複数のNodeから構成されます。

Node

Nodeとはホストのことです。ホストとは、GCPであればCompute Engineのインスタンス、AWSであればEC2のインスタンスになります。

上記の通り、NodeにはMaster NodeとNodeがあります。

Master NodeはKubernetesを管理する以下の管理コンポーネントで構成されています。

  • Kube apierver:KubernetesのAPIを公開する。kubectl(※1)からの操作を受け付ける役割があります。
  • etcd:分散KVS。クラスタのバッキングストアとして使用される。
  • Kube scheduler:コンテナを配置する最適なNodeを選択する。
  • Kube controller manager:リソースを制御する。

尚、GCPのKubernetes(GKE)を使用する場合は、Master Nodeを意識する必要はないです。

Nodeはコンテナ化されたアプリケーションなどを実際に実行するホストになります。

※1 kubectl:クラスタ内のリソースの情報を取得したり操作したりするコマンドラインツール。例えば、クラスタ内のNodeの一覧を取得したりできる。

Pod

Podはコンテナの集合体です。
PodはNodeの中で動作し、1つ以上のコンテナを持っています。
Kubernetesにデプロイする場合は、Pod単位に行います。

Container

Dockerコンテナのことです。

ReplicaSet

図にはないですが、押さえておくべき用語です。

ReplicaSetとは、同一仕様のPodを複数生成する仕組みです。
図で言えば、コンテナA、Bが動作するPodを必要な数(レプリカ数)生成して管理します。

Service

これも図にはないです。

Serviceは、Podにアクセスするための経路を定義します。
Serviceにはいくつか種類があり、以下のようなものがあります。LoadBalancerなんかは有名ですよね。

  • ClusterIP:クラスタ内の内部IPアドレスでServiceを公開可能にする。Pod間のアクセスをServiceを介して可能にする。
  • NodePort:基本はClusterIPと同じ。但し、グローバルにポートを開放する。
  • LoadBalancer:各クラウドで提供されているロードバランサーと連携する。
  • ExternalName:クラスタ内から外部ホストに接続する時の名前解決を可能にする。

Deployment

最後にDeployment。こちらも図にはないです。

DeploymentはReplicaSetの上位リソースになり、ReplicaSetを管理します。
ReplicaSetがPodを管理・操作するのと同様に、ReplicaSetはDeploymentに管理・操作されます。

関係としては以下のようになります。
Deployment → ReplicaSet → Pod

DeploymentはReplicaSetの新しいバージョンのリリースを可能とし、世代管理も可能にします。
世代管理しているので、前のバージョンに戻すことができます(ロールバック)。
この仕組があるので、リリースしたものの問題があったため、元に戻したい場合に簡単に戻せるようになります。

まとめ

まだまだ知っておくべき用語はあるのですが、最低限押さえておくべき用語について説明を書きました。
私自身もKubernetesは触り始めたばかりなので、必要に応じて追記して行けたらと考えています。

44
43
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
44
43

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?