4.6. GCP의 사용자 정의 라벨 및 태그 관리
GCP(Google Cloud Platform)는 특정 OpenShift Container Platform 클러스터에 대해 생성된 리소스를 식별하고 구성하는 데 도움이 되는 레이블과 태그를 제공하여 보다 쉽게 관리할 수 있습니다.
OpenShift Container Platform 클러스터 설치 중에만 각 GCP 리소스에 대한 레이블 및 태그를 정의할 수 있습니다.
OpenShift Container Platform 4.17으로 업그레이드된 OpenShift Container Platform 클러스터에서는 사용자 정의 레이블 및 태그가 지원되지 않습니다.
이미 추가된 태그는 업데이트할 수 없습니다. 또한 구성된 태그 키 또는 태그 값이 삭제되면 새 태그 지원 리소스 생성이 실패합니다.
사용자 정의 라벨
사용자 정의 레이블 및 OpenShift Container Platform 특정 레이블은 OpenShift Container Platform 설치 프로그램에서 생성한 리소스 및 다음과 같은 핵심 구성 요소에만 적용됩니다.
- GCP filestore CSI Driver Operator
- GCP PD CSI Driver Operator
- 이미지 레지스트리 Operator
- GCP용 머신 API 공급자
사용자 정의 레이블은 다른 Operator 또는 Kubernetes in-tree 구성 요소에서 생성한 리소스에 연결되지 않습니다.
사용자 정의 레이블 및 OpenShift Container Platform 라벨은 다음 GCP 리소스에서 사용할 수 있습니다.
- 컴퓨팅 디스크
- 컴퓨팅 전달 규칙
- 컴퓨팅 이미지
- 컴퓨팅 인스턴스
- DNS 관리 영역
- filestore 백업
- 파일 저장소 인스턴스
- 스토리지 버킷
사용자 정의 라벨 제한
-
ComputeAddress
의 라벨은 GCP 베타 버전에서 지원됩니다. OpenShift Container Platform은 리소스에 라벨을 추가하지 않습니다.
사용자 정의 태그
사용자 정의 태그는 OpenShift Container Platform 설치 프로그램에서 생성한 리소스 및 핵심 구성 요소(예: 다음 리소스)에만 적용됩니다.
- GCP FileStore CSI Driver Operator
- GCP PD CSI Driver Operator
- 이미지 레지스트리 Operator
- GCP용 머신 API 공급자
사용자 정의 태그는 다른 Operator 또는 Kubernetes in-tree 구성 요소에서 생성한 리소스에 연결되지 않습니다.
사용자 정의 태그는 다음 GCP 리소스에서 사용할 수 있습니다.
- 컴퓨팅 디스크
- 컴퓨팅 인스턴스
- filestore 백업
- 파일 저장소 인스턴스
- 스토리지 버킷
사용자 정의 태그에 대한 제한 사항
- Operator는 최소한의 역할로 서비스 계정을 생성하고 사용하므로 태그는 특정 서비스 계정으로 제한해서는 안 됩니다.
- OpenShift Container Platform은 태그의 키 및 값 리소스를 생성하지 않습니다.
- OpenShift Container Platform 특정 태그는 리소스에 추가되지 않습니다.
추가 리소스
-
OrganizationID식별에 대한 자세한 내용은
OrganizationID
를 참조하십시오. -
ProjectID식별에 대한 자세한 내용은
ProjectID
를 참조하십시오. - 레이블에 대한 자세한 내용은 라벨 개요 를 참조하십시오.
- 태그에 대한 자세한 내용은 태그 개요 를 참조하십시오.
4.6.1. GCP의 사용자 정의 라벨 및 태그 구성
사전 요구 사항
-
설치 프로그램에서는 서비스 계정에
TagUser
역할이 필요하므로 프로그램이 조직 및 프로젝트 수준에서 정의된 태그로 OpenShift Container Platform 클러스터를 생성할 수 있습니다.
프로세스
install-config.yaml
파일을 업데이트하여 원하는 라벨 및 태그 목록을 정의합니다.참고레이블 및 태그는
install-config.yaml
생성 단계에서 정의되며 클러스터 생성 후에는 새 레이블 및 태그로 수정하거나 업데이트할 수 없습니다.샘플
install-config.yaml
파일apiVersion: v1 featureSet: TechPreviewNoUpgrade platform: gcp: userLabels: 1 - key: <label_key>2 value: <label_value>3 userTags: 4 - parentID: <OrganizationID/ProjectID>5 key: <tag_key_short_name> value: <tag_value_short_name>
다음은 사용자 정의 라벨의 요구 사항입니다.
- 레이블 키와 값은 최소 1자 이상이어야 하며 최대 63자까지 사용할 수 있습니다.
-
레이블 키와 값은 소문자, 숫자 문자, 밑줄(
_
), 대시(-
)만 포함되어야 합니다. - 레이블 키는 소문자로 시작해야 합니다.
- 리소스당 최대 32개의 라벨을 구성할 수 있습니다. 각 리소스에는 최대 64개의 레이블이 있을 수 있으며, 32개의 레이블은 OpenShift Container Platform의 내부 사용을 위해 예약되어 있습니다.
다음은 사용자 정의 태그의 요구 사항입니다.
- 태그 키와 태그 값이 이미 있어야 합니다. OpenShift Container Platform은 키와 값을 생성하지 않습니다.
태그
parentID
는OrganizationID
또는ProjectID
일 수 있습니다.-
OrganizationID
는 앞에 0이 없는 10진수로 구성되어야 합니다. -
projectID
는 소문자, 숫자, 하이픈만 포함하는 6~30자여야 합니다. -
projectID
는 문자로 시작해야 하며 하이픈으로 끝낼 수 없습니다.
-
-
태그 키에는 대문자 및 소문자 영숫자, 하이픈(
-
), 밑줄(_
) 및 마침표(.
)만 포함되어야 합니다. -
태그 값에는 대문자 및 소문자 영숫자, 하이픈(
-
), 밑줄( _), 마침표(_
), 마침표(.
), at sign(@
), 백분율 기호(%
), 등호( = ), 등호(=
), 콜론(:
), 쉼표(,
), 별표(*
)만 포함되어야 합니다.파운드 기호(
$
), ampersand(&
amp; ), 설명()), 대괄호(), 대괄호([]
), 중괄호({}
)
및 공간. - 태그 키와 값은 영숫자 문자로 시작하고 끝나야 합니다.
- 태그 값은 키의 사전 정의된 값 중 하나여야 합니다.
- 최대 50개의 태그를 구성할 수 있습니다.
- 상위 리소스에서 상속될 기존 태그 키와 동일한 값으로 정의된 태그 키가 없어야 합니다.
4.6.2. GCP의 사용자 정의 라벨 및 태그 쿼리
OpenShift Container Platform 클러스터를 생성한 후 다음 샘플 infrastructure.yaml
파일에 표시된 대로 infrastructure .config.openshift.io/cluster
오브젝트에 대해 정의된 라벨 및 태그 목록에 액세스할 수 있습니다.
infrastructure.yaml
파일 샘플
apiVersion: config.openshift.io/v1
kind: Infrastructure
metadata:
name: cluster
spec:
platformSpec:
type: GCP
status:
infrastructureName: <cluster_id>1
platform: GCP
platformStatus:
gcp:
resourceLabels:
- key: <label_key>
value: <label_value>
resourceTags:
- key: <tag_key_short_name>
parentID: <OrganizationID/ProjectID>
value: <tag_value_short_name>
type: GCP
- 1
- 클러스터 설치 중에 생성된 클러스터 ID입니다.
사용자 정의 레이블과 함께 리소스에는 OpenShift Container Platform에서 정의한 레이블이 있습니다. OpenShift Container Platform 라벨 형식은 kubernetes-io-cluster-<cluster_id>:owned
입니다.