【エクスターナルシークレッツオペレーター】
External Secrets Operator とは?
最終更新:
💡 外の金庫番が、K8sの中に自動で鍵を届けてくれるお使い係。
AWS Secrets ManagerやHashiCorp Vaultなど外部のシークレット管理サービスと連携し、Kubernetes上のSecretリソースを自動的に同期してくれるOSS。
📌 このページのポイント
- 外部サービスの秘密情報をKubernetesのSecretへ同期する
- SecretStoreで接続方法、ExternalSecretで取得対象などを指定する
- 更新のタイミングは同期方針と間隔の設定によって変わる
- 同期後もKubernetes内のSecretのアクセス制御や保存時の保護が必要
External Secrets Operatorって何なの?
どんなサービスとつながるの?
タイミングは設定によるよ。既定のPeriodic方針では、refreshIntervalに0より大きい間隔を設定すると定期的に更新する。CreatedOnceやOnChangeという別の方針もあるので、いつ反映する必要があるかに合わせて選ぼう。
設定には何が必要なの?
ESOの導入と外部サービスへの認証・権限設定が前提だよ。SecretStoreで接続方法を、ExternalSecretで取得するキーや作成先のSecretを指定する。名前空間をまたいで参照できるClusterSecretStoreもあるけれど、利用できる範囲を管理する必要があるんだ。
これで秘密情報をGitに書かずに済む?
外部に置けばKubernetes側は保護しなくていい?
まとめ:ざっくりこれだけ覚えればOK!
「External Secrets Operator」って出てきたら「外部の秘密情報をKubernetesのSecretへ同期するツール」と思えばだいたいOK!
📖 おまけ:英語の意味
「External Secrets Operator」 = 外部シークレット操作者
💬 外部(External)のシークレット管理サービスを、K8sのOperatorパターンで自動同期する仕組みという意味だよ。