폴더 범위 리소스

구성 커넥터는 프로젝트, 폴더 또는 조직 수준에서 리소스를 관리할 수 있습니다. 구성 커넥터는 리소스를 생성할 위치를 결정하기 위해 먼저 리소스 사양에서 범위 정의 필드를 확인한 후 이를 찾을 수 없는 경우범위 정의 주석을 확인합니다.

folderRef 필드 지정

대부분의 폴더 범위 구성 커넥터 리소스는 CRD 사양에서 folderRef 라는 필드를 지원합니다. 이 필드를 사용하여 리소스를 만들 Google Cloud 폴더를 지정하세요.

폴더 Google Cloud 가 폴더 CRD를 통해 동일한 클러스터에서 관리되는 경우 폴더를 Kubernetes 리소스 참조로 지정할 수 있습니다.

...
spec:
  folderRef:
    name: FOLDER_RESOURCE_NAME
    namespace: FOLDER_RESOURCE_NAMESPACE
...

이 접근 방식을 사용하면 구성 커넥터를 사용하고 단일 적용 작업으로 하위 리소스가 있는 Google Cloud 폴더를 만들 수 있습니다. 구성 커넥터 폴더 리소스가 폴더 범위 리소스와 동일한 Kubernetes 네임스페이스에 있는 경우 네임스페이스 필드는 선택사항입니다.

폴더 Google Cloud 가 동일한 클러스터에서 Kubernetes 리소스로 관리되지 않는 경우 external 필드를 사용하여 폴더 ID를 직접 지정할 수 있습니다. 값의 정확한 형식은 리소스 유형에 따라 다를 수 있습니다. 가장 일반적인 두 가지 형식은 "FOLDER_ID" 및 "folders/FOLDER_ID"입니다. 아래에서 "FOLDER_ID"의 예를 참고하세요.

...
spec:
  folderRef:
    external: "FOLDER_ID"
...

리소스 구성에 주석 달기

구성 커넥터 리소스가 폴더 범위이지만 folderRef 필드를 지원하지 않는 경우 folder-id 주석을 사용하여 폴더 ID를 리소스 구성에 설정할 수 있습니다.

...
metadata:
  annotations:
    cnrm.cloud.google.com/folder-id: FOLDER_ID
...

다음 예시는 이 주석이 포함된 리소스의 YAML 구성이 어떻게 표시되는지를 보여줍니다.

apiVersion: SERVICE_NAME.cnrm.cloud.google.com/v1beta1
kind: RESOURCE_KIND
metadata:
  annotations:
    cnrm.cloud.google.com/folder-id: FOLDER_ID
  name: RESOURCE_NAME

다음을 바꿉니다.

  • SERVICE_NAME: 리소스의 Google Cloud 서비스 이름
  • RESOURCE_KIND: 구성 커넥터 리소스의 종류
  • FOLDER_ID: 폴더 ID Google Cloud
  • RESOURCE_NAME: 리소스의 이름

네임스페이스 구성에 주석 달기

Kubernetes 네임스페이스에 주석을 달아 새로 생성된 리소스의 기본 폴더 ID를 설정할 수 있습니다. 자체 구성에 이 주석이 명시적으로 설정된 리소스가 네임스페이스에 있는 경우 리소스 수준 주석이 네임스페이스 수준의 주석을 덮어씁니다.

명령줄을 사용하여 네임스페이스에 주석을 표시하려면 다음 명령어를 실행합니다.

kubectl annotate namespace NAMESPACE_NAME cnrm.cloud.google.com/folder-id=FOLDER_ID

다음을 바꿉니다.

  • NAMESPACE_NAME: 네임스페이스 이름
  • FOLDER_ID: Google Cloud 폴더 ID

또는 주석을 포함하는 YAML 매니페스트를 적용할 수 있습니다. 아래 YAML을 파일에 복사합니다.

apiVersion: v1
kind: Namespace
metadata:
  annotations:
    cnrm.cloud.google.com/folder-id: FOLDER_ID
  name: NAMESPACE_NAME

다음을 바꿉니다.

  • FOLDER_ID: Google Cloud 폴더 ID
  • NAMESPACE_NAME: 네임스페이스 이름

파일을 만든 후 클러스터에 적용합니다.