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

ID。FleetPackage 的名稱。格式為 projects/{project}/locations/{location}/fleetPackages/{fleetPackage}fleetPackage 元件必須與 [a-z][a-z0-9\-]{0,62} 相符

createTime

string (Timestamp format)

僅供輸出。建立 FleetPackage 的時間。

使用 RFC 3339,產生的輸出內容一律會經過 Z 正規化,並使用 0、3、6 或 9 個小數位數,也接受「Z」以外的偏移量。範例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

updateTime

string (Timestamp format)

僅供輸出。FleetPackage 的最近更新時間。

使用 RFC 3339,產生的輸出內容一律會經過 Z 正規化,並使用 0、3、6 或 9 個小數位數,也接受「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)

選用。標籤是使用者和設定傳送功能都能設定及使用的屬性。標籤必須符合下列限制:

  • 鍵和值只能使用小寫字母、數字字元、底線和連字號。
  • 所有字元都必須使用 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)

選用。機群套件的所需狀態。

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。來源可以是直接推送的 ResourceBundleCloudBuildRepository,其中包含 Kubernetes 設定。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

這是必要旗標,Cloud Build 存放區的名稱。格式為 projects/{p}/locations/{l}/connections/{c}/repositories/{r}。

path

string

選用。存放區中含有 Kubernetes 設定的目錄或檔案路徑。如未指定,路徑會假設為存放區的頂層根目錄。

tag

string

這是必要旗標,基礎 Git 存放區的 Git 標記。Git 標記的格式必須為語意化版本 vX.Y.Z

serviceAccount

string

這是必要旗標,在 Cloud Build 觸發條件中使用的 Google 服務帳戶,用於擷取及儲存 Kubernetes 設定。

聯集欄位 variants。指定如何在存放區中尋找變體。variants 只能是下列其中一個設定:
variantsPattern

string

選用。用於在存放區中尋找變體的 Glob 模式。例如:variants/*.yamlus-*

目標

目標定義了指定 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。機群套件的目標。target 只能是下列其中一個設定:
fleet

object (Fleet)

用於指定推出 FleetPackage 的 GKE 機群資訊。

機群

要部署 FleetPackage 的車隊。

JSON 表示法
{
  "project": string,
  "selector": {
    object (LabelSelector)
  }
}
欄位
project

string

這是必要旗標,GKE 機群的主專案。格式為 projects/{project}

selector

object (LabelSelector)

選用。選取器可讓您使用標籤,指定部分機群成員為目標。

LabelSelector

標籤選取器是針對一組資源的標籤查詢。空白標籤選取器會比對所有物件。

JSON 表示法
{
  "matchLabels": {
    string: string,
    ...
  }
}
欄位
matchLabels

map (key: string, value: string)

選用。{key,value} 組合的地圖。每個 {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']}

舉例來說,如要將特定變化版本「default」部署至所有叢集,可以使用「default」(不含任何變數的字串) 做為 variantNameTemplate。

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

選用。錯誤說明。

狀態

「狀態」會指出機群套件的所需狀態。未指定值等同於 ACTIVE。如果狀態設為 SUSPENDED,系統會繼續執行進行中的推出作業 (如有),但不會排定新的推出作業。

列舉
STATE_UNSPECIFIED 未指定狀態。
ACTIVE FleetPackage」預計會啟用。
SUSPENDED FleetPackage 預計會遭到停權。

方法

create

在指定專案和位置中建立新的 FleetPackage。

delete

刪除單一 FleetPackage。

get

取得單一 FleetPackage 的詳細資料。

list

列出指定專案和位置中的 FleetPackage。

patch

更新單一 FleetPackage 的參數。