REST Resource: projects.locations.fleetPackages

Risorsa: FleetPackage

Una risorsa FleetPackage nell'API Config Delivery.

Un FleetPackage definisce un pacchetto tramite il quale la configurazione Kubernetes viene implementata in un parco risorse di cluster Kubernetes.

Rappresentazione 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)
}
Campi
name

string

Identificatore. Nome di FleetPackage. Il formato è projects/{project}/locations/{location}/fleetPackages/{fleetPackage}. Il componente fleetPackage deve corrispondere a [a-z][a-z0-9\-]{0,62}

createTime

string (Timestamp format)

Solo output. Ora in cui è stato creato il FleetPackage.

Utilizza RFC 3339, in cui l'output generato è sempre con normalizzazione Z e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

Solo output. L'ora più recente in cui è stato aggiornato FleetPackage.

Utilizza RFC 3339, in cui l'output generato è sempre con normalizzazione Z e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

labels

map (key: string, value: string)

Facoltativo. Le etichette sono attributi che possono essere impostati e utilizzati sia dall'utente che da Config Delivery. Le etichette devono soddisfare i seguenti vincoli:

  • Chiavi e valori possono contenere solo lettere minuscole, caratteri numerici, trattini bassi e trattini.
  • Tutti i caratteri devono utilizzare la codifica UTF-8; sono consentiti i caratteri internazionali.
  • Le chiavi devono iniziare con una lettera minuscola o un carattere internazionale.
  • Ogni risorsa può contenere al massimo 64 etichette.

Sia le chiavi che i valori sono inoltre vincolati a essere <= 128 byte.

Un oggetto contenente un elenco di coppie "key": value. Esempio: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

resourceBundleSelector

object (ResourceBundleSelector)

Obbligatorio. Informazioni che specificano l'origine della configurazione Kubernetes da distribuire.

target

object (Target)

Facoltativo. Configurazione per selezionare i cluster di destinazione in cui eseguire il deployment della configurazione Kubernetes.

rolloutStrategy

object (RolloutStrategy)

Facoltativo. La strategia da utilizzare per eseguire il deployment della configurazione Kubernetes nei cluster.

variantSelector

object (VariantSelector)

Obbligatorio. Informazioni che specificano come mappare una variante ResourceBundle a un cluster di destinazione.

info

object (FleetPackageInfo)

Solo output. Informazioni contenenti lo stato di implementazione di FleetPackage in tutti i cluster di destinazione.

deletionPropagationPolicy

enum (DeletionPropagationPolicy)

Facoltativo. Informazioni su come gestire le risorse Kubernetes nei cluster di destinazione quando viene eliminato FleetPackage.

state

enum (State)

Facoltativo. Lo stato desiderato del pacchetto del parco risorse.

ResourceBundleSelector

Informazioni che specificano l'origine della configurazione Kubernetes da distribuire.

Rappresentazione 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.
}
Campi
Campo unione source. L'origine può essere un ResourceBundle o un CloudBuildRepository inviato direttamente contenente la configurazione Kubernetes. source può essere solo uno dei seguenti tipi:
resourceBundle

object (ResourceBundleTag)

Informazioni che specificano ResourceBundle.

cloudBuildRepository

object (CloudBuildRepository)

Informazioni che specificano CloudBuildRepository.

ResourceBundleTag

ResourceBundleTag contiene le informazioni per fare riferimento a una release per un ResourceBundle.

Rappresentazione JSON
{
  "name": string,
  "tag": string
}
Campi
name

string

Obbligatorio. Nome di ResourceBundle. Il formato è projects/{p}/locations/{l}/resourceBundles/{r}.

tag

string

Obbligatorio. Il tag Git per una versione della release in un ResourceBundle. Il tag deve seguire il formato del controllo delle versioni semantico vX.Y.Z.

CloudBuildRepository

CloudBuildRepository contiene informazioni sul recupero della configurazione di Kubernetes da un CloudBuildRepository.

Rappresentazione 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.
}
Campi
name

string

Obbligatorio. Nome del repository Cloud Build. Il formato è projects/{p}/locations/{l}/connections/{c}/repositories/{r}.

path

string

Facoltativo. Percorso della directory o del file all'interno del repository che contiene la configurazione di Kubernetes. Se non specificato, il percorso viene considerato la directory principale di primo livello del repository.

tag

string

Obbligatorio. Tag Git del repository Git sottostante. Il tag Git deve essere nel formato della versione semantica vX.Y.Z.

serviceAccount

string

Obbligatorio. Account di servizio Google da utilizzare nei trigger Cloud Build per recuperare e archiviare la configurazione di Kubernetes.

Campo unione variants. Specifica la configurazione per la ricerca delle varianti nel repository. variants può essere solo uno dei seguenti tipi:
variantsPattern

string

