Tous les produits
Search
Centre de documentation

Container Service for Kubernetes:gatekeeper overview and release notes

Dernière mise à jour :Aug 11, 2026

Le module complémentaire Gatekeeper vous permet de gérer et d'appliquer des politiques Open Policy Agent (OPA) dans les clusters ACK, y compris la gestion des libellés de namespace. Cette rubrique présente les fonctionnalités de Gatekeeper, les instructions d'utilisation et les notes de version. Gatekeeper intègre OPA aux clusters ACK pour définir et appliquer des politiques d'admission via des CRD. Contrôlez la création de ressources en fonction des libellés, des types de ressources, des namespaces et d'autres attributs. Gatekeeper gère également les libellés de namespace.

Pour utiliser Gatekeeper :

  1. Installez Gatekeeper depuis la page Add-ons de la console ACK. Consultez la rubrique Gérer les composants.

  2. Créez un modèle de contrainte (ConstraintTemplate) pour définir la logique de la politique en Rego.

  3. Créez une contrainte (Constraint) pour appliquer le modèle à des namespaces ou des types de ressources spécifiques.

  4. Vérifiez que la contrainte fonctionne comme prévu.

Pour plus d'informations, consultez Open Policy Agent.

Gatekeeper architecture

Fonctionnement

Gatekeeper s'exécute en tant que webhook d'admission. validation.gatekeeper.sh intercepte les demandes de création et de mise à jour de ressources, puis les évalue par rapport aux contraintes actives.

Le modèle de politique comprend deux couches :

  • ConstraintTemplate : définit la logique de la politique en Rego et enregistre un nouveau type de CRD.

  • Constraint : instance d'un ConstraintTemplate qui spécifie les ressources cibles et les paramètres d'application.

Consultez la documentation How to use Gatekeeper.

Appliquer des politiques de libellés de pods

Cet exemple impose que tous les pods d'un namespace portent un libellé spécifique. L'initialisation du modèle et de la contrainte prend environ 10 secondes.

Prérequis

Assurez-vous de disposer des éléments suivants :

  • Un cluster ACK avec Gatekeeper installé

  • kubectl configuré pour se connecter au cluster

Créer un namespace et lui ajouter un libellé

Créez un namespace de test avec le libellé correspondant à la contrainte :

kubectl create ns test-gatekeeper
kubectl label ns test-gatekeeper name=test-gatekeeper

Créer un modèle de contrainte

Ce modèle enregistre une CRD K8sRequiredLabels et définit la logique de la politique en Rego :

kubectl apply -f - <<EOF
apiVersion: templates.gatekeeper.sh/v1beta1
kind: ConstraintTemplate
metadata:
  name: k8srequiredlabels
spec:
  crd:
    spec:
      names:
        kind: K8sRequiredLabels
      validation:
        openAPIV3Schema:
          properties:
            labels:
              type: array
              items:
                type: string
  targets:
    - target: admission.k8s.gatekeeper.sh
      rego: |
        package k8srequiredlabels

        # A violation is triggered when required labels are missing from the resource.
        violation[{"msg": msg, "details": {"missing_labels": missing}}] {
          # Collect all labels on the incoming resource.
          provided := {label | input.review.object.metadata.labels[label]}
          # Collect all labels required by the constraint parameters.
          required := {label | label := input.parameters.labels[_]}
          # Compute the set of labels that are required but not provided.
          missing := required - provided
          count(missing) > 0
          msg := sprintf("you must provide labels: %v", [missing])
        }
EOF

Attendez environ 10 secondes pour l'initialisation.

Créer une contrainte

Appliquez le modèle K8sRequiredLabels aux pods des namespaces portant le libellé name=test-gatekeeper, en exigeant le libellé gatekeeper-test-label :

kubectl apply -f - <<EOF
apiVersion: constraints.gatekeeper.sh/v1beta1
kind: K8sRequiredLabels
metadata:
  name: pod-must-have-gatekeeper-test-label
spec:
  match:
    kinds:
      - apiGroups: [""]
        kinds: ["Pod"]
    namespaceSelector:
      matchExpressions:
      - key: name
        operator: In
        values: ["test-gatekeeper"]
  parameters:
    labels: ["gatekeeper-test-label"]
EOF

Attendez environ 10 secondes pour l'activation.

Vérifier la contrainte

Exécutez les tests suivants pour vérifier la contrainte.

Test 1 : Le pod sans le libellé requis est refusé.

