19
14

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で使われる用語

Posted at
用語 説明
Annotations Kubernetesではmedataのidentifyのためにラベルが使用されるが、任意のIdentifyしてないmetadataに対しても利用することができる。ラベルのようにKey/Valueで使用する。ビルド/リリース/イメージの情報やログ、モニタリングのポインタなどに利用されることを想定。
Daemon Sets Daemon Setは全てのノードがあるpodのコピーを実行することを保証する。ノードをクラスタに追加すると、Podがそれらに追加され、ノードがクラスタから取り除かれると、それらのPodはガベージコレクトされる。
Deployments PodやReplication Setsの宣言型アップデート機能を提供。Deploymentオブジェクト内で希望する状態を記載すればDeployment Controllerが要求した状態に変更してくれる。Deploymentsは新しいリソースを作成するときに定義する。次のような用途で使う。
Horizontal Pod Autoscaling Horizontal Pod Autoscalingをしながら、kubernetesは自動的にreplication controller,deployment,replica set内のPod数をスケールさせる。Horizontal Pod AutoscalerはKubernetes APIリソース、コントローラとして実装されている。コントローラは定期的にレプリカ数を調整する。
Images Pod中の各コンテナは自身のイメージを持っており、イメージのタイプとしてはDockerイメージのみ対応している。Dockerイメージを作成し、レジストリへプッシュすればKubernetesのpodから参照できる。
Ingress Resources Ingressはclusterサービスへのインバウンドコネクションを許可するルールの集まり。
Jobs ジョブは一つ以上のPodの作成、指定した数のPodの削除が行われることを保障する。Podが無事に完成すると、ジョブは完成したジョブをトラックする。
Labels と Selectors ラベルはキーバリューペアでPodなどのオブジェクトに割り当てる。 ラベルはオブジェクトの属性をユーザにとって分かりやすく意味のあるものにすることを目的としており、コアシステムの意味をダイレクトに暗示するようなラベルをつけるきではない。ラベルは整理したり、オブジェクトのサブセットを選択するのに使用される。ラベルはオブジェクト生成時、生成後に割り当てたり変更したりすることができる。ラベルを使ってPodをまとめることも可能。ラベルの例としては"release":"stable"、"environment":"dev"、"tier":"frontend"、"track":"daily"などがある。
Names Kubernetes REST APIのオブジェクトはNameとUIDでアイデンティファイされる。Nameは/api/v1/pods/some-nameのようにResource URL内でオブジェクトを参照する際に使用される。UIDはKubernetesによって生成され、どのオブジェクトにも割り当てられている。
Namespaces Kubernetesは複数の仮想クラスタをサポートしており、仮想クラスタはnamespaceと呼ばれる。
Network Policies  ネットワークポリシーは、ポッドの選択が互いにおよび他のネットワークエンドポイントと通信することが許可されているかの仕様です。 A network policy is a specification of how selections of pods are allowed to communicate with each other and other network endpoints. NetworkPolicyリソースはPodを選択するためにラベルを使用し、そのPodに対するトラフィックのホワイトリストルールを定義する。
Nodes NodeはKubernetesのworkerマシーンで、以前はMinionと呼ばれていた。各ノードはPodを実行するのに必要なサービスを備えており、Masterコンポーネントから管理される。Node上のサービスはdocker,kubelet,network proxyを含んでいる。
Persistent Volumes PersistentVolume(PV)はクラスタにおけるネットワークストレージの一部で、nodeのようなクラスタのリソースである。 PVsはVolumesのようなボリュームプラグインだが、PVを利用している他のPodとは異なる独立したライフサイクルがある。PersistentVolumeClaim(PVC)はストレージに対するリクエストで、Podに似ている。Podはノードのリソースを消費し、PVCはPVリソースを消費する。Claimは特定のサイズやアクセスモード(read/write,read-onlyなど)をリクエストすることができる。
Pet Sets Kubernetesでは、ほとんどのPodはステートレスなユニットとして、使い捨てされる概念で使用されルノに対し、Pet SetはステートフルなPodの集まりで、podはより強い概念を求める。※後で詳細に調べる。
Pods Podは1つ以上のコンテナ、コンテナ用の共有ストレージ、コンテナ実行のオプションの集まり。同じPodのContainerは常に同じ場所になるようスケジューリングされ、共有のコンテキスト上で実行される。同じノードに配置されるので、同じノードに配置して動作させたいコンテナは同じPodに含めるようにする。
Replica Sets 次世代のReplication Controller。今のところReplica SetsとReplication Controllerの違いはselectorのサポートがあるかどうかだけ。Replica Setは新しいset-based selectorをサポートしている。Replication Controllerはequality-based selectorのみサポートしている。 ほとんどのkubectlコマンドはrolling-updateの機能を除いてReplication Controllerの機能をReplica Setsは利用可能である。Rolling Updateを使用したい場合はDeploymentを使うべきである。roll outコマンドを使用したDeploymentのRolling Updateがおすすめ。今ではPodの作成、削除、更新のオーケストレーションにはDeploymentを使うことが主流。
Replication Controller Podのレプリカ数(Pod内のコンテナ数)を維持する/保証する機能。コンテナが指定したレプリカ数よりも少ない場合は新たにコンテナを起動し、増えすぎてる場合はコンテナを削除しレプリカ数を維持する。
Resource Quotas Resource Quotaはリソース消費のリミットに対する制約を与える。※詳細は別途
Secrets Secretはセンシティブ情報(パスワード、OAuth token,ssh鍵)を保持するためのもので、この情報をsecretに入れることでPodの定義やdocker imageに置くよりも安全かつフレキシブルになる。※詳細は別途
Security Context Security ContextはOSのセキュリティ設定をコンテナへ適用することを定義する。2つのSecurity Contextレベルがあり、1つはPodレベル、もう一つはコンテナレベルである。※詳細は別途
Services PodはReplication Controllerによりダイナミックに生成と削除が行われる(Podは使い捨てされるようなイメージ)。そのため、PodはIPアドレスを持ってるが、Podが生まれ変わるとIPアドレスも変わってしまう(GCEもEIPを付けないとインスタンスの再起動でIPアドレスが変わるので同じ感じ)。Serviceは、論理的なPodの集まりとそのPodにアクセスするためのポリシーを定義したアブストラクトで、これらはmicro-serviceとも呼ばれる。ServiceのターゲットとなるPodの集まりはLabel Selectorによって定義される。
Service Accounts Pod内で実行されるプロセスのアイデンティティを提供。Kubernetesではユーザアカウントは人間用、サービスアカウントはPod内で実行されるプロセス用。※GCPのサービスアカウント違いがあるか別途を調べる。
Volumes コンテナ内のファイルはエフェメラルなのでトリビアルでないアプリをコンテナで実行する場合、問題になるケースがある。(1つ目に、コンテナがクラッシュするとkubeletがコンテナをリスタートするが、ファイルはロストする。コンテナはクリーンな状態でスタートする。2つ目に、コンテナ間でファイルを共有するケース。) Voloumeの抽象化がこの問題を解決できる。※詳細は別途
19
14
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
19
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?