Facoltativo. Pattern glob che verrà utilizzato per trovare le varianti nel repository. Esempi: variants/*.yaml, us-*

Target

Il target definisce diversi modi per scegliere come target un insieme di cluster Kubernetes.

Rappresentazione JSON
{

  // Union field target can be only one of the following:
  "fleet": {
    object (Fleet)
  }
  // End of list of possible types for union field target.
}
Campi
Campo unione target. Target per il pacchetto del parco risorse. target può essere solo uno dei seguenti tipi:
fleet

object (Fleet)

Informazioni sul parco risorse GKE per il targeting dell'implementazione di FleetPackage.

Parco risorse

Il parco risorse in cui deve essere eseguito il deployment di FleetPackage.

Rappresentazione JSON
{
  "project": string,
  "selector": {
    object (LabelSelector)
  }
}
Campi
project

string

Obbligatorio. Il progetto host per il parco risorse GKE. Il formato è projects/{project}.

selector

object (LabelSelector)

Facoltativo. Il selettore consente di scegliere come target un sottoinsieme di membri del parco risorse utilizzando le relative etichette.

LabelSelector

Un selettore di etichette è una query di etichette su un insieme di risorse. Un selettore di etichette vuoto corrisponde a tutti gli oggetti.

Rappresentazione JSON
{
  "matchLabels": {
    string: string,
    ...
  }
}
Campi
matchLabels

map (key: string, value: string)

Facoltativo. Mappa di coppie {chiave,valore}. Ogni coppia {chiave,valore} deve corrispondere esattamente a una chiave e a un valore di etichetta esistenti per soddisfare la corrispondenza.

Un oggetto contenente un elenco di coppie "key": value. Esempio: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

VariantSelector

VariantSelector contiene informazioni per selezionare una variante in ResourceBundle da implementare in un cluster di destinazione.

Rappresentazione JSON
{

  // Union field strategy can be only one of the following:
  "variantNameTemplate": string
  // End of list of possible types for union field strategy.
}
Campi
Campo unione strategy. strategia per la selezione di una variante. strategy può essere solo uno dei seguenti tipi:
variantNameTemplate

string

Obbligatorio. variantNameTemplate è un modello che può fare riferimento a variabili contenenti metadati di appartenenza al cluster, come località, nome ed etichette, per generare il nome della variante per un cluster di destinazione. La sintassi delle variabili è simile a quella delle variabili shell unix.

Le variabili disponibili sono ${membership.name}, ${membership.location}, ${membership.project} e ${membership.labels['label_name']}.

Se vuoi eseguire il deployment di una variante specifica, ad esempio "default", a tutti i cluster, puoi utilizzare "default" (stringa senza variabili) come variantNameTemplate.

FleetPackageInfo

FleetPackageInfo rappresenta lo stato di FleetPackage in tutti i cluster di destinazione.

Rappresentazione JSON
{
  "activeRollout": string,
  "lastCompletedRollout": string,
  "state": enum (State),
  "errors": [
    {
      object (FleetPackageError)
    }
  ]
}
Campi
activeRollout

string

Facoltativo. L'implementazione attiva, se presente. Il formato è projects/{project}/locations/{location}/fleetPackages/{fleetPackage}/rollouts/{rollout}.

lastCompletedRollout

string

Facoltativo. L'ultima implementazione completata, se presente. Il formato è projects/{project}/locations/{location}/fleetPackages/{fleetPackage}/rollouts/{rollout}.

state

enum (State)

Facoltativo. Solo output. Lo stato attuale di FleetPackage.

errors[]

object (FleetPackageError)

Facoltativo. Solo output. Errori riscontrati durante il deployment della configurazione (se presenti).

Stato

Valori possibili per lo stato FleetPackage.

Enum
STATE_UNSPECIFIED Stato non specificato.
ACTIVE FleetPackage è attivo.
SUSPENDED FleetPackage è stato sospeso.
FAILED La riconciliazione di FleetPackage non è riuscita.
DELETING Eliminazione di FleetPackage in corso.

FleetPackageError

Informazioni che rappresentano un errore riscontrato durante l'implementazione delle configurazioni.

Rappresentazione JSON
{
  "errorMessage": string
}
Campi
errorMessage

string

Facoltativo. Una descrizione dell'errore.

Stato

State indica lo stato desiderato per il pacchetto del parco risorse. Il valore non specificato equivale a ACTIVE. Se lo stato è impostato su SUSPENDED, l'implementazione attiva (se presente) continuerà, ma non verranno pianificate nuove implementazioni.

Enum
STATE_UNSPECIFIED Stato non specificato.
ACTIVE FleetPackage è destinato a essere attivo.
SUSPENDED FleetPackage è destinato alla sospensione.

Metodi

create

Crea un nuovo FleetPackage in un progetto e una località specifici.

delete

Elimina un singolo FleetPackage.

get

Recupera i dettagli di un singolo pacchetto Fleet.

list

Elenca le risorse FleetPackage in un progetto e una località specifici.

patch

Aggiorna i parametri di un singolo FleetPackage.