|
この文書は自動機械翻訳技術を使用して翻訳されています。 正確な翻訳を提供するように努めておりますが、翻訳された内容の完全性、正確性、信頼性については一切保証いたしません。 相違がある場合は、元の英語版 英語 が優先され、正式なテキストとなります。 |
|
これは未公開の文書です Admission Controller 1.34-dev. |
エアギャップ環境でのインストール
SUSE Security Admission Controllerのエアギャップ環境でのインストールには、Kubernetesクラスターからアクセス可能なプライベートOpen Container Initiative (OCI)レジストリが必要です。 Admission ControllerポリシーはWebAssemblyモジュールであるため、OCIアーティファクトとしてOCI準拠のレジストリに保存できます。このOCIレジストリにAdmission Controllerのイメージとポリシーを追加する必要があります。アーティファクト参照ページでAdmission Controllerアーティファクトのリストを参照できます。以下のセクションでは、手順について説明します。
|
Haulerの使用をお勧めします。 Haulerのドキュメントページをご覧ください。 または、以下に示す手動プロセスを使用することもできます。 |
コンテナイメージをローカルに保存する
-
私たちの各Helmチャートには、それによって消費されるコンテナイメージの`imagelist.txt`が含まれており、該当する場合は、それが消費するポリシーのOCI Wasmモジュールを含む`policylist.txt`も含まれています。
それらを取得するには、次のようにします。
helm pull --untar \ kubewarden/kubewarden-crds \ kubewarden/kubewarden-controller \ kubewarden/kubewarden-defaults \ kubewarden/sbomscannerそれから、それらを1つのファイルに連結します。
cat */imagelist.txt > kubewarden-images.txt -
ユーティリティリポジトリから`kubewarden-save-images.sh`と`kubewarden-load-images.sh`をダウンロードします。
-
`.tar.gz`ファイルにAdmission Controllerコンテナイメージを保存します:
./kubewarden-save-images.sh \ --image-list ./kubewarden-images.txt \ --images kubewarden-images.tar.gzDockerはエアギャップインストールに使用されるイメージのプルを開始します。このプロセスには数分かかることがあります。完了すると、コマンドを実行した現在のディレクトリにtarball(
kubewarden-images.tar.gz)があります。
ポリシーをローカルに保存します
-
使用したいすべてのポリシーを`policies.txt`ファイルに追加します。
cat */policylist.txt > policies.txtデフォルトポリシーのリストを含むファイルは、Admission Controllerデフォルトhttps://github.com/kubewarden/helm-charts/releases/[リリースページ]にあります。
-
`kubewarden-controller`リポジトリから`kubewarden-save-policies.sh`と`kubewarden-load-policies.sh`をダウンロードします。
-
ポリシーを`.tar.gz`ファイルに保存する:
./kubewarden-save-policies.sh --policies-list policies.txt`kwctl`を使用してポリシーをダウンロードします。`kubewarden-policies.tar.gz`アーカイブにはポリシーが含まれています。
Helmチャート
次のHelmチャートをワークステーションにダウンロードする必要があります:
helm pull kubewarden/kubewarden-crds
helm pull kubewarden/kubewarden-controller
helm pull kubewarden/kubewarden-defaults
プライベートレジストリに投入します
これらのファイルをエアギャップ環境に移動します:
-
tgz`形式のHelmチャート(例:`kubewarden-crds-1.23.0.tgz) -
kubewarden-policies.tar.gz -
kubewarden-images.tar.gz -
kubewarden-load-images.sh -
kubewarden-load-policies.shおよび -
policies.txt-
Admission Controller イメージをプライベートレジストリにロードします。Docker クライアントをローカルレジストリに対して認証する必要があります。
./kubewarden-load-images.sh \ --image-list ./kubewarden-images.txt \ --images kubewarden-images.tar.gz \ --registry <REGISTRY.YOURDOMAIN.COM:PORT> -
Admission Controller ポリシーをプライベートレジストリにロードします。
kwctl`でローカルレジストリの認証を行ってください(`kwctl`は、`docker`と同じメカニズム、すなわち~/.docker/config.json`ファイルを使用して認証します)。./kubewarden-load-policies.sh \ --policies-list policies.txt \ --policies kubewarden-policies.tar.gz \ --registry <REGISTRY.YOURDOMAIN.COM:PORT> \ --sources-path sources.yml
-
|
ドキュメントのカスタム証明書機関に関するセクションを参照して、`sources.yaml`ファイルの設定方法を学んでください。 |
Admission Controllerをインストールします
プライベートレジストリに必要なすべてのものが揃ったので、Admission Controllerをインストールする。標準のAdmission Controllerインストールとの唯一の違いは、コンテナイメージとポリシーのレジストリをプライベートレジストリに変更する必要があることです。
Admission Controllerスタックをインストールします:
helm install --wait -n kubewarden \
kubewarden-crds kubewarden-crds.tgz
helm install --wait -n kubewarden \
kubewarden-controller kubewarden-controller.tgz \
--set global.cattle.systemDefaultRegistry=<REGISTRY.YOURDOMAIN.COM:PORT>
|
`kubewarden-controller`チャートで利用可能なPolicy Reporterのサブチャートを使用するには、エアギャップ(された)環境でサブチャートに特有の他の値を定義する必要があります。以下に例を示します:
サブチャートを有効にするために`auditScanner.policyReporter`を定義し、Policy Reporterのイメージを保存するレジストリとリポジトリを構成するために4つの値を定義する必要があります。Policy Reporterサブチャートの値に関する詳細情報は、https://github.com/kyverno/policy-reporter/tree/policy-reporter-2.19.4/charts/policy-reporter[Policy Reporterのドキュメント]を参照してください。 |
helm install --wait -n kubewarden \
kubewarden-defaults kubewarden-defaults.tgz \
--set global.cattle.systemDefaultRegistry=<REGISTRY.YOURDOMAIN.COM:PORT>
|
インストールし、インストールが完了するまで待つには、次のコマンドを使用します:
|
最後に、ポリシーサーバーを設定して、プライベートレジストリからポリシーを取得する必要があります。ドキュメントのプライベートレジストリの使用セクションを参照してください。
これで、クラスター内にAdmission Controllerポリシーを作成できます。ポリシーは、プライベートレジストリで利用可能でなければなりません。
kubectl apply -f - <<EOF
apiVersion: policies.kubewarden.io/v1
kind: ClusterAdmissionPolicy
metadata:
name: privileged-pods
spec:
module: registry://<REGISTRY.YOURDOMAIN.COM:PORT>/kubewarden/policies/pod-privileged:v0.2.2
rules:
- apiGroups: [""]
apiVersions: [“v1”]
resources: [“pods”]
operations:
- CREATE
mutating: false
EOF
|
`PolicyServer`リソースは、プライベートレジストリで利用可能なイメージを使用する必要があります。 次に例を示します。
|