레이블 사용

Knative serving 서비스 및 버전에서 라벨을 만들고 사용하는 방법을 알아봅니다.

라벨은 서비스와 버전에 적용되는 키-값 쌍입니다. Knative serving 서비스에서 라벨을 설정하면 이 서비스에 대해 이 라벨이 적용된 새 버전이 생성됩니다. 이전 버전에는 라벨이 적용되지 않습니다.

Knative serving의 라벨은 Kubernetes 리소스 라벨이며 Google Cloud에 전달되지 않습니다. 라벨을 사용하여 클러스터 리소스 사용량을 분석하는 방법에 대한 자세한 내용은 클러스터 리소스 사용량 이해를 참조하세요.

라벨 사용 규칙

Knative serving에서는 유효한 Kubernetes 라벨만 사용할 수 있습니다.

라벨 설정 또는 수정

구성을 변경하면 새 버전이 생성됩니다. 이를 변경하는 명시적 업데이트가 없으면 이후 버전에도 이 구성 설정이 자동으로 적용됩니다.

서비스를 배포하거나 기존 서비스를 업데이트하고 버전을 배포하는 경우 Google Cloud Console, Google Cloud CLI 또는 YAML 파일을 사용하여 라벨을 설정하거나 수정할 수 있습니다.

Console

  1. Google Cloud 콘솔에서 Knative serving으로 이동합니다.

Knative serving으로 이동

  1. 라벨을 설정할 서비스의 왼쪽에 있는 체크박스를 선택합니다.

  2. 맨 오른쪽에 있는 정보 패널이 사용 설정되어 있는지 확인합니다(정보 패널 표시).

  3. 라벨을 클릭하여 라벨 창을 표시합니다.

    라벨 설정

  4. 기존 라벨 키 값을 수정하려면 라벨을 찾아서 원하는 대로 을 변경합니다.

  5. 서비스에서 새 라벨을 설정하려면 라벨 추가를 클릭하고 키와 값을 제공합니다.

  6. 저장을 클릭합니다.

명령줄

Google Cloud CLI를 사용하여 새 서비스의 라벨을 설정하거나 기존 서비스를 업데이트할 수 있습니다.

  • 기존 서비스의 경우 다음 매개변수 중 하나로 gcloud run services update 명령어를 실행하여 라벨을 업데이트합니다.

    예:

    gcloud run services update SERVICE --update-labels KEY1=VALUE1,KEY2=VALUE2
    

    다음과 같이 바꿉니다.

    • SERVICE를 서비스 이름으로 바꿉니다.
    • KEY1=VALUE1,KEY2=VALUE2를 각 라벨에 대한 이름 및 값 쌍의 쉼표로 구분된 목록으로 바꿉니다. 각 KEY의 라벨 이름과 VALUE 값을 지정합니다. 여러 매개변수를 지정하는 방법을 알아보세요.
    • 명령어 매개변수 옵션

      여러 키-값 쌍 집합을 지정하려면 가독성을 위한 여러 매개변수를 지정하면 됩니다. 예를 들면 다음과 같습니다.
      [...]
      --set-labels "KEY=VALUE1" \
      --set-labels "KEY=VALUE2" \
      --set-labels "KEY=VALUE3"
      
  • 새 서비스의 경우 --set-labels 매개변수로 gcloud run deploy 명령어를 실행하여 라벨을 설정합니다.

    gcloud run deploy SERVICE --image=IMAGE_URL --set-labels KEY1=VALUE1,KEY2=VALUE2
    

    다음과 같이 바꿉니다.

    • IMAGE_URL을 컨테이너 이미지에 대한 참조(예: gcr.io/cloudrun/hello)로 바꿉니다.
    • SERVICE를 서비스 이름으로 바꿉니다.
    • KEY1=VALUE1,KEY2=VALUE2를 각 라벨에 대한 이름 및 값 쌍의 쉼표로 구분된 목록으로 바꿉니다. 각 KEY의 라벨 이름과 VALUE 값을 지정합니다. 여러 매개변수를 지정하는 방법을 알아보세요.
    • 명령어 매개변수 옵션

      여러 키-값 쌍 집합을 지정하려면 가독성을 위한 여러 매개변수를 지정하면 됩니다. 예를 들면 다음과 같습니다.
      [...]
      --set-labels "KEY=VALUE1" \
      --set-labels "KEY=VALUE2" \
      --set-labels "KEY=VALUE3"
      

YAML

--format=export 플래그를 사용하여 gcloud run services describe 명령어로 YAML 파일에 기존 서비스 구성을 다운로드할 수 있습니다. 그런 다음 gcloud run services replace 명령어로 YAML 파일을 수정하고 변경사항을 배포할 수 있습니다. 지정된 속성만 수정해야 합니다.

  1. 서비스 구성을 로컬 작업공간의 service.yaml 파일에 다운로드합니다.

    gcloud run services describe SERVICE --format export > service.yaml

    SERVICE를 Knative serving 서비스의 이름으로 바꿉니다.

  2. 로컬 파일에서 labels 속성을 업데이트합니다.

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: SERVICE
      labels:
        LABEL: 'VALUE'

    바꾸기

    • SERVICE를 Knative serving 서비스의 이름으로 바꿉니다.
    • LABEL: 라벨 이름
    • VALUE를 원하는 값으로 바꿉니다.
  3. 다음 명령어를 사용하여 서비스를 새 구성으로 바꿉니다.

    gcloud run services replace service.yaml

라벨별로 서비스 나열

Google Cloud CLI 필터를 사용하여 라벨을 기준으로 서비스를 나열할 수 있습니다.

  gcloud run services list --filter metadata.labels.LABEL=VALUE
  

다음과 같이 바꿉니다.

  • LABEL을 라벨 이름으로 바꿉니다.
  • VALUE를 필터링된 목록에 포함할 값으로 바꿉니다.

라벨 삭제

Console 또는 명령줄을 사용하여 라벨을 삭제할 수 있습니다.

Console

  1. Google Cloud 콘솔에서 Knative serving으로 이동합니다.

Knative serving으로 이동

  1. 라벨을 삭제할 서비스의 왼쪽에 있는 체크박스를 선택합니다.

  2. 맨 오른쪽에 있는 정보 패널이 사용 설정되어 있는지 확인합니다(정보 패널 표시).

  3. 라벨을 클릭하여 라벨 창을 표시합니다.

  4. 삭제할 라벨을 찾습니다.

  5. 마우스 커서를 라벨의 텍스트 상자 오른쪽으로 가져가서 휴지통 아이콘을 표시하고 클릭합니다.

  6. 저장을 클릭합니다.

명령줄

서비스에서 모든 라벨을 삭제하려면 다음 명령어를 사용하세요.

gcloud run services update SERVICE --clear-labels

서비스에서 특정 라벨을 삭제하려면 쉼표로 구분된 키 목록을 입력하세요.

gcloud run services update SERVICE --remove-labels LABEL

바꾸기

  • SERVICE를 Knative serving 서비스의 이름으로 바꿉니다.
  • LABEL: 라벨 이름