5.3. gatekeeper Operator の設定


クラスターに Gatekeeper をインストールするには、Operator Lifecycle Manager カタログから Gatekeeper Operator をインストールします。Red Hat Advanced Cluster Management では、ガバナンスフレームワークを使用してポリシーを使用して Gatekeeper Operator をインストールできます。Gatekeeper Operator をインストールした後、Gatekeeper をインストールするように Gatekeeper Operator のカスタムリソースを設定します。

5.3.1. 前提条件

  • 必要なアクセス権限: クラスターの管理者
  • OpenShift Container Platform ドキュメントクラスターへの Operator の追加 および 関連情報 セクションをすべて確認して、Operator Lifecycle Manager (OLM) と OperatorHub の使用方法を理解します。

5.3.2. gatekeeper カスタムリソースの例

Gatekeeper Operator のカスタムリソースは、Gatekeeper Operator にクラスター上で Gatekeeper のインストールを開始するように指示します。Gatekeeper をインストールするには、サンプルとデフォルト値を含む次のサンプル YAML を使用します。

apiVersion: operator.gatekeeper.sh/v1alpha1
kind: Gatekeeper
metadata:
  name: gatekeeper
spec:
  audit:
    replicas: 1
    auditEventsInvolvedNamespace: Enabled 
1

    logLevel: DEBUG
    auditInterval: 10s
    constraintViolationLimit: 55
    auditFromCache: Enabled
    auditChunkSize: 66
    emitAuditEvents: Enabled
    containerArguments: 
2

    - name: ""
      value: ""
    resources:
      limits:
        cpu: 500m
        memory: 150Mi
      requests:
        cpu: 500m
        memory: 130Mi
  validatingWebhook: Enabled
  mutatingWebhook: Enabled
  webhook:
    replicas: 3
    emitAdmissionEvents: Enabled
    admissionEventsInvolvedNamespace: Enabled 
3

    disabledBuiltins:
     - http.send
    operations: 
4

     - "CREATE"
     - "UPDATE"
     - "CONNECT"
    failurePolicy: Fail
    containerArguments: 
5

    - name: ""
      value: ""
    resources:
      limits:
        cpu: 480m
        memory: 140Mi
      requests:
        cpu: 400m
        memory: 120Mi
  nodeSelector:
    region: "EMEA"
  affinity:
    podAffinity:
      requiredDuringSchedulingIgnoredDuringExecution:
        - labelSelector:
            matchLabels:
              auditKey: "auditValue"
          topologyKey: topology.kubernetes.io/zone
  tolerations:
    - key: "Example"
      operator: "Exists"
      effect: "NoSchedule"
  podAnnotations:
    some-annotation: "this is a test"
    other-annotation: "another test"
  config: 
6

    matches:
      - excludedNamespaces: ["test-*", "my-namespace"]
        processes: ["*"]
    disableDefaultMatches: false 
7
1
バージョン 3.14 以降では、作成する namespace 監査イベントを管理するために auditEventsInvolvedNamespace パラメーターを有効にします。このパラメーターを有効にすると、Gatekeeper コントローラーのデプロイメントは、--audit-events-involved-namespace=true の引数で実行されます。
3
バージョン 3.14 以降では、作成する namespace アドミッションイベントを管理するために admissionEventsInvolvedNamespace パラメーターを有効にします。このパラメーターを有効にすると、Gatekeeper コントローラーのデプロイメントは、--admission-events-involved-namespace=true 引数で実行されます。
4
バージョン 3.14 以降では、Webhook 操作を管理するために operations パラメーターで "CREATE""UPDATE""CONNECT"、および "DELETE" の値を使用します。
2 5
バージョン 3.17 以降では、コンテナーに渡す引数名と値のリストを指定して、containerArguments を指定します。引数名の先頭のダッシュを省略します。省略された値は true として扱われます。指定した引数が Operator または他のフィールドからの設定によって以前に設定されている場合、その引数は無視されます。以下は、拒否リストに登録されており、現在サポートされていないフラグのリストです。
  • ポート
  • prometheus-port
  • health-addr
  • validating-webhook-configuration-name
  • mutating-webhook-configuration-name
  • disable-cert-rotation
  • client-cert-name
  • tls-min-version
6
ハブクラスターのすべての制約に対して特定のプロセスの対象から namespace を除外するには、config セクションを使用します。
7
disableDefaultMatches パラメーターは、ブール型パラメーターで、Gatekeeper operator が提供するデフォルトの exempt namespace が追加されないようにします。デフォルトの exempt namespace は OpenShift Container Platform または Kubernetes システム namespace です。デフォルトでは、このパラメーターは false に設定されており、デフォルトの namespace を追加できるようになります。

5.3.3. auditFromCache の同期情報の設定

バージョン 3.14 以降では、Gatekeeper Operator は、デフォルトで無効になっている auditFromCache パラメーターを使用して、監査設定の Gatekeeper Operator カスタムリソースの設定を公開します。制約からリソースを収集するには、auditFromCache パラメーターを設定します。

auditFromCache パラメーターを Automatic に設定すると、Gatekeeper Operator は制約からリソースを収集し、それらのリソースを Gatekeeper Config リソースに挿入します。リソースが存在しない場合は、Gatekeeper Operator が Config リソースを作成します。

auditFromCache パラメーターを Enabled に設定する場合は、キャッシュに同期するオブジェクトを含む Gatekeeper Config リソースを手動で設定する必要があります。詳細は、Gatekeeper ドキュメントの 監査の設定 を参照してください。

制約からのリソース収集の auditFromCache パラメーターを設定するには、次の手順を実行します。

  1. Gatekeeper リソースで、auditFromCacheAutomatic に設定します。以下の例を参照してください。

    apiVersion: operator.gatekeeper.sh/v1alpha1
    kind: Gatekeeper
    metadata:
      name: gatekeeper
    spec:
      audit:
        replicas: 2
        logLevel: DEBUG
        auditFromCache: Automatic
  2. リソースが Config リソースに追加されたことを確認するには、syncOnly パラメーターセクションが追加されていることを確認します。以下のコマンドを実行します。

    oc get configs.config.gatekeeper.sh config -n openshift-gatekeeper-system

    Config リソースは次の例のようになります。

    apiVersion: config.gatekeeper.sh/v1alpha1
    kind: Config
    metadata:
     name: config
     namespace: "openshift-gatekeeper-system"
    spec:
     sync:
       syncOnly:
       - group: ""
         version: "v1"
         kind: "Namespace"
       - group: ""
         version: "v1"
         kind: "Pod"

オプション: 次のコマンドを実行すると、Gatekeeper Operator のカスタムリソースの説明から、auditFromCache 設定の説明を表示できます。

oc explain gatekeeper.spec.audit.auditFromCache

5.3.4. 関連情報

  • 詳細は、Gatekeeper ドキュメントの 監査の設定 を参照してください。
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat
トップに戻る