REST Resource: projects.locations.fleetPackages

리소스: FleetPackage

Config Delivery API의 FleetPackage 리소스입니다.

FleetPackage는 Kubernetes 구성이 Kubernetes 클러스터의 플릿에 배포되는 패키지를 정의합니다.

JSON 표현
{
  "name": string,
  "createTime": string,
  "updateTime": string,
  "labels": {
    string: string,
    ...
  },
  "resourceBundleSelector": {
    object (ResourceBundleSelector)
  },
  "target": {
    object (Target)
  },
  "rolloutStrategy": {
    object (RolloutStrategy)
  },
  "variantSelector": {
    object (VariantSelector)
  },
  "info": {
    object (FleetPackageInfo)
  },
  "deletionPropagationPolicy": enum (DeletionPropagationPolicy),
  "state": enum (State)
}
필드
name

string

식별자. FleetPackage 이름입니다. 형식은 projects/{project}/locations/{location}/fleetPackages/{fleetPackage}입니다. fleetPackage 구성요소가 [a-z][a-z0-9\-]{0,62}와 일치해야 합니다.

createTime

string (Timestamp format)

출력 전용입니다. FleetPackage이 생성된 시간입니다.

생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" 또는 "2014-10-02T15:01:23+05:30"입니다.

updateTime

string (Timestamp format)

출력 전용입니다. FleetPackage이 업데이트된 최근 시간입니다.

생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" 또는 "2014-10-02T15:01:23+05:30"입니다.

labels

map (key: string, value: string)

선택사항입니다. 라벨은 사용자와 Config Delivery 모두 설정하고 사용할 수 있는 속성입니다. 라벨은 다음 제약조건을 충족해야 합니다.

  • 키와 값에는 소문자, 숫자, 밑줄, 대시만 사용할 수 있습니다.
  • 모든 문자는 UTF-8 인코딩을 사용해야 하며 국제 문자가 허용됩니다.
  • 키는 소문자나 국제 문자로 시작해야 합니다.
  • 각 리소스는 최대 64개 라벨로 제한됩니다.

또한 키와 값 모두 128바이트 이하로 제한됩니다.

"key": value 쌍 목록을 포함하는 객체입니다. 예: { "name": "wrench", "mass": "1.3kg", "count": "3" }

resourceBundleSelector

object (ResourceBundleSelector)

필수 항목입니다. 배포할 Kubernetes 구성의 소스를 지정하는 정보입니다.

target

object (Target)

선택사항입니다. Kubernetes 구성을 배포할 타겟 클러스터를 선택하는 구성입니다.

rolloutStrategy

object (RolloutStrategy)

선택사항입니다. 클러스터에 Kubernetes 구성을 배포하는 데 사용할 전략입니다.

variantSelector

object (VariantSelector)

필수 항목입니다. ResourceBundle 변형을 대상 클러스터에 매핑하는 방법을 지정하는 정보입니다.

info

object (FleetPackageInfo)

출력 전용입니다. 모든 타겟 클러스터의 FleetPackage 출시 상태를 포함하는 정보입니다.

deletionPropagationPolicy

enum (DeletionPropagationPolicy)

선택사항입니다. FleetPackage가 삭제될 때 타겟 클러스터에서 Kubernetes 리소스를 처리하는 방법에 관한 정보입니다.

state

enum (State)

선택사항입니다. Fleet 패키지의 원하는 상태입니다.

ResourceBundleSelector

배포할 Kubernetes 구성의 소스를 지정하는 정보입니다.

JSON 표현
{

  // Union field source can be only one of the following:
  "resourceBundle": {
    object (ResourceBundleTag)
  },
  "cloudBuildRepository": {
    object (CloudBuildRepository)
  }
  // End of list of possible types for union field source.
}
필드
통합 필드 source. 소스는 Kubernetes 구성이 포함된 직접 푸시된 ResourceBundle 또는 CloudBuildRepository일 수 있습니다. source은 다음 중 하나여야 합니다.
resourceBundle

object (ResourceBundleTag)

ResourceBundle를 지정하는 정보입니다.

cloudBuildRepository

object (CloudBuildRepository)

CloudBuildRepository를 지정하는 정보입니다.

ResourceBundleTag

ResourceBundleTag에는 ResourceBundle의 버전을 참조하는 정보가 포함되어 있습니다.

JSON 표현
{
  "name": string,
  "tag": string
}
필드
name

string

필수 항목입니다. ResourceBundle 이름입니다. 형식은 projects/{p}/locations/{l}/resourceBundles/{r}입니다.

tag

string

필수 항목입니다. ResourceBundle의 출시 버전용 Git 태그입니다. 태그는 시맨틱 버전 관리 형식 vX.Y.Z를 따라야 합니다.

CloudBuildRepository

CloudBuildRepository에는 CloudBuildRepository에서 Kubernetes 구성을 가져오는 방법에 관한 정보가 포함되어 있습니다.

JSON 표현
{
  "name": string,
  "path": string,
  "tag": string,
  "serviceAccount": string,

  // Union field variants can be only one of the following:
  "variantsPattern": string
  // End of list of possible types for union field variants.
}
필드
name

string

필수 항목입니다. 클라우드 빌드 저장소의 이름입니다. 형식은 projects/{p}/locations/{l}/connections/{c}/repositories/{r}입니다.

path

string

선택사항입니다. Kubernetes 구성이 포함된 저장소 내 디렉터리 또는 파일의 경로입니다. 지정하지 않으면 경로는 저장소의 최상위 루트 디렉터리로 간주됩니다.

tag

string

필수 항목입니다. 기본 Git 저장소의 Git 태그입니다. Git 태그는 시맨틱 버전 형식 vX.Y.Z이어야 합니다.

