Organization Policy API 개요

조직 정책 API는 Kubernetes 커스텀 리소스를 사용하고 Kubernetes 리소스 모델 (KRM)을 기반으로 합니다. 생성, 업데이트, 삭제와 같은 조직 정책의 수명 주기를 관리하는 데 사용됩니다.

조직 정책 API를 사용하려면 Kubernetes CLI kubectl를 사용하는 것이 좋습니다. 애플리케이션에서 자체 라이브러리를 사용하여 이 API를 호출해야 하는 경우 다음 예시, 전체 API 정의, 전용 정책 일치 페이지를 사용하여 요청을 빌드하세요.

서비스 엔드포인트 및 검색 문서

조직 정책 API의 API 엔드포인트는 다음과 같습니다. https://MANAGEMENT_API_SERVER_ENDPOINT/apis/constraints.gatekeeper.sh/v1beta1 여기서 MANAGEMENT_API_SERVER_ENDPOINT는 관리 API 서버의 엔드포인트입니다.

kubectl proxy 명령어를 사용하여 브라우저에서 또는 curl과 같은 도구로 해당 URL에 액세스하여 조직 정책 API의 검색 문서를 가져올 수 있습니다. kubectl proxy 명령어는 로컬 머신에서 Kubernetes API 서버로의 프록시를 엽니다. 명령어가 실행되면 다음 URL에서 문서에 액세스할 수 있습니다. http://127.0.0.1:8001/apis/constraints.gatekeeper.sh/v1beta1

KRM 예

다음 예는 조직 정책 API에서 데이터베이스 서비스 사용을 owner: dba-team 라벨이 있는 프로젝트로 제한하는 GDCHRestrictedServices 객체입니다.

apiVersion: constraints.gatekeeper.sh/v1beta1
kind: GDCHRestrictedService
metadata:
  name: db-restricted-to-dbas
spec:
  match:
    scope: Namespaced
    namespaceSelector:
      matchExpressions:
      # We are restricting the use of the service in namespaces that
      # DON'T have the owner: dba-team label
      - key: owner
        operator: NotIn
        values:
        - dba-team
    kinds:
    - apiGroups:
      - "postgresql.ods.anthosapis.com"
      kinds:
      - Dbclusters
      - Backupplans
      - Imports
      - Restores
    - apiGroups:
      - "oracle.ods.anthosapis.com"
      kinds:
      - Dbclusters
      - Backupplans
      - Imports
  parameters:
    disabledOperations:
      - "UPDATE"
      - "CREATE"