Kubernetes 応用コース / Chapter 04

Headlamp・Helm・RBAC

GUIとパッケージ管理を使いながら、閲覧・操作権限を安全に分ける。この章では、構成要素をつなぐ認証・運用の境界を確認します。

この章で学ぶこと
  1. HeadlampはKubernetes状態を可視化するUIであり、RBAC権限の範囲だけを表示する。
  2. Helmは関連マニフェストをchartとしてまとめて導入・更新する。
  3. ServiceAccount、Role、RoleBindingを分けて最小権限にする。

01HeadlampはRBACの範囲を見せるUI

UIに見えるResourceは、ログイン主体またはServiceAccountが許可されたKubernetes APIの範囲で決まる。

Headlampに表示される範囲
画面で見えない場合も、先にUI不具合と決めずRBACのget/list/watchを調べる。

画面で見えない場合も、先にUI不具合と決めずRBACのget/list/watchを調べる。

判断できるようになること:HeadlampはRBACの範囲を見せるUI。

02Helmはchartをreleaseとして管理する

chartのテンプレートとvaluesを使い、namespaceに導入したreleaseをupgrade/rollbackできる。

Helmの導入と更新の流れ
手作業で1リソースずつ変更するより、values差分とrelease履歴で変更を追える。

手作業で1リソースずつ変更するより、values差分とrelease履歴で変更を追える。

判断できるようになること:Helmはchartをreleaseとして管理する。

03最小権限をRoleBindingで接続する

ServiceAccount、Role、RoleBindingを分けると、何を許し、誰へ付与するかを別々に監査できる。

ServiceAccountとRoleBindingの関係
必要なnamespaceのget/list/watchだけを許可し、deleteや他namespaceは拒否されることを確認する。

必要なnamespaceのget/list/watchだけを許可し、deleteや他namespaceは拒否されることを確認する。

判断できるようになること:最小権限をRoleBindingで接続する。

章のまとめ

  1. HeadlampはKubernetes状態を可視化するUIであり、RBAC権限の範囲だけを表示する。
  2. Helmは関連マニフェストをchartとしてまとめて導入・更新する。
  3. ServiceAccount、Role、RoleBindingを分けて最小権限にする。