For the complete documentation index, see llms.txt. This page is also available as Markdown.

KeeperシークレットマネージャーのKubernetes Injector連携向けの完全な実行可能な例

Kubernetes Injector向けの完全な実行可能な例です。各例は、インジェクターのインストールKSM認証Secret (keeper-credentials) の作成が、そのページの手順どおり完了していることを前提としています。

以下のレコード名およびフィールド名 (例: database-credentialstls-certProduction/Databases) は説明用です。Keeperシークレットマネージャーアプリケーションと共有しているフォルダ内に一致するレコードを作成するか、注釈を自分のレコードを指すように変更してください。

クイックチェック: Podへのシークレット注入

インジェクターが動作していることを確認する最も早い方法は、レコードをファイルに取得して読み取ることです。以下の .yaml 構成ファイルは、この機能の使用例です。

apiVersion: v1
kind: Pod
metadata:
  name: hello-secrets
  annotations:
    keeper.security/inject: "true"
    keeper.security/ksm-config: "keeper-credentials"
    keeper.security/secret: "demo-secret"
spec:
  containers:
    - name: app
      image: busybox:1.36
      command: ["sh", "-c", "cat /keeper/secrets/demo-secret.json && sleep 3600"]
kubectl logs hello-secrets         # prints the record JSON
kubectl get pod hello-secrets -o jsonpath='{.spec.containers[*].name}'   # includes keeper-secrets-sidecar

ファイルとしてのデータベース認証情報

デフォルトモードでは、レコードは /keeper/secrets/ にJSONとして書き込まれ、アプリケーションがそこから読み取ります。

.env ファイルのレンダリング

config ブロックで出力 format を選択します。ここでは、レコードをアプリケーションが読み込める .env ファイルとしてレンダリングします。

テンプレートによる接続文字列の生成

Goテンプレート (Sprig 関数付き) でレコードフィールドを任意の形式に変換できます。ここではPostgres URLの例です。

環境変数として注入

環境変数しか読み取れないレガシーアプリケーション向けです。フィールド名は大文字のキーになり、プレフィックスを付けて起動時に1回取得します (環境変数は再起動なしでは変更できません)。

Deployment向けKubernetes Secretの作成

ワークロードがネイティブ Secret (secretKeyRefenvFrom、または Secret ボリューム) を必要とする場合、インジェクターにレコードから Secret を作成させます。

NGINX向けTLS証明書とキー

Keeperレコードに添付されたファイルを、アプリケーションがマウントするパスにダウンロードします。

フォルダ内のすべてのシークレットを注入

Keeperフォルダ内のすべてのレコードを取得し、出力パス配下にレコードごとに1ファイルとして保存します。

keeper.security/folder-uid を使用して、UIDでフォルダを参照することもできます。

Keeper Notationによる単一フィールドの抽出

Keeper Notationを使用して、1つのフィールドだけを指定パスに書き込みます。Notationは、シークレットごとの keeper.security/secret-<name> 注釈で解析されます (プレーンな keeper.security/secret 注釈は、値を常にレコードタイトルとして扱います)。

自動ローテーション

サイドカーモードでは、エージェントが一定間隔で再取得し、ファイルをその場で上書きします。Podの再起動は不要です。ファイルを再読み取りするアプリケーションは、新しい値を自動的に取得します。

その他の例とGitHubソース

インジェクターのGitHubリポジトリには、実行可能な例の完全なカタログ (Webデモ、データベース、ローテーションダッシュボード、耐障害性、クラウド認証など) があります。

最終更新