Vault でのシークレットの作成
シークレットストレージツールを HashiCorp Vault に設定したら、Vault にシークレットも作成する必要があります。これは、既存のKubernetesシークレットを手動で移行する場合、またはシークレットを初めて作成する場合に適用されます。
Vault に手動で移行する必要があるシークレットのリストについては、「シークレット ストレージの構成 」の「Vault」セクションを参照してください。
次のチュートリアルでは、プログラマティック API キーを Vault に保存します。 この手順のコマンドを調整して、ベース パス、名前空間、およびシークレット名を変更することで、Vault に他のシークレットを追加できます。
シークレット ストレージ ツールの詳細については、「シークレット ストレージの構成 」を参照してください。
前提条件
Vault で Kubernetes Operator の認証情報を作成するには、次の手順を実行する必要があります。
MongoDB Ops Manager組織を または 作成します。
この新しいプログラマティック API キーにプロジェクト オーナーのロールを付与します。
Kubernetes Operator を提供するホストの IPまたはCIDRブロックをAPI アクセス リストに追加します。
Vault インスタンスを設定し、Vault を 有効にします。
注意
Vault が 開発モード で実行されて いない ことを確認する かつ、Vault インストールが該当する 構成の推奨事項に従っていることを確認してください。
手順
Vault でシークレットを作成するには次の手順に従います。
Vault にシークレットを作成する。
次の Vault コマンドを呼び出してシークレットを作成し、変数を表内の値に置き換えます。
プレースホルダー | 説明 |
---|---|
{Namespace} | Kubernetes Operator を配置した名前空間を識別するラベル。 |
{SecretName} | Vault で作成しているシークレットを識別する、人間が判読可能なラベル。 |
{PublicKey} | 任意のMongoDB Ops ManagerプログラマティックAPIキーの公開キー。 |
{PrivateKey} | 任意のMongoDB Ops ManagerプログラマティックAPIキーの秘密キー。 |
vault kv put secret/data/mongodbenterprise/operator/{Namespace}/{SecretName} publicKey={PublicKey} privateKey={PrivateKey} The path in this command is the default path. You can replace ``mongodbenterprise/operator`` with your base path if you customized your |k8s-op-short| configuration.
Vault シークレットの作成が成功したことを確認します。
次の Vault コマンドを呼び出してシークレットを検証し、変数を次の表の値に置き換えます。
プレースホルダー | 説明 |
---|---|
{Namespace} | Kubernetes Operator を配置した名前空間を識別するラベル。 |
{SecretName} | Vault で作成しているシークレットを識別する、人間が判読可能なラベル。 |
vault kv get secret/data/mongodbenterprise/operator/{Namespace}/{SecretName}
このコマンドは、shell 内のシークレットの説明を返します。
====== Metadata ====== Key Value --- ----- created_time 2021-12-15T17:20:22.985303Z deletion_time n/a destroyed false version 1 ======= Data ======= Key Value --- ----- publicKey {PublicKey} privateKey {PrivateKey}