kubectl -n test-gatekeeper run test-deny --image=nginx --restart=Never

Sortie attendue :

Error from server ([denied by pod-must-have-gatekeeper-test-label] you must provide labels: {"gatekeeper-test-label"}): admission webhook "validation.gatekeeper.sh" denied the request: [denied by pod-must-have-gatekeeper-test-label] you must provide labels: {"gatekeeper-test-label"}

Rejeté : le namespace test-gatekeeper correspond au sélecteur et le pod ne possède pas le libellé gatekeeper-test-label.

Test 2 : Le pod avec le libellé requis est accepté.

kubectl -n test-gatekeeper run test-pass -l gatekeeper-test-label=pass --image=nginx --restart=Never

Sortie attendue :

pod/test-pass created

Accepté : le pod porte le libellé gatekeeper-test-label.

Test 3 : Le pod dans un namespace non contraint est accepté.

kubectl -n default run test-deny --image=nginx --restart=Never

Sortie attendue :

pod/test-deny created

Le namespace default ne possède pas le libellé name=test-gatekeeper ; la contrainte ne s'applique donc pas.

Notes de version

Mars 2025

Version

Image address

Release date

Description

Impact

v3.18.2.192-ge2860248-aliyun

registry-cn-hangzhou.ack.aliyuncs.com/acs/gatekeeper:v3.18.2.192-ge2860248-aliyun

2025-03-04

  • Mise à jour d'OPA Gatekeeper vers la v3.18.2.

  • Mise à niveau de Go vers la version 1.23.6 pour plus de stabilité.

Si des exceptions se produisent lors de la mise à jour du composant, les modifications apportées aux ressources du cluster peuvent échouer. Effectuez la mise à jour pendant les heures creuses.

Décembre 2024

Version

Image address

Release date

Description

Impact

v3.17.1.174-g6383c639-aliyun

registry-cn-hangzhou.ack.aliyuncs.com/acs/gatekeeper:v3.17.1.174-g6383c639-aliyun

2024-12-09

Mise à jour d'OPA Gatekeeper vers la v3.17.1.

Si des exceptions se produisent lors de la mise à jour du composant, les modifications apportées aux ressources du cluster peuvent échouer. Effectuez la mise à jour pendant les heures creuses.

Septembre 2024

Version

Image address

Release date

Description

Impact

v3.16.3.158-g5e73c0ad-aliyun

registry-cn-hangzhou.ack.aliyuncs.com/acs/gatekeeper:v3.16.3.158-g5e73c0ad-aliyun

2024-09-25

Mise à jour d'OPA Gatekeeper vers la v3.16.3.

Si des exceptions se produisent lors de la mise à jour du composant, les modifications apportées aux ressources du cluster peuvent échouer. Effectuez la mise à jour pendant les heures creuses.

Mars 2024

Version

Image address

Release date

Description

Impact

v3.15.1.150-g29b8b2a8-aliyun

registry-cn-hangzhou.ack.aliyuncs.com/acs/gatekeeper:v3.15.1.150-g29b8b2a8-aliyun

2024-03-27

Mise à jour d'OPA Gatekeeper vers la v3.15.1.

Si des exceptions se produisent lors de la mise à jour du composant, les modifications apportées aux ressources du cluster peuvent échouer. Effectuez la mise à jour pendant les heures creuses.

Octobre 2023

Version

Image address

Release date

Description

Impact

v3.12.0.138-g1ee37e37-aliyun

registry-cn-hangzhou.ack.aliyuncs.com/acs/gatekeeper:v3.12.0.138-g1ee37e37-aliyun

2023-10-09

  • Mise à jour d'OPA Gatekeeper vers la v3.12.0.

  • Ajout de la prise en charge des politiques pour les événements de suppression de service.

Si des exceptions se produisent lors de la mise à jour du composant, les modifications apportées aux ressources du cluster peuvent échouer. Effectuez la mise à jour pendant les heures creuses.

Avril 2023

Version

Image address

Release date

Description

Impact

v3.10.0.130-g0e79597d-aliyun

registry.cn-hangzhou.aliyuncs.com/acs/gatekeeper:v3.10.0.130-g0e79597d-aliyun

2023-04-18

  • Mise à jour d'OPA Gatekeeper vers la v3.10.0.

  • La réplication des données est désactivée par défaut. Activez-la sur la page Add-ons. Consultez Replicating Data.

  • Ajout de la prise en charge des politiques pour les événements de suppression de namespace.

  • Ajout de la prise en charge de Kubernetes 1.26.

