폴더 범위 리소스
구성 커넥터는 프로젝트, 폴더 또는 조직 수준에서 리소스를 관리할 수 있습니다. 구성 커넥터는 리소스를 생성할 위치를 결정하기 위해 먼저 리소스 사양에서 범위 정의 필드를 확인한 후 이를 찾을 수 없는 경우범위 정의 주석을 확인합니다.
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 CloudRESOURCE_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 폴더 IDNAMESPACE_NAME: 네임스페이스 이름
파일을 만든 후 클러스터에 적용합니다.