7.2. コンテナーレジストリー証明書の管理
OpenShift Container Platform 内部レジストリーは Pod として作成されます。ただし、コンテナーは必要な場合は外部レジストリーからプルされます。デフォルトでは、レジストリーは TCP ポート 5000 をリッスンします。レジストリーは TLS 経由でエクスポートされたイメージのセキュリティーを保護するか、またはトラフィックを暗号化せずにレジストリーを実行するオプションを提供します。
Docker は .crt ファイルを CA 証明書として、.cert ファイルをクライアント証明書として解釈します。CA 拡張は .crt である必要があります。
7.2.1. 外部レジストリー用の認証局証明書のインストール リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform を外部レジストリーで使用するために、レジストリーの認証局 (CA) 証明書が、レジストリーからイメージをプルできるすべてのノードについて信頼されている必要があります。
Docker のバージョンによっては、コンテナーイメージレジストリーを信頼するプロセスは異なります。最新バージョンの Docker のルート認証局はシステムのデフォルトにマージされています。docker バージョン 1.13 よりも前のバージョンでは、システムのデフォルト証明書は他のカスタムルート証明書が存在しない場合にのみ使用されます。
手順
CA 証明書を
/etc/pki/ca-trust/source/anchors/にコピーします。sudo cp myregistry.example.com.crt /etc/pki/ca-trust/source/anchors/
$ sudo cp myregistry.example.com.crt /etc/pki/ca-trust/source/anchors/Copy to Clipboard Copied! Toggle word wrap Toggle overflow CA 証明書を展開し、信頼される認証局の一覧に追加します。
sudo update-ca-trust extract
$ sudo update-ca-trust extractCopy to Clipboard Copied! Toggle word wrap Toggle overflow opensslコマンドを使用して SSL 証明書を確認します。openssl verify myregistry.example.com.crt
$ openssl verify myregistry.example.com.crt myregistry.example.com.crt: OKCopy to Clipboard Copied! Toggle word wrap Toggle overflow 証明書が配置され、信頼が更新されたら、
dockerサービスを再起動して新規証明書が適切に設定されていることを確認します。sudo systemctl restart docker.service
$ sudo systemctl restart docker.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Docker バージョンの 1.13 よりも前のバージョンの場合は、認証局を信頼するために以下の追加の手順を実行します。
すべてのノードで、ディレクトリーの名前がコンテナーイメージレジストリーのホスト名となっている新規ディレクトリーを
/etc/docker/certs.dに作成します。sudo mkdir -p /etc/docker/certs.d/myregistry.example.com
$ sudo mkdir -p /etc/docker/certs.d/myregistry.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記ポート番号は、コンテナーイメージレジストリーがポート番号なしにアクセスできない場合を除き不要です。ポートを元の Docker レジストリーにポイントするには、
myregistry.example.com:portを使用します。コンテナーイメージレジストリーに IP アドレス経由でアクセスするには、ディレクトリーの名前がコンテナーイメージレジストリーの IP である新規ディレクトリーを、すべてのノードの
/etc/docker/certs.d内に作成する必要があります。sudo mkdir -p /etc/docker/certs.d/10.10.10.10
$ sudo mkdir -p /etc/docker/certs.d/10.10.10.10Copy to Clipboard Copied! Toggle word wrap Toggle overflow CA 証明書を直前の手順で新たに作成された Docker ディレクトリーにコピーします。
sudo cp myregistry.example.com.crt \ /etc/docker/certs.d/myregistry.example.com/ca.crt sudo cp myregistry.example.com.crt /etc/docker/certs.d/10.10.10.10/ca.crt
$ sudo cp myregistry.example.com.crt \ /etc/docker/certs.d/myregistry.example.com/ca.crt $ sudo cp myregistry.example.com.crt /etc/docker/certs.d/10.10.10.10/ca.crtCopy to Clipboard Copied! Toggle word wrap Toggle overflow 証明書がコピーされた後に、
dockerサービスを再起動して新規証明書が使用されていることを確認します。sudo systemctl restart docker.service
$ sudo systemctl restart docker.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow