kubectl을 사용하여 수동으로 정책 컨트롤러 설치

다음 안내에서는 kubectl 명령어를 사용하여 정책 컨트롤러를 설치하는 방법을 보여줍니다. Google Cloud Console 또는 gcloud 명령줄 도구를 사용하려면 정책 컨트롤러 설치를 참조하세요.

이 페이지에 설명된 kubectl 명령어를 사용하여 정책 컨트롤러를 구성하는 경우 나중에 Google Cloud Console 또는 gcloud 명령줄 도구를 사용하여 구성을 변경할 수 있습니다. 하지만 Cloud Console 또는 gcloud 도구를 사용하여 구성을 변경하면 kubectl 명령어를 사용하여 구성을 변경할 수 없습니다.

기본적으로 Policy Controller는 일반적인 정책 유형에 대한 제약조건 템플릿 라이브러리를 설치합니다. 제약조건 템플릿 설치를 건너뛰려면 매니페스트에서 templateLibraryInstalled로 시작하는 행의 주석 처리를 삭제합니다.

  1. config-management.yaml 파일을 만들거나 기존 파일을 업데이트하여 구성을 준비합니다.

  2. 다음 YAML 파일을 config-management.yaml 파일에 복사합니다.

    # config-management.yaml
    
    apiVersion: configmanagement.gke.io/v1
    kind: ConfigManagement
    metadata:
      name: config-management
    spec:
      # Set to true to install and enable Policy Controller
      policyController:
        enabled: true
        # Uncomment to prevent the template library from being installed
        # templateLibraryInstalled: false
        # Uncomment to enable support for referential constraints
        # referentialRulesEnabled: true
        # Uncomment to disable audit, adjust value to set audit interval
        # auditIntervalSeconds: 0
        # Uncomment to log all denies and dryrun failures
        # logDeniesEnabled: true
        # Uncomment to exempt namespaces
        # exemptableNamespaces: ["namespace-name"]
      # ...other fields...
    

    spec.policyController 필드를 추가하고 enabled의 값을 true로 설정해야 합니다. 다른 정책 컨트롤러 기능을 사용 설정하도록 선택할 수 있습니다. 하지만 참조 제약조건에 대한 지원은 기본적으로 사용 중지됩니다. 사용하기 전에 eventual consistency에 대한 주의사항을 숙지해야 합니다.

  3. kubectl apply를 사용하여 구성을 적용합니다.

    kubectl apply -f config-management.yaml
    

정책 컨트롤러 확인

Policy Controller가 올바르게 설치되면 해당 pod가 실행 중입니다. pod를 사용하기 전에 여러 번 다시 시작될 수 있습니다.

정책 컨트롤러 pod는 gatekeeper-system 네임스페이스에서 실행되므로 다음 명령어를 실행하여 상태를 확인할 수 있습니다.

kubectl get pods -n gatekeeper-system

다음과 비슷한 출력이 표시됩니다.

NAME                              READY   STATUS    RESTARTS   AGE
gatekeeper-controller-manager-0   1/1     Running   1          53s

정책 컨트롤러 제거

정책 컨트롤러를 제거하려면 config-management.yaml 파일에서 Anthos Config Management 구성을 수정하고 policyController.enabledfalse로 설정합니다. Anthos Config Management가 policycontroller.configmanagement.gke.io 종료자를 제거하면 설치 제거가 완료됩니다.

Anthos Config Management를 완전히 제거하려면 Config Management Operator 삭제를 참조하세요.