OPA 게이트키퍼 정책 적용
이 페이지의 내용
프로덕션 배포를 제어, 감사 및 디버깅하려면 Gatekeeper OPA(Open Policy Agent)에 대한 정책을 사용할 수 있습니다. Gatekeeper에는 제약 조건 템플릿을 통해 배포서버 제약 조건을 생성하고 확장하기 위한 CustomResourceDefinitions가 포함되어 있습니다.
게이트키퍼 정책으로 배포 제어
Kubernetes Operator는 사용자 지정하고 배포에 적용할 수 있는 Gatekeeper 정책 목록을 제공합니다.
각 Gatekeeper 정책은 다음으로 구성됩니다.
<policy_name>.yaml
파일constraints.yaml
제약조건 템플릿 을 기반으로 하는 파일
바이너리 및 구성 가능한 Gatekeeper 정책을 사용할 수 있습니다.
바이너리 정책은 TLS를 사용하지 않는 배포를 방지하거나 특정 MongoDB 또는 Ops Manager 버전만 배포하는 등 특정 구성을 허용하거나 방지합니다.
구성 가능한 정책을 사용하면 특정 MongoDB 또는 Ops Manager 사용자 지정 리소스에 대해 배포될 총 복제본 세트 수 등의 구성을 지정할 수 있습니다.
Kubernetes 연산자와 함께 Gatekeeper 샘플 정책을 사용하고 적용하려면 다음을 수행합니다.
OPA Gatekeeper 설치 Kubernetes 클러스터에서.
사용 가능한 제약 조건 템플릿 및 제약 조건 목록을 검토합니다.
kubectl get constrainttemplates kubectl get constraints 정책 디렉토리로 이동하여 목록에서 정책을 선택한 다음 정책과 해당 제약 조건 파일을 적용합니다.
cd <policy_directory> kubectl apply -f <policy_name>.yaml kubectl apply -f constraints.yaml 현재 적용되어 있는 Gatekeeper 정책을 검토합니다.
kubectl get constrainttemplates kubectl get contstraints
샘플 OPA 게이트키퍼 정책 목록
Kubernetes Operator는 이 OPA 예시 에서 다음과 같은 샘플 정책을 Github 제공합니다. 디렉토리:
위치 | 정책 설명 |
---|---|
모든 MongoDB 및 MongoDB Ops Manager 리소스를 차단합니다. 이를 통해 로그 출력을 사용하여 자체 정책을 작성할 수 있습니다. 자세한 내용은 게이트키퍼 디버깅을 참조하세요. | |
MongoDB 리소스에 대한 복제본 세트만 배포할 수 있도록 허용하고 shard cluster 배포를 방지합니다. | |
특정 MongoDB 버전만 배포할 수 있습니다. | |
특정 Ops Manager 버전만 배포할 수 있습니다. | |
MongoDB deployment에 엄격한 TLS 모드를 사용할 수 있습니다. | |
지정된 수의 Ops Manager 복제본 세트 및 애플리케이션 데이터베이스 구성원을 배포할 수 있습니다. | |
비대화형 모드에서 Ops Manager를 설치할 수 있습니다. |