設定
アプリケーションは、API エンドポイントのような環境固有の設定から、データベースパスワードのような機密性の高い認証情報まで、設定データを必要とすることがよくあります。Kubernetes は設定データを管理するための 2 つのコアリソースを提供しています。
ConfigMap - 機密性のない設定データ用 Secret - パスワード、トークン、証明書などの機密情報用
最近のアプリケ ーションは複数の環境で実行され、動的にスケールすることが多くなっています。
Kubernetes の設定リソースは、以下のことを可能にすることで、これを簡単にします。
- 設定をコードから分離する — 同じコンテナをどこにでもデプロイできるようにする
- 環境固有の設定を使用する アプリケーションイメージを変更せずに
- 実行時に設定を更新する イメージを再起動または再構築せずに
- セキュリティを強化する 機密性の高い値へのアクセスを制限することで
- 移植性を向上させる クラスターやクラウドプロバイダー間で
ConfigMap と Secret の比較
| カテゴリ | ConfigMap | Secret |
|---|---|---|
| 目的 | 機密性のない設定を保存 | 機密データを保存 |
| 例 | API エンドポイント、機能フラグ、設定ファイル | パスワード、トークン、証明書 |
| データ形式 | プレーンテキスト | Base64 エンコード |
| 可視性 | アクセス権を持つすべてのユーザーが読み取り可能 | RBAC によりアクセスが制限される |
| セキュリティレベル | 低 | 高 |