serviceAccount

string

필수 항목입니다. CloudBuild 트리거에서 Kubernetes 구성을 가져오고 저장하는 데 사용할 Google 서비스 계정입니다.

통합 필드 variants. 저장소에서 변형을 찾는 방법을 구성합니다. variants은 다음 중 하나여야 합니다.
variantsPattern

string

선택사항입니다. 저장소에서 변형을 찾는 데 사용되는 glob 패턴입니다. 예: variants/*.yaml, us-*

대상

타겟은 Kubernetes 클러스터 집합을 타겟팅하는 다양한 방법을 정의합니다.

JSON 표현
{

  // Union field target can be only one of the following:
  "fleet": {
    object (Fleet)
  }
  // End of list of possible types for union field target.
}
필드
통합 필드 target. Fleet 패키지의 타겟입니다. target은 다음 중 하나여야 합니다.
fleet

object (Fleet)

FleetPackage 출시를 타겟팅하는 GKE Fleet 정보입니다.

Fleet

FleetPackage를 배포해야 하는 플릿입니다.

JSON 표현
{
  "project": string,
  "selector": {
    object (LabelSelector)
  }
}
필드
project

string

필수 항목입니다. GKE Fleet의 호스트 프로젝트입니다. 형식: projects/{project}

selector

object (LabelSelector)

선택사항입니다. 선택기를 사용하면 라벨을 사용하여 일부 Fleet 멤버를 타겟팅할 수 있습니다.

LabelSelector

라벨 선택기는 리소스 집합에 대한 라벨 쿼리입니다. 빈 라벨 선택기는 모든 객체와 일치합니다.

JSON 표현
{
  "matchLabels": {
    string: string,
    ...
  }
}
필드
matchLabels

map (key: string, value: string)

선택사항입니다. {key,value} 쌍의 맵입니다. 일치하려면 각 {키,값} 쌍이 기존 라벨 키 및 값과 정확히 일치해야 합니다.

"key": value 쌍 목록을 포함하는 객체입니다. 예: { "name": "wrench", "mass": "1.3kg", "count": "3" }

VariantSelector

VariantSelector에는 대상 클러스터에 배포할 ResourceBundle의 변형을 선택하기 위한 정보가 포함되어 있습니다.

JSON 표현
{

  // Union field strategy can be only one of the following:
  "variantNameTemplate": string
  // End of list of possible types for union field strategy.
}
필드
통합 필드 strategy. 변형을 선택하는 전략입니다. strategy은 다음 중 하나여야 합니다.
variantNameTemplate

string

필수사항입니다. variantNameTemplate은 위치, 이름, 라벨 등 클러스터 멤버십 메타데이터를 변수로 표시하여 대상 클러스터의 변형 이름을 생성할 수 있는 템플릿입니다. 변형 문법은 Unix 셸 변수와 비슷합니다.

사용 가능한 변수는 ${membership.name}, ${membership.location}, ${membership.project}, ${membership.labels['label_name']}입니다.

특정 변형을 배포하고 싶은 경우 예를 들어, 모든 클러스터에 '기본값'을 배포하고 싶다면 variantNameTemplate으로 변수 없는 문자열인 'default'를 사용하면 됩니다.

FleetPackageInfo

FleetPackageInfo는 모든 타겟 클러스터의 FleetPackage 상태를 나타냅니다.

JSON 표현
{
  "activeRollout": string,
  "lastCompletedRollout": string,
  "state": enum (State),
  "errors": [
    {
      object (FleetPackageError)
    }
  ]
}
필드
activeRollout

string

선택사항입니다. 활성 출시입니다(있는 경우). 형식: projects/{project}/locations/{location}/fleetPackages/{fleetPackage}/rollouts/{rollout}

lastCompletedRollout

string

선택사항입니다. 마지막으로 완료된 출시입니다(있는 경우). 형식: projects/{project}/locations/{location}/fleetPackages/{fleetPackage}/rollouts/{rollout}

state

enum (State)

선택사항입니다. 출력 전용입니다. FleetPackage의 현재 상태입니다.

errors[]

object (FleetPackageError)

선택사항입니다. 출력 전용입니다. 구성 배포 중에 발생한 오류입니다 (있는 경우).

FleetPackage 상태에 가능한 값입니다.

열거형
STATE_UNSPECIFIED 지정되지 않은 상태입니다.
ACTIVE FleetPackage이(가) 활성화되어 있습니다.
SUSPENDED FleetPackage 계정이 정지되었습니다.
FAILED FleetPackage의 조정에 실패했습니다.
DELETING FleetPackage 인스턴스를 삭제하는 중입니다.

FleetPackageError

구성을 롤아웃하는 중에 발생한 오류를 나타내는 정보입니다.

JSON 표현
{
  "errorMessage": string
}
필드
errorMessage

string

선택사항입니다. 오류에 대한 설명입니다.

State는 플릿 패키지의 원하는 상태를 나타냅니다. 지정되지 않은 값은 ACTIVE과 동일합니다. 상태가 SUSPENDED로 설정된 경우 활성 롤아웃 (있는 경우)은 계속되지만 새 롤아웃은 예약되지 않습니다.

열거형
STATE_UNSPECIFIED 지정되지 않은 상태입니다.
ACTIVE FleetPackage이(가) 활성화되어야 합니다.
SUSPENDED FleetPackage이 일시중지될 예정입니다.

메서드

create

특정 프로젝트와 위치에 새 FleetPackage를 만듭니다.

delete

단일 FleetPackage를 삭제합니다.

get

단일 FleetPackage의 세부정보를 가져옵니다.

list

특정 프로젝트와 위치의 FleetPackage를 나열합니다.

patch

단일 FleetPackage의 파라미터를 업데이트합니다.