리소스 참조 만들기

Config Connector로 만든 Google Cloud 리소스는 다른 리소스를 참조할 수 있습니다. Config Connector는 리소스 참조를 통해 이러한 관계를 정의합니다. 이 주제에서는 참조가 있는 리소스를 생성하는 방법에 대해 설명합니다.

참조 유형

Config Connector에서 참조는 종속 항목 또는 링크일 수 있습니다.

종속 항목
종속 항목 참조는 Config Connector 리소스에 필요한 기존 Google Cloud 리소스를 참조합니다. 예를 들어 네트워크가 없으면 방화벽 규칙이 존재할 수 없습니다.
링크
링크 참조는 독립적인 리소스를 하나로 연결합니다. 예를 들어 프로젝트를 결제 계정과 연결할 수 있습니다.

리소스 참조 지정

리소스의 spec에서 리소스 참조를 지정합니다. 필드 이름은 리소스의 닉네임이며 이어서 Ref가 옵니다. 예:

  • topic이라는 PubSubTopic에 대한 참조는 topicRef입니다.
  • bucket이라는 StorageBucket에 대한 참조는 bucketRef입니다.

참조는 단일 필드(name)가 있는 객체입니다. resourceRef의 리소스가 참조 이름으로 바뀝니다.

아래 YAML에서 myTopic이라는 PubSubTopic을 참조하는 Pub/Sub PubSubSubscription을 설명합니다. .

apiVersion: pubsub.cnrm.cloud.google.com/v1beta1
kind: PubSubSubscription
metadata:
  name: pubsubsubscription-referencing-topic
spec:
  topicRef:
    name: myTopic

Pub/Sub 예시

PubSubTopic 만들기

이 예시에서는 PubSubTopic에 의존하는 PubSubSubscription을 만듭니다.

  1. [TOPIC_NAME]을 원하는 PubSubTopic 이름으로 바꿔서 다음을 pubsub-topic.yaml이라는 파일에 복사합니다.
apiVersion: pubsub.cnrm.cloud.google.com/v1beta1
kind: PubSubTopic
metadata:
  name: [TOPIC_NAME]

예를 들어 myTopic라는 주제를 만드는 YAML은 다음과 같습니다.

apiVersion: pubsub.cnrm.cloud.google.com/v1beta1
kind: PubSubTopic
metadata:
  name: myTopic
  1. kubectl applyPubSubTopic을 만듭니다.
kubectl --namespace [CC_NAMESPACE] apply -f pubsub-topic.yaml

[CC_NAMESPACE]를 Config Connector가 관리하는 리소스의 네임스페이스로 바꿉니다.

PubSubSubscription 만들기

  1. [TOPIC_NAME]을 1단계에서 사용한 PubSubTopic 이름으로 바꿔서 다음을 pubsub-subscription.yaml이라는 파일에 복사합니다.
apiVersion: pubsub.cnrm.cloud.google.com/v1beta1
kind: PubSubSubscription
metadata:
  name: pubsubsubscription-referencing-topic
spec:
  topicRef:
    name: [TOPIC_NAME]

예를 들어 앞에서 만든 myTopic 주제를 참조하는 YAML은 다음과 같습니다.

apiVersion: pubsub.cnrm.cloud.google.com/v1beta1
kind: PubSubSubscription
metadata:
  name: pubsubsubscription-referencing-topic
spec:
  topicRef:
    name: myTopic
  1. kubectl applyPubSubSubscription을 만듭니다.
kubectl --namespace [CC_NAMESPACE] apply -f pubsub-subscription.yaml 

[CC_NAMESPACE]를 Config Connector가 관리하는 리소스의 네임스페이스로 바꿉니다.

외부 참조

Config Connector는 관리하지 않는 리소스를 참조할 수 있습니다. 이를 외부 참조라고 부릅니다. 예를 들어 아래의 ComputeURLMaptest-backendservice라는 BackendService를 참조합니다.

apiVersion: compute.cnrm.cloud.google.com/v1beta1
kind: ComputeURLMap
metadata:
  name: test-urlmap
spec:
  location: global
  defaultService:
    backendServiceRef:
      external: https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/global/backendServices/test-backendservice

external에 의해 허용되는 값의 형식은 리소스에 따라 다릅니다. 리소스 참조의 특정 리소스에 대한 문서를 참조하세요. 리소스의 external 필드에 대한 설명을 읽고 external에 허용되는 값을 확인할 수 있습니다.

IAMPolicy 및 IAMPolicyMember의 외부 참조

IAMPolicyIAMPolicyMember도 외부 참조를 지원합니다. 예를 들어 아래의 IAMPolicyMember는 프로젝트 ID가 test-projectProject를 참조합니다.

apiVersion: iam.cnrm.cloud.google.com/v1beta1
kind: IAMPolicyMember
metadata:
  name: test-iampolicymember
spec:
  member: serviceAccount:test-serviceaccount@test-project.iam.gserviceaccount.com
  role: roles/storage.admin
  resourceRef:
    apiVersion: resourcemanager.cnrm.cloud.google.com/v1beta1
    kind: Project
    external: projects/test-project

리소스 참조에서 참조하려는 리소스의 문서를 참조하세요. 해당 리소스의 'IAM 외부 참조 형식' 속성을 찾아서 external이 허용하는 형식을 확인할 수 있습니다.

다음 단계

Config Connector가 지원하는 리소스에 대해 알아보려면 리소스 참조를 검토하세요.

Config Connector 클러스터에서 보안 비밀에 대한 리소스 참조를 사용하는 방법을 확인하세요.