Package google.cloud.gkehub.policycontroller.v1

색인

BundleInstallSpec

BundleInstallSpec은 단일 관리형 번들의 사양 구성입니다.

필드
exempted_namespaces[]

string

번들에서 제외할 네임스페이스 집합입니다.

HubConfig

정책 컨트롤러 구성

필드
install_spec

HubConfig.InstallSpec

install_spec은 특성 사양에서 install_spec을 변형한 최신 요청으로 지정된 의도된 상태를 나타내며, 특성 상태로 보고되는 허브 특성 컨트롤러에서 관찰한 특성의 수명 주기 상태가 아닙니다.

exemptable_namespaces[]

string

정책 컨트롤러 검사에서 제외된 네임스페이스 집합입니다. 네임스페이스가 클러스터에 현재 존재하지 않아도 됩니다.

referential_rules_enabled

bool

현재 평가 중인 객체가 아닌 객체를 참조하는 제약조건 템플릿을 사용하는 특성을 사용 설정합니다.

log_denies_enabled

bool

모든 거부를 로깅하고 오류를 테스트 실행합니다.

mutation_enabled

bool

정책 컨트롤러를 사용하여 리소스를 변형하는 특성을 사용 설정합니다.

deployment_configs

map<string, PolicyControllerDeploymentConfig>