Si des exceptions se produisent lors de la mise à jour du composant, les modifications apportées aux ressources du cluster peuvent échouer. Effectuez la mise à jour pendant les heures creuses.

Juin 2022

Version

Image address

Release date

Description

Impact

v3.8.1.113-geb7947ef-aliyun

registry.cn-hangzhou.aliyuncs.com/acs/gatekeeper:v3.8.1.113-geb7947ef-aliyun

2022-06-08

  • Mise à jour d'OPA Gatekeeper vers la v3.8.1.

  • Les pods d'audit sont désactivés par défaut. Activez-les sur la page Add-ons.

  • Le processeur, la mémoire et le nombre de réplicas sont configurables sur la page Add-ons.

Si des exceptions se produisent lors de la mise à jour du composant, les modifications apportées aux ressources du cluster peuvent échouer. Effectuez la mise à jour pendant les heures creuses.

Avril 2022

Version

Image address

Release date

Description

Impact

v3.7.1.93-gaf375989-aliyun

registry.cn-hangzhou.aliyuncs.com/acs/gatekeeper:v3.7.1.93-gaf375989-aliyun

2022-04-02

La mutation est désactivée par défaut. Activez-la sur la page Add-ons. Consultez Mutation.

Si des exceptions se produisent lors de la mise à jour du composant, les modifications apportées aux ressources du cluster peuvent échouer. Effectuez la mise à jour pendant les heures creuses.

Février 2022

Version

Image address

Release date

Description

Impact

v3.7.0.84-gf5fd3ffd-aliyun

registry.cn-hangzhou.aliyuncs.com/acs/gatekeeper:v3.7.0.84-gf5fd3ffd-aliyun

2022-02-15

Optimisation des performances. Correction d'une utilisation anormale du processeur dans des cas extrêmes.

Si des exceptions se produisent lors de la mise à jour du composant, les modifications apportées aux ressources du cluster peuvent échouer. Effectuez la mise à jour pendant les heures creuses.

Janvier 2022

Version

Image address

Release date

Description

Impact

v3.7.0.82-gafe4391b-aliyun

registry.cn-hangzhou.aliyuncs.com/acs/gatekeeper:v3.7.0.82-gafe4391b-aliyun

2022-01-14

  • Mise à jour d'OPA Gatekeeper vers la v3.7.0.

  • Ajout de la prise en charge d'ARM64.

Si des exceptions se produisent lors de la mise à jour du composant, les modifications apportées aux ressources du cluster peuvent échouer. Effectuez la mise à jour pendant les heures creuses.

Septembre 2021

Version

Image address

Release date

Description

Impact

v3.6.0.62-g156146d-aliyun

registry.cn-hangzhou.aliyuncs.com/acs/gatekeeper:v3.6.0.62-g156146d-aliyun

2021-09-20

  • Gatekeeper 3.6.0.62 et versions ultérieures nécessitent Kubernetes 1.16.9 ou une version ultérieure.

  • Mise à jour d'OPA Gatekeeper vers la v3.6.0.

Si des exceptions se produisent lors de la mise à jour du composant, les modifications apportées aux ressources du cluster peuvent échouer. Effectuez la mise à jour pendant les heures creuses.

Mars 2021

Version

Image address

Release date

Description

Impact

v3.3.0.24-8e68abc-aliyun

registry.cn-hangzhou.aliyuncs.com/acs/gatekeeper:v3.3.0.24-8e68abc-aliyun

2021-03-16

  • Ajout de la prise en charge des clusters enregistrés.

  • Mise à jour d'OPA Gatekeeper vers la version 3.3.0.

Si des exceptions se produisent lors de la mise à jour du composant, les modifications apportées aux ressources du cluster peuvent échouer. Effectuez la mise à jour pendant les heures creuses.

Août 2020

Version

Image address

Release date

Description

Impact

v3.1.0.11-24bab09-aliyun

registry.cn-hangzhou.aliyuncs.com/acs/gatekeeper:v3.1.0.11-24bab09-aliyun

2020-08-20

Mise à jour d'OPA Gatekeeper vers la version 3.1.0-beta.12.

Si des exceptions se produisent lors de la mise à jour du composant, les modifications apportées aux ressources du cluster peuvent échouer. Effectuez la mise à jour pendant les heures creuses.