Kubernetesとは
- 発音は「クベネチス」「クーバネティス」。K8sと書かれる事もある
- Dockerコンテナをクラスタ化した際の運用ツールの1つ
複数台のホストから構成される実行環境を、1台の実行環境のように扱うことができる
-
参考
使われる単語の概要
- Deployment(デプロイメント)
- Kubernetesのデプロイメントは、デプロイ済みのアプリを(無停止で)バージョンアップさせる仕組み。動詞ではなく「Deploymentオブジェクト」が存在する。
- Pod
- デプロイの単位。1つの環境。Podごと複製できる。コンテナ。
- ReplicaSets
- Podが常に指定した数だけ起動しているようにする仕組み。Podがダウンした時に自動的に代わりのPodを起動させる。
- Service
- Pod への安定的なアクセス手段。Podはどのノードにいるか分からないし、作り直されることもあるので、PodにアクセスするにはPodの識別が必要。そこで、Podに仮想のIPアドレス(cluster IP)を割り当て、cluster IPを使ってPodにアクセスできるようにする。また、外部から見られるようにプロキシも提供する。
- Ingress
- インターネットからのアクセスを内部サービスにつなぐ仕組み。
- StatefulSet
- 状態を保持する(ステートフルな)アプリケーションを管理するためのKubernetesオブジェクト。永続ボリュームと違って分かりやすい固定の名前を付けられる。
- DaemonSet
- ノードにプログラムをインストールするための仕組み。他の使い方もある。
- Ingress Controller
- 一つのポートで複数のサービス(Ingress)に処理を振り分ける仕組み。
- ConfigMap
- 設定情報を扱うためのリソース。Secretと違って動的に反映できる。
- Secret
- パスワードや証明書などの非公開情報をPodに入れるための仕組み。ファイルや環境変数を使って受け渡す。