배포에 대한 배포 구성 맵입니다("admission", "audit", "mutation').

audit_interval_seconds

int64

정책 컨트롤러 감사 스캔의 간격(초)을 설정합니다. 0으로 설정하면 감사 특성이 모두 사용 중지됩니다.

monitoring

MonitoringConfig

모니터링은 모니터링 구성을 지정합니다.

policy_content

PolicyContentSpec

클러스터에서 원하는 정책 콘텐츠를 지정합니다.

constraint_violation_limit

int64

제약조건에 저장될 감사 위반의 최대 수입니다. 설정하지 않으면 내부 기본값(현재 20)이 사용됩니다.

InstallSpec

허브 특성 컨트롤러가 작동할 수 있는 설치 사양 집합입니다.

열거형
INSTALL_SPEC_UNSPECIFIED 알 수 없는 사양입니다.
INSTALL_SPEC_NOT_INSTALLED 정책 컨트롤러 제거를 요청합니다.
INSTALL_SPEC_ENABLED 정책 컨트롤러 설치 및 사용 설정 요청입니다.
INSTALL_SPEC_SUSPENDED 정책 컨트롤러 즉, 웹훅을 일시 중지하도록 요청합니다. 정책 컨트롤러가 설치되지 않은 경우 정책 컨트롤러가 설치되지만 일시 중단됩니다.
INSTALL_SPEC_DETACHED PoCo 허브 컨트롤러에 의한 모든 조정 작업 중지를 요청합니다. 이는 PoCo 허브가 클러스터 리소스에 영향을 미치는 것을 방지하기 위한 breakglass 메커니즘입니다.

MembershipSpec

정책 컨트롤러: 단일 클러스터의 구성. PolicyController CR과 동시에 사용됩니다.

필드
policy_controller_hub_config

HubConfig

클러스터의 정책 컨트롤러 구성입니다.

version

string

설치된 정책 컨트롤러 버전입니다.

MembershipState

정책 컨트롤러: 단일 클러스터의 상태.

필드
component_states

map<string, OnClusterState>

현재는 다음이 포함됩니다(맵 키 역할도 수행). 1. "admission" 2. "audit" 3. "mutation"

state

MembershipState.LifecycleState

허브 특성 컨트롤러에서 관찰한 전체 정책 컨트롤러 수명 주기 상태입니다.

policy_content_state

PolicyContentState

허브 특성 컨트롤러에서 관찰한 전반적인 콘텐츠 상태입니다.

LifecycleState

정책 컨트롤러가 존재할 수 있는 상태 집합입니다.

열거형
LIFECYCLE_STATE_UNSPECIFIED 수명 주기 상태가 지정되지 않았습니다.
NOT_INSTALLED PC는 지정된 클러스터에 존재하지 않으며 PC와 연결된 어떤 유형의 k8s 리소스도 존재하지 않아야 합니다. 클러스터는 PCH의 멤버십을 소유하지 않습니다.
INSTALLING PCH는 멤버십을 소유하지만 PC가 클러스터에 완전히 설치되지 않았습니다. 이 상태에서는 허브가 클러스터에 PC를 설치하기 위한 작업을 수행할 수 있습니다.
ACTIVE PC가 클러스터에 완전히 설치되었고 작동 모드에 있습니다. 이 상태에서는 PCH가 PC와 상태를 조율하고, PC는 해당 소프트웨어별로 운영 작업을 수행합니다. 준비 상태로 전환되려면 허브에서 PC가 설치되었는지 확인하고 해당 포드가 PCH가 예상하는 PC 버전으로 작동 중임을 확인해야 합니다.
UPDATING PC가 완전히 설치되었지만 클러스터에서 실행되는 리소스의 구성을 변경(PC 버전을 상향 및 하향 변경 또는 PC 매니페스트 수정 포함)하는 중입니다. PCH에 멤버십이 있고 클러스터가 실행되어야 하는 버전을 알고 있지만 PC가 해당 버전으로 실행되고 있는지 자체적으로 확인하지는 않습니다.
DECOMMISSIONING PC에 클러스터의 리소스가 있을 수 있지만 PCH에서 멤버십을 삭제하려고 합니다. 멤버십이 여전히 존재합니다.
CLUSTER_ERROR PC가 작동하지 않고 PCH가 작동하도록 조치를 취할 수 없습니다. CLUSTER_ERROR 상태는 PCH에서 클러스터에 설치된 PC가 작동하지 않거나 클러스터가 PCH에서 클러스터를 관리하기 위해 설정한 요구사항을 충족하지 못한다고 판단했지만 그에 대한 지침을 받은 경우 자동으로 발생합니다(예: 'install').
HUB_ERROR 이 상태에서는 PC가 계속 작동할 수 있으며 PCH만 작동할 수 없습니다. 허브는 PC 상태를 변경하도록 안내가 발생하거나 클러스터 내 리소스를 방해해서는 안 됩니다. PCH에서 허브가 비정상 상태임을 확인하고 PC 또는 기타 데이터의 손상을 방지하기 위해 '핸드오프'를 수행하려고 하는 경우 HUB_ERROR 상태가 자동으로 전환됩니다.
SUSPENDED 정책 컨트롤러(PC)가 설치되어 있지만 일시정지되었습니다. 즉, 정책이 시행되지 않지만 위반사항은 감사를 통해 계속 기록됩니다.
DETACHED PoCo 허브는 클러스터 객체 조정을 위한 어떠한 작업도 수행하지 않습니다. 이러한 객체에 대한 변경사항은 PoCo Hub에서 덮어쓰지 않습니다.

MonitoringConfig

MonitoringConfig는 정책 컨트롤러가 측정항목을 내보내야 하는 백엔드를 지정합니다. 예를 들어 Cloud Monitoring 및 Prometheus로 측정항목을 내보내야 하는 측정항목을 지정하려면 다음과 같이 백엔드를 지정합니다. ["cloudmonitoring", "prometheus"]

필드
backends[]

MonitoringConfig.MonitoringBackend

정책 컨트롤러가 내보낼 백엔드 목록을 지정합니다. 목록이 비어 있으면 측정항목 내보내기가 효과적으로 사용 중지됩니다.

MonitoringBackend

모니터링에 지원되는 백엔드 옵션입니다.

열거형
MONITORING_BACKEND_UNSPECIFIED 백엔드를 확인할 수 없음
PROMETHEUS 모니터링용 Prometheus 백엔드
CLOUD_MONITORING 모니터링용 Stackdriver/Cloud Monitoring 백엔드입니다.

OnClusterState

OnClusterState는 정책 컨트롤러의 하위 구성요소의 상태를 나타냅니다.

필드
state

MembershipState.LifecycleState

이 구성요소의 수명 주기 상태입니다.

details

string

잠재적 오류 또는 정보 로그를 표시합니다.

PolicyContentSpec

PolicyContentSpec은 클러스터에서 사용자가 원하는 콘텐츠 구성을 정의합니다.

필드
bundles

map<string, BundleInstallSpec>

BundleInstallSpec에 대한 번들 이름 맵입니다. 번들 이름은 제약조건의 policycontroller.gke.io/constraintData 주석에 있는 bundleName 키에 매핑됩니다.

template_library

TemplateLibraryConfig

템플릿 라이브러리의 설치를 구성합니다.

PolicyContentState

정책 컨트롤러 정책 콘텐츠의 상태입니다.

필드
template_library_state

OnClusterState

템플릿 라이브러리의 상태입니다.

bundle_states

map<string, OnClusterState>

선택한 버전의 매니페스트에 포함된 번들의 상태입니다.

referential_sync_config_state

OnClusterState

참조 데이터 동기화 구성의 상태입니다. 이는 사용자가 구성한 PoCo 버전에 따라 syncSet 객체 또는 구성 객체의 상태를 나타낼 수 있습니다.

PolicyControllerDeploymentConfig

배포 관련 구성입니다.

필드
pod_tolerations[]

PolicyControllerDeploymentConfig.Toleration

노드 taint의 포드 톨러레이션(toleration)입니다.

pod_affinity

PolicyControllerDeploymentConfig.Affinity

포드 어피니티 구성입니다.

replica_count

int64

포드 복제본 수입니다.

container_resources

ResourceRequirements

컨테이너 리소스 요구사항입니다.

pod_anti_affinity
(deprecated)

bool

포드 안티-어피니티 사용 설정입니다. 지원 중단됨: 대신 pod_affinity를 사용하세요.

어피니티

배포에서 사용하는 포드 어피니티 구성입니다.

열거형
AFFINITY_UNSPECIFIED 어피니티 구성이 지정되지 않았습니다.
NO_AFFINITY 어피니티 구성이 배포에서 삭제됩니다.
ANTI_AFFINITY 안티-어피니티 구성이 이 배포에 적용됩니다. 허용 배포의 기본값입니다.

톨러레이션(toleration)

노드 taint의 톨러레이션(toleration)입니다.

필드
key

string

taint 키와 일치합니다(고유한 것은 아님).

operator

string

taint 연산자와 일치합니다.

value

string

taint 값과 일치합니다.

effect

string

taint 효과와 일치합니다.

ResourceList

ResourceList에는 컨테이너 리소스 요구사항이 포함되어 있습니다.

필드
memory

string

Kubernetes 리소스 단위로 표현된 메모리 요구사항입니다.

cpu

string

Kubernetes 리소스 단위로 표현된 CPU 요구사항입니다.

ResourceRequirements

ResourceRequirements는 컴퓨팅 리소스 요구사항을 설명합니다.

필드
limits

ResourceList

한도는 실행 중인 컨테이너에서 사용할 수 있는 최대 컴퓨팅 리소스의 양을 설명합니다.

requests

ResourceList

요청은 kube-scheduler가 컨테이너에 대해 예약한 컴퓨팅 리소스의 양을 설명합니다.

TemplateLibraryConfig

설치할 기본 라이브러리 템플릿을 지정하는 구성입니다.

필드
installation

TemplateLibraryConfig.Installation

템플릿 라이브러리가 클러스터에 설치되는 방식을 구성합니다.

설치

템플릿 라이브러리 설치 방법입니다.

열거형
INSTALLATION_UNSPECIFIED 설치 전략이 지정되지 않았습니다.
NOT_INSTALLED 템플릿 라이브러리를 설치하지 마세요.
ALL 전체 템플릿 라이브러리를 설치합니다.