Ritolabo
  1. Home

requests / limits: Kubernetes でコンテナが使う CPU とメモリを決める

  • Kubernetes
requests / limits: Kubernetes でコンテナが使う CPU とメモリを決める

requests / limits は、コンテナが使う CPU とメモリの量を Deployment の YAML に書く設定。kind で作ったローカルクラスタで、書かない Pod は Node に何も予約しないこと、requests が Node の空きを超えると Pending になること、メモリの limits を超えると OOMKilled で止められること、CPU の limits は待たされるだけで止められないことを、実行結果とあわせて確認する。

Probe: Kubernetes でコンテナが動いているかを確かめる

  • Kubernetes
Probe: Kubernetes でコンテナが動いているかを確かめる

Probe は、コンテナの中のアプリが動いているかを kubelet に定期的に確かめさせる設定。kind で作ったローカルクラスタで、Probe なしの Pod のアプリを壊しても Running のままであること、readiness probe が失敗すると Service の届け先から外れること、liveness probe が失敗するとコンテナが起動し直されることを、実行結果とあわせて確認する。

Secret: Kubernetes で機密情報を Pod に渡す

  • Kubernetes
Secret: Kubernetes で機密情報を Pod に渡す

Secret は、パスワードのような機密情報をキーと値の組で保存したデータ。kind で作ったローカルクラスタで Secret を作り、kubectl describe では値が表示されないこと、保存されている値は base64 でエンコードされているだけでデコードすれば読めること、Pod が環境変数として受け取れることを、実行結果とあわせて確認する。

ConfigMap: Kubernetes で Pod に渡す設定値

  • Kubernetes
ConfigMap: Kubernetes で Pod に渡す設定値

ConfigMap は、設定の値をキーと値の組で保存するリソース。kind で作ったローカルクラスタで、ConfigMap の値を Pod の環境変数とファイルの両方に渡し、ConfigMap を書き換えたときに環境変数とファイルで反映のされ方が違うことを、実行結果とあわせて確認する。

Service: Kubernetes で Pod への宛先を固定する

  • Kubernetes
Service: Kubernetes で Pod への宛先を固定する

Service は、複数の Pod に対する変わらない宛先を定義するリソース。kind で作ったローカルクラスタで、Pod の IP が変わること、Service と EndpointSlice の関係、クラスタの中から Service の名前でアクセスしたときの動き、Pod が入れ替わったときの届け先の更新を、実行結果とあわせて確認する。

Deployment: Kubernetes で Pod の数と更新を管理する

  • Kubernetes
Deployment: Kubernetes で Pod の数と更新を管理する

Deployment は Pod をいくつ、どんな中身で動かすかを定義するリソース。kind で作ったローカルクラスタで、Deployment・ReplicaSet・Pod の関係、Pod を消したときの作り直し、replicas の増減、image を変えたときのローリングアップデートを、実行結果とあわせて整理する。

Author

rito

rito

  • Backend Engineer
  • Tokyo, Japan
  • PHP 5 技術者認定上級試験 認定者
  • 統計検定 3 級