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

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

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

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

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

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

kubectl は Kubernetes の API サーバーにリクエストを送るコマンドラインツール。kind で作ったローカルクラスタで、context の確認、get の出力の切り替え、namespace、explain、exec、apply による変更の反映を、実行結果とあわせて整理する。

Kubernetes でコンテナを動かす単位である Pod を、kind で作ったローカルクラスタで実際に作成・確認・削除する。Pod の YAML の読み方、kubectl get / describe / logs で見えるもの、Pod を消したときの動きを、実行結果とあわせて整理する。