コンテナイメージと Harbor レジストリ
すべての DuoKey コンポーネントは、DuoKey Harbor レジストリから署名付きコンテナイメージ として配布されます。このページでは、必要なイメージ、認証とプルの方法、および エアギャップサイト向けに独自のレジストリにミラーリングする方法を一覧します。
registry.duokey.cloud — DuoKey の Harbor コンテナレジストリ。認証情報
(ロボット/ユーザーアカウントとトークン)は、オンボーディング中にお客様の組織向けに
プロビジョニングされます。
デプロイするイメージ
お使いのリリースの正確で固定されたイメージリストは、配信パッケージとともに提供されます。 以下の Cockpit ホストイメージのパスは、検証済みの本番リファレンスです。 その他のすべてのパスとタグは DuoKey に確認してください。
| コンポーネント | イメージ | 役割 |
|---|---|---|
| Cockpit host | registry.duokey.cloud/dke-cockpit/dke-cockpit-host | Cockpit バックエンド(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 から提供されたトークン
クラスターがイメージをプルできるようにするには、同じ認証情報からプルシークレットを作成し、 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 をクラスターの信頼バンドルに追加する |
イメージが利用可能になったら(直接またはミラー経由で)、 インストール に進んでください。