배포에 라벨 추가

라벨은 서로 관련이 있거나 연결된 배포를 간단하게 정리할 수 있는 방법입니다. 예를 들어 일반적으로 각 단계에 속하는 배포를 쉽게 검색할 수 있도록 각각 프로덕션, 스테이징 또는 개발에 사용할 배포에 라벨을 지정할 수 있습니다.

라벨이란 무엇인가요?

라벨은 Google Cloud 배포를 정리하는 데 유용한 키-값 쌍입니다. 각 리소스에 라벨을 연결한 다음 라벨을 기준으로 리소스를 필터링할 수 있습니다. 라벨에 대한 정보가 결제 시스템에 전달되므로 라벨을 기준으로 청구 상세 내역을 확인할 수 있습니다.

라벨의 일반적인 사용 사례

모든 API 호출의 타임스탬프 또는 개별 값과 같은 고유 라벨을 대량으로 만드는 것은 권장하지 않습니다. 다음은 라벨의 몇 가지 일반적인 사용 사례입니다.

  • 팀 또는 비용 센터 라벨: 팀 또는 비용 센터를 기준으로 라벨을 추가하여 서로 다른 팀(예: team:researchteam:analytics)에서 소유하는 배포를 구분할 수 있습니다. 비용 계산이나 예산 책정에 이 유형의 라벨을 사용할 수 있습니다.

  • 구성요소 라벨: component:redis, component:frontend, component:ingest, component:dashboard를 예로 들 수 있습니다.

  • 환경 또는 단계 라벨: environment:productionenvironment:test를 예로 들 수 있습니다.

  • 상태 라벨: state:active , state:readytodelete, state:archive를 예시로 들 수 있습니다.

라벨 요구사항

리소스에 적용된 라벨은 다음 요구사항을 충족해야 합니다.

  • 각 리소스는 여러 개의 라벨(최대 64개)을 가질 수 있습니다.
  • 각 라벨은 키-값 쌍이어야 합니다.
  • 키는 비워 둘 수 없으며 최소 길이는 1자(영문 기준)이고 최대 길이는 63자(영문 기준)입니다. 값은 비워 둘 수 있으며 최대 길이는 63자(영문 기준)입니다.
  • 키와 값에는 소문자, 숫자, 밑줄, 대시만 사용할 수 있습니다. 모든 문자는 UTF-8 인코딩을 사용해야 하며 국제 문자가 허용됩니다.
  • 라벨의 키 부분은 고유해야 합니다. 그러나 여러 리소스에 동일한 키를 사용할 수 있습니다.
  • 키는 소문자나 국제 문자로 시작해야 합니다.

라벨로 배포 만들기

배포를 만들 때 하나 이상의 키 값 쌍을 라벨로 제공하여 라벨을 추가할 수 있습니다. 기존 배포가 있는 경우 배포를 업데이트하여 새 라벨을 추가하거나 기존 라벨을 변경할 수 있습니다.

라벨이 있는 배포를 만들려면 gcloud 도구 또는 API를 사용해야 합니다.

gcloud

gcloud에서 --labels 플래그와 쉼표로 구분된 키 값 쌍 목록을 제공하여 라벨을 배포에 추가합니다. 예를 들어 다음 명령어는 배포에 라벨 두 개(devserver=backendstorage=media)를 추가합니다.

gcloud deployment-manager deployments create example-deployment --config example-config.yaml \
    --labels devserver=backend,storage=media

배포에 적용된 라벨을 보려면 배포 설명을 가져옵니다.

gcloud deployment-manager deployments describe example-deployment
---
fingerprint: 0p03t0z31PQLOrGH8KdhWQ==
id: '2204841443843636456'
insertTime: '2017-04-18T09:42:47.323-07:00'
labels:
- key: devserver
  value: backend
- key: storage
  value: media
manifest: manifest-1492533767362
name: example-deployment
operation:
  endTime: '2017-04-18T09:43:04.581-07:00'
  name: operation-1492533767010-54d7398ff76d1-7930b926-f64e72ae
  operationType: insert
  progress: 100
  startTime: '2017-04-18T09:42:48.034-07:00'
  status: DONE
  user:user@example.com

API

API에서 안내를 따라 배포를 만들고 요청 본문에 새로운 labels 속성을 포함합니다. 예를 들면 다음과 같습니다.

