Quantcast
Channel: Node.jsタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 8691

Kubernetes基礎(3):Overview

$
0
0

Kubernetes Overview

Kubernetes_overview.png
Kubernetes Cluster
サーバー1台はMasterとして使って、他の複数のサーバはNodeとしてMasterに接続します。
このような組み合わせで接続されているのをKubernetes Clusterと言います。
※Nodeは3つ以上を推薦しています。

Master
Clusterを管理します。

Node
リソースを提供します。
Cluster全体のリソースを増やしたい場合はNodeを追加します。
Nodeにはkubeletが存在し、Kubernetes Masterと通信(using kubernetes API)、Nodeを管理します。
(kubeletをagentとも呼びます。)

Namespace
Cluster内のNamespaceがKubernetesのオブジェクトを独立した空間に分離(=隔離)します。
NamespaceはKubernetesの最小配布単位のPodがあり、このPodは外部からの接続が可能なように
IPアドレスを割り当てたServiceがあって接続が可能になります。
※別のNamespaceのPodへの接続はできない。

Pod
PodはKubernetes Applicationの基本実行単位であり、Deployする最小単位です。
Podには複数のContainerが入れます。
Container毎に1つのApplicationが動作するため、Podは複数のApplicationの稼働ができます。

Service
Kubernetesで動かしているサービス(PodのContainer)を外部公開します。
Podに含まれているContainerのtraffic load balancingをサポートします。

Volume
Podに問題が生じて再生成されると、その中のデータは消えてしまいます。
Volumeを作成して繋げておけば、データはVolumeに保管されるのでPodが再生成されても、データは消えません。

ResourceQuota/LimitRange
1つのNamespaceで使えるリソースの制御ができます。
例)Pod数、CPU、Memory

ConfigMap/Secret
Podの作成時、Containerの環境変数などを設定したファイルへのMountができます。

Controller
Podを管理する。
・Replication Controller/ ReplicaSet(基本的なController)
 Podの状況を常に監視し、Podが多すぎるとPodを除去し、少ないとPodを開始したり、Podを管理します。
・Deployment
 Application Instanceの生成と更新を担当します。
 Podのバージョン管理を行います。
 アップグレード時、問題が発生した場合はロールバックもできます。
・DaemonSet
 1つのNodeに1つのPodが維持出来るように管理します。
・Job
 1つ以上のPodを作成し、指定された数のPodが正常に終了することを保証します。
 このJobを定期的に実行するときはCronJobを使います。


Viewing all articles
Browse latest Browse all 8691

Trending Articles