조직 정책 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 예
다음은 데이터베이스 서비스 사용을 owner: dba-team
라벨이 있는 프로젝트로 제한하는 조직 정책 API의 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"