|
この文書は自動機械翻訳技術を使用して翻訳されています。 正確な翻訳を提供するように努めておりますが、翻訳された内容の完全性、正確性、信頼性については一切保証いたしません。 相違がある場合は、元の英語版 英語 が優先され、正式なテキストとなります。 |
|
これは未公開の文書です Admission Controller 1.34-dev. |
PolicyServersをプライベートレジストリで使用するように設定する
PolicyServersをプライベートOCIレジストリの資格情報を使用するように構成することが可能です。これにより、これらのPolicyServersはパブリックおよびプライベートレジストリからポリシーをダウンロードできます。
PolicyServerをプライベートレジストリにアクセスするように構成すると、その上で実行されるポリシーもこれらのレジストリにアクセスできます。これは、ポリシーが提供されたSDKまたはホスト機能APIを使用する場合に機能します。これは、PolicyServersが定義されたポリシーSDKおよび低レベルのホスト機能APIを通じてその機能を公開するためです。これは、コンテナイメージの署名を検証するポリシーにおいても同様です。
これを達成するためには、プライベートレジストリの資格情報を含むシークレットを作成する必要があります。次に、PolicyServersのリソースとHelmチャートをそれを使用するように構成します。
シークレットの作成
PolicyServersは通常のhttps://kubernetes.io/docs/concepts/configuration/secret/#docker-config-secrets[Docker設定シークレット]をサポートしており、タイプ`kubernetes.io/dockercfg`またはタイプ`kubernetes.io/dockerconfigjson`のいずれかです。これらのシークレットは`kubectl create secret docker-registry`を使用して作成できます。
シークレットはPolicyServerを実行しているネームスペースで作成します。 これは最小特権の原則に従い、異なるPolicyServersが異なるレジストリからOCIアーティファクトを独立して検証できるようにします。
このシークレットは次のコマンドでPolicyServerのために作成します:
kubectl --namespace kubewarden create secret docker-registry secret-ghcr-docker \
--docker-username=myuser \
--docker-password=mypass123 \
--docker-server=myregistry.io
|
シークレットにユーザーシークレットで指定されたラベルを付けて、Rancher Backup Operatorによって行われるバックアップの一部にします。 |
Dockerシークレットの作成方法についての詳細は、https://kubernetes.io/docs/concepts/configuration/secret/#docker-config-secrets[Kubernetesドキュメント]を参照してください。
PolicyServersでのシークレットの使用
シークレットを作成したら、PolicyServerインスタンスを設定する必要があります。spec.imagePullSecret フィールドに資格情報を含むシークレットの名前を設定してください:
# Example of a PolicyServer using a private registry
apiVersion: policies.kubewarden.io/v1
kind: PolicyServer
metadata:
name: default
spec:
image: ghcr.io/kubewarden/policy-server:v1.1.1
serviceAccountName: policy-server
replicas: 1
annotations:
imagePullSecret: "secret-ghcr-docker"