メインコンテンツまでスキップ

コンテナイメージと Harbor レジストリ

すべての DuoKey コンポーネントは、DuoKey Harbor レジストリから署名付きコンテナイメージ として配布されます。このページでは、必要なイメージ、認証とプルの方法、および エアギャップサイト向けに独自のレジストリにミラーリングする方法を一覧します。

レジストリ

registry.duokey.cloud — DuoKey の Harbor コンテナレジストリ。認証情報 (ロボット/ユーザーアカウントとトークン)は、オンボーディング中にお客様の組織向けに プロビジョニングされます。

デプロイするイメージ​

お使いのリリースの正確で固定されたイメージリストは、配信パッケージとともに提供されます。 以下の Cockpit ホストイメージのパスは、検証済みの本番リファレンスです。 その他のすべてのパスとタグは DuoKey に確認してください。

コンポーネントイメージ役割
Cockpit hostregistry.duokey.cloud/dke-cockpit/dke-cockpit-hostCockpit バックエンド(ASP.NET Zero)+ 管理者/ユーザー UI
KMS API(DKE エンドポイント)配信パッケージで提供DKE キーエンドポイント / キー管理
MPC / TSM ノード配信パッケージで提供マルチパーティ計算のキーシェア(TSM)
サポートサービスRedis, message broker, OpenBaoキャッシュ、キュー、シークレット(コミュニティイメージ、ミラーリング可能)

現在のバージョンタグとイメージダイジェストについては、リリースノート を 参照してください。

latest ではなくダイジェストで固定する

再現可能で、監査可能で、改ざん耐性のあるデプロイメントのために、移動するタグではなく SHA-256 ダイジェスト(不変)でイメージを固定してください — そして決して latest を使用しないでください。 各リリースはバージョンタグとダイジェストの両方を提供します。例えば v1.4 の場合:

  • タグ: v1.4.0.20260220.4adff9c8
  • ダイジェスト: dke-cockpit/dke-cockpit-host@sha256:816c0ec8f1d1d1f27d7d034a2e8b5728b1364f4f4bb256c478b6c49eca1d7b5d

ステップ 1 — 認証する​

docker login registry.duokey.cloud

プロンプトが表示されたら:

  • ユーザー名: dke@<name>(DuoKey から提供)
  • パスワード: DuoKey から提供されたトークン
OpenShift プルシークレット

クラスターがイメージをプルできるようにするには、同じ認証情報からプルシークレットを作成し、 DuoKey 名前空間の ServiceAccount にアタッチします。

oc create secret docker-registry duokey-harbor \
--docker-server=registry.duokey.cloud \
--docker-username='dke@<name>' \
--docker-password='<token>' \
-n duokey

oc secrets link default duokey-harbor --for=pull -n duokey

ステップ 2 — イメージをプルする​

docker pull registry.duokey.cloud/<project>/<image>:<tag>

例(v1.4 Cockpit ホスト、タグで固定):

docker pull registry.duokey.cloud/dke-cockpit/dke-cockpit-host:v1.4.0.20260220.4adff9c8

または ダイジェストで固定(推奨 — 不変):

docker pull registry.duokey.cloud/dke-cockpit/dke-cockpit-host@sha256:816c0ec8f1d1d1f27d7d034a2e8b5728b1364f4f4bb256c478b6c49eca1d7b5d

エアギャップ: 独自のレジストリにミラーリングする​

切断された環境の場合、DuoKey イメージを一度内部レジストリ(お客様独自の Harbor、Quay、 または OpenShift 内部レジストリ)にミラーリングし、クラスターがそこからプルするようにします。

# On a host with access to both registries.
# Use the exact image list/tags from your DuoKey delivery package.
REL=1.2.0
for img in cockpit cockpit-api kms-api; do
docker pull registry.duokey.cloud/duokey/$img:$REL
docker tag registry.duokey.cloud/duokey/$img:$REL \
harbor.corp.example.local/duokey/$img:$REL
docker push harbor.corp.example.local/duokey/$img:$REL
done

または、自動化された繰り返し可能なミラーリングのために oc image mirror / skopeo copy を使用します。

skopeo copy --all \
docker://registry.duokey.cloud/duokey/cockpit:1.2.0 \
docker://harbor.corp.example.local/duokey/cockpit:1.2.0

次に、デプロイメントの image: 参照(または Kustomize/Helm のレジストリ オーバーライド)を harbor.corp.example.local に向けます。

イメージの信頼とスキャン​

DuoKey Harbor イメージは署名され、脆弱性スキャンされています。お客様側では:

  • アドミッション前に cosign で署名を検証します( プラットフォームの強化 → イメージのセキュリティ を参照)。
  • お客様の CVE ポリシーに対して、独自のレジストリ内のミラーリングされたイメージを再スキャンします。
  • クラスターを制限し、信頼できる/ミラーリングされたレジストリのみからプルするようにします。

イメージプルのトラブルシューティング​

エラー原因対処
unauthorized: unauthorized to access repository認証情報の誤りまたはトークンの期限切れ認証情報を再入力するか、DuoKey に連絡する
not foundイメージまたはタグが存在しない正確なイメージ名とタグを DuoKey に確認する
connection refusedネットワーク / ファイアウォールの問題registry.duokey.cloud への送信 HTTPS(443)を許可するか、ミラーを使用する
ImagePullBackOff(OpenShift 内)プルシークレットの欠落/誤りduokey-harbor プルシークレットが ServiceAccount にリンクされていることを確認する
x509: certificate signed by unknown authority内部ミラーがプライベート CA を使用しているお客様の CA をクラスターの信頼バンドルに追加する

イメージが利用可能になったら(直接またはミラー経由で)、 インストール に進んでください。