シークレットストレージツールを 設定して 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}