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 および OperatorHub を使用する方法を理解します。

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

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

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

    auditFromCache: Enabled
    auditInterval: 10s
    constraintViolationLimit: 55
    containerArguments: 
2

    - name: ""
      value: ""
    resources:
      limits:
        cpu: 500m
        memory: 150Mi
      requests:
        cpu: 500m
        memory: 130Mi
    emitAuditEvents: Enabled
    logLevel: DEBUG
    podAnnotations: {} 
3

    replicas: 1
  validatingWebhook: Enabled
  mutatingWebhook: Enabled
  webhook:
    admissionEventsInvolvedNamespace: Enabled 
4

    containerArguments: 
5

    - name: ""
      value: ""
    disabledBuiltins:
     - http.send
    emitAdmissionEvents: Enabled
    failurePolicy: Fail
    operations: 
6

     - CREATE
     - UPDATE
     - CONNECT
    replicas: 3
    resources:
      limits:
        cpu: 480m
        memory: 140Mi
      requests:
        cpu: 400m
        memory: 120Mi
    rules: 
7

    - operations: []
      resources: []
    timeoutSeconds: 3 
8

  mutatingWebhookConfig: 
9

    failurePolicy: ""
    logMutations: Disabled
    mutationAnnotations: Disabled
    namespaceSelector: {}
    operations: []
    rules: 
10

    - operations: []
      resources: []
    timeoutSeconds: 1 
11

  config: 
12

    matches:
      - excludedNamespaces: ["test-*", "my-namespace"]
        processes: ["*"]
    disableDefaultMatches: false 
13

  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"
Copy to Clipboard Toggle word wrap
1
作成する namespace 監査イベントを管理するには、auditEventsInvolvedNamespace パラメーターを有効にします。このパラメーターを有効にすると、Gatekeeper コントローラーのデプロイメントは、--audit-events-involved-namespace=true の引数で実行されます。
3
バージョン 3.20 以降では、Pod に追加するアノテーション名と値のリストを指定して、監査 Pod に固有の audit.podAnnotations を指定します。省略された値は true として扱われます。
4
作成する namespace アドミッションイベントを管理するには、admissionEventsInvolvedNamespace パラメーターを有効にします。このパラメーターを有効にすると、Gatekeeper コントローラーのデプロイメントは、--admission-events-involved-namespace=true 引数で実行されます。
2 5
コンテナーに渡す引数名と値のリストを指定して、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
操作 を使用して、Webhook が呼び出される操作を管理します。たとえば、CREATEUPDATECONNECT、および DELETE です。
7 10
バージョン 3.20 以降の場合、webhook 設定の ルール 設定を上書きするルールを指定します。これを設定すると、このフィールドは Operations フィールドよりも優先されます。
8 11
バージョン 3.20 以降の場合は、webhook 設定のタイムアウトを指定します。
9
バージョン 3.20 以降では、mutatingWebhookConfig セクションを使用して、spec.webhook の値を上書きする、または変更用の Webhook に固有である設定で変更用の Webhook を設定します。
12
config セクションを使用して、クラスターのすべての制約の特定のプロセスから namespace を除外します。
13
disableDefaultMatches パラメーターは、ブール型パラメーターで、Gatekeeper operator が提供するデフォルトの exempt namespace が追加されないようにします。デフォルトの exempt namespace は OpenShift Container Platform または Kubernetes システム namespace です。デフォルトでは、このパラメーターは false に設定されており、デフォルトの namespace を追加できるようになります。

5.3.3. auditFromCache の同期情報の設定

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
    Copy to Clipboard Toggle word wrap
  2. リソースが Config リソースに追加されたことを確認するには、syncOnly パラメーターセクションが追加されていることを確認します。以下のコマンドを実行します。

    oc get configs.config.gatekeeper.sh config -n openshift-gatekeeper-system
    Copy to Clipboard Toggle word wrap

    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"
    Copy to Clipboard Toggle word wrap

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

oc explain gatekeeper.spec.audit.auditFromCache
Copy to Clipboard Toggle word wrap

5.3.4. 関連情報

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

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2026 Red Hat
トップに戻る