{
  "name": "example-deployment",
  "target": {
    "config": {
      "content": "..."
      },
   }
  "labels": [
  {
    "key": "devserver",
    "value": "backend"
  },
  {
    "key": "storage",
    "value": "media"
  }
 ]
}

라벨 삭제

Console

  1. Google Cloud Console에서 배포 페이지로 이동합니다.

    배포 페이지로 이동

  2. 메시지가 표시되면 프로젝트를 선택하고 계속을 클릭합니다.

  3. 라벨을 삭제하려는 배포 옆에 있는 상자를 선택합니다. 측면 패널이 표시됩니다.

  4. 삭제하려는 각 라벨 옆에 있는 X를 클릭합니다.

  5. 변경사항을 저장합니다.

gcloud

gcloud에서 deployments update 명령어를 사용하고 --remove-labels 플래그와 쉼표로 구분된 삭제할 라벨 키 목록을 제공하여 라벨을 삭제합니다.

예를 들어 다음은 devserver 키가 있는 라벨을 삭제합니다.

gcloud deployment-manager deployments update example-deployment --remove-labels devserver

API

API에서 안내를 따라 배포를 업데이트하고 요청 본문에 labels 속성이 없는 배포 업데이트를 포함하면 효과적으로 라벨을 삭제할 수 있습니다.

라벨 추가 또는 업데이트

기존 배포에서 새 라벨을 추가하거나 라벨을 업데이트할 수 있습니다.

Console

  1. Google Cloud Console에서 배포 페이지로 이동합니다.

    배포 페이지로 이동

  2. 메시지가 표시되면 프로젝트를 선택하고 계속을 클릭합니다.

  3. 라벨을 업데이트하려는 배포 옆의 상자를 선택합니다. 측면 패널이 열립니다.

  4. 라벨 값을 변경하려면 적합한 라벨 항목을 업데이트합니다. 라벨 키를 변경하려면 라벨을 삭제하고 새 키를 사용해서 라벨을 다시 추가해야 합니다.

  5. 변경사항을 저장합니다.

gcloud

gcloud에서 deployments update 명령어를 사용하고 --update-labels 플래그와 함께 쉼표로 구분된 업데이트된 라벨 목록을 제공하여 라벨을 업데이트하거나 새 라벨을 추가합니다.

예를 들어 다음은 devserver 라벨을 업데이트합니다.

gcloud deployment-manager deployments update example-deployment --update-labels devserver=frontend

API

API에서 안내를 따라 배포를 업데이트하고 요청 본문에서 labels 속성을 생략하여 배포에서 라벨을 삭제합니다.

배포 미리보기 중 라벨 추가

배포를 만들기 전 배포를 미리 볼 수 있습니다. 미리보기 중에는 미리보기로 표시된 배포에 라벨을 할당할 수 있습니다. 예를 들면 다음과 같습니다.

gcloud deployment-manager deployments create example-deployment --config example-config.yaml \
    --labels devserver=backend --preview

미리보기 중에 라벨을 변경하려면 미리보기를 새 라벨로 업데이트해야 합니다. 미리보기에 대한 자세한 내용은 구성 미리보기 문서를 참조하세요.

라벨을 사용한 검색 필터링

리소스를 검색하고 결과를 라벨을 기준으로 필터링할 수 있습니다.

Console

  1. Google Cloud Console에서 배포 페이지로 이동합니다.

    배포 페이지로 이동

  2. 메시지가 표시되면 프로젝트를 선택하고 계속을 클릭합니다.

  3. 검색창에서 labels.를 입력하면 검색창에 필터링할 수 있는 라벨이 자동으로 나열됩니다.

gcloud

gcloud에서 list 요청을 수행하고 --filter 플래그를 사용합니다. 라벨을 필터링하려면 labels.[KEY]=[VALUE] 구문을 사용합니다. 예를 들어 env 키 및 dev 값으로 라벨을 필터링하려면 다음 명령어를 실행하면 됩니다.

gcloud deployment-manager deployments list --filter labels.env=dev

gcloud 도구의 필터 구문에 대한 자세한 내용은 gcloud topic filters 문서를 참조하세요.

API

API에서 URL이 인코딩된 filter 쿼리 매개변수를 사용하여 목록 요청을 실행합니다. 예를 들어 env 라벨 키 값을 dev로 하여 필터링하려면 다음 GET 요청을 수행합니다.

GET https://www.googleapis.com/deploymentmanager/v2/deployments/list?filter=labels.env+eq+devserver

자세한 내용은 API 참조의 filter 문서를 참조하세요.

다음 단계