- Representação JSON
- VolumeDataRestorePolicy
- ClusterResourceConflictPolicy
- NamespacedResourceRestoreMode
- ClusterResourceRestoreScope
- GroupKind
- SubstitutionRule
- TransformationRule
- TransformationRuleAction
- Op
- ResourceFilter
Configuração de uma restauração. Próximo ID: 12
Representação JSON |
---|
{ "volumeDataRestorePolicy": enum ( |
Campos | |
---|---|
volumeDataRestorePolicy |
Especifica o mecanismo a ser usado para restaurar dados de volume. Padrão: VOLUME_DATA_RESTORE_POLICY_UNSPECIFIED (será tratado como NO_VOLUME_DATA_RESTORATION). |
clusterResourceConflictPolicy |
Define o comportamento para lidar com a situação em que os recursos com escopo de cluster que estão sendo restaurados no cluster de destino. Ele PRECISA ser definido como um valor diferente de CLUSTER_RESOURCE_CONFLICT_POLICY_UNSPECIFIED se |
namespacedResourceRestoreMode |
Define o comportamento para lidar com a situação em que já existem conjuntos de recursos com namespace que estão sendo restaurados no cluster de destino. Ele PRECISA ser definido como um valor diferente de NAMESPACED_RESOURCE_RESTORE_MODE_UNSPECIFIED. |
clusterResourceRestoreScope |
Identifica os recursos com escopo de cluster a serem restaurados do backup. Se não for especificado, NENHUM recurso de cluster será restaurado. |
substitutionRules[] |
Uma lista de regras de transformação a serem aplicadas aos recursos do Kubernetes conforme eles são selecionados para restauração de um backup. As regras são executadas na ordem definida. Essa ordem é importante, já que alterações feitas por uma regra podem afetar a lógica de filtragem das regras subsequentes. Uma lista vazia significa que não haverá substituição. |
transformationRules[] |
Uma lista de regras de transformação a serem aplicadas aos recursos do Kubernetes conforme eles são selecionados para restauração de um backup. As regras são executadas na ordem definida. Essa ordem é importante, já que alterações feitas por uma regra podem afetar a lógica de filtragem das regras subsequentes. Uma lista vazia significa que nenhuma transformação ocorrerá. |
Campo de união Observação: os recursos nunca serão restaurados em namespaces gerenciados, como |
|
allNamespaces |
Restaure todos os recursos com namespace no backup se definidos como "True". Especificar este campo como "Falso" é um erro. |
selectedNamespaces |
Uma lista de namespaces selecionados para restauração do backup. Os namespaces listados e todos os recursos contidos neles serão restaurados. |
selectedApplications |
Uma lista de ProtectedApplications selecionados para restaurar. Os ProtectedApplications listados e todos os recursos a que eles se referem serão restaurados. |
noNamespaces |
Não restaura recursos com namespace se definido como "True". Não é permitido especificar este campo como "Falso". |
excludedNamespaces |
Uma lista de namespaces selecionados que foram excluídos da restauração. Todos os namespaces, exceto os desta lista, serão restaurados. |
VolumeDataRestorePolicy
Define como os dados de volume precisam ser restaurados.
Enums | |
---|---|
VOLUME_DATA_RESTORE_POLICY_UNSPECIFIED |
Não especificado (ilegal). |
RESTORE_VOLUME_DATA_FROM_BACKUP |
Para cada PVC que for restaurado, crie um novo volume e um PV do VolumeBackup correspondente contido no backup. |
REUSE_VOLUME_HANDLE_FROM_BACKUP |
Para cada PVC que for restaurada, tente reutilizar o PV original contido no backup (com o volume subjacente original). Provavelmente, essa opção só será utilizável ao restaurar uma carga de trabalho para o cluster original. |
NO_VOLUME_DATA_RESTORATION |
Crie-o sem nenhuma ação específica para restaurar dados para cada PVC que for restaurado. Nesse caso, a lógica normal de provisionamento do Kubernetes será iniciada, o que provavelmente resultará no provisionamento dinâmico de PVs em branco ou na vinculação a PVs provisionados estaticamente. |
ClusterResourceConflictPolicy
Define o comportamento para lidar com a situação em que os recursos com escopo de cluster que estão sendo restaurados no cluster de destino.
Enums | |
---|---|
CLUSTER_RESOURCE_CONFLICT_POLICY_UNSPECIFIED |
Não especificado. Permitido apenas se nenhum recurso com escopo de cluster for restaurado. |
USE_EXISTING_VERSION |
Não tente restaurar o recurso conflitante. |
USE_BACKUP_VERSION |
Exclua a versão atual antes de recriá-la no backup. Essa é uma opção perigosa que pode causar perda de dados não intencional se usada incorretamente. Por exemplo, excluir um CRD fará com que o Kubernetes exclua todas as respostas automáticas desse tipo. |
NamespacedResourceRestoreMode
Define o comportamento para lidar com a situação em que já existem conjuntos de recursos com namespace que estão sendo restaurados no cluster de destino.
Enums | |
---|---|
NAMESPACED_RESOURCE_RESTORE_MODE_UNSPECIFIED |
Não especificado (inválido). |
DELETE_AND_RESTORE |
Quando recursos de nível superior conflitantes (namespaces ou ProtectedApplications, dependendo do escopo) forem encontrados, isso primeiro acionará uma exclusão do recurso conflitante E DE TODOS OS SEUS RECURSOS REFERENTES (por exemplo, todos os recursos no namespace ou todos os recursos referenciados pelo ProtectedApplication) antes de restaurar os recursos do backup. Use esse modo apenas quando você pretende reverter parte de um cluster para um estado anterior. |
FAIL_ON_CONFLICT |
Se recursos conflitantes de nível superior (Namespaces ou ProtectedApplications, dependendo do escopo) forem encontrados no início de um processo de restauração, a restauração falhará. Se ocorrer um conflito durante o próprio processo de restauração (por exemplo, porque um processo fora de banda cria recursos conflitantes), um conflito será relatado. |
ClusterResourceRestoreScope
Define o escopo dos recursos com escopo de cluster a serem restaurados.
Alguns tipos de grupo não são opções razoáveis para uma restauração e causarão um erro se selecionados aqui. Qualquer seleção de escopo que restaure os recursos "todos os válidos" exclui automaticamente esses tipos de grupo. - gkebackup.gke.io/BackupJob - gkebackup.gke.io/RestoreJob - metrics.k8s.io/NodeMetrics - migration.k8s.io/StorageState - migration.k8s.io/StorageVersionMigration - Node - snapshot.storage.k8s.io/VolumeSnapshotContent - storage.k8s.io/CSINode
Alguns tipos de grupo são impulsionados pela configuração de restauração em outro lugar e causarão um erro se selecionados aqui. - Namespace - PersistentVolume
Representação JSON |
---|
{ "selectedGroupKinds": [ { object ( |
Campos | |
---|---|
selectedGroupKinds[] |
Uma lista de tipos de grupos de recursos com escopo de cluster para restaurar a partir do backup. Se especificado, apenas os recursos selecionados serão restaurados. Mutuamente exclusivo para qualquer outro campo na mensagem. |
excludedGroupKinds[] |
Uma lista de tipos de grupos de recursos com escopo de cluster que NÃO podem ser restaurados do backup. Se especificado, todos os recursos válidos com escopo de cluster serão restaurados, exceto os especificados na lista. Mutuamente exclusivo para qualquer outro campo na mensagem. |
allGroupKinds |
Se for "True", todos os recursos válidos com escopo de cluster serão restaurados. Mutuamente exclusivo para qualquer outro campo na mensagem. |
noGroupKinds |
Se for "True", nenhum recurso com escopo de cluster será restaurado. Essa ação tem o mesmo escopo de restauração como se a mensagem não estivesse definida. Mutuamente exclusivo para qualquer outro campo na mensagem. |
Tipo de grupo
Este é um mapa direto para o tipo GroupKind do Kubernetes GroupKind e é usado para identificar "tipos" específicos de recursos a serem restaurados.
Representação JSON |
---|
{ "resourceGroup": string, "resourceKind": string } |
Campos | |
---|---|
resourceGroup |
String do grupo de APIs de um recurso do Kubernetes, por exemplo, "apiextensions.k8s.io", "storage.k8s.io" etc. Observação: use uma string vazia para o grupo de APIs principal. |
resourceKind |
Tipo de recurso do Kubernetes, por exemplo, "CustomResourceDefinition", "StorageClass" etc. |
SubstitutionRule
Uma regra de transformação a ser aplicada aos recursos do Kubernetes conforme eles são selecionados para restauração de um backup. Uma regra contém lógica de filtragem (quais recursos estão sujeitos à substituição) e lógica de substituição.
Representação JSON |
---|
{
"targetNamespaces": [
string
],
"targetGroupKinds": [
{
object ( |
Campos | |
---|---|
targetNamespaces[] |
(Parâmetro de filtragem) Qualquer recurso sujeito a substituição precisa estar contido em um dos namespaces do Kubernetes listados no backup. Se esse campo não for fornecido, nenhuma filtragem de namespace será realizada. Todos os recursos em todos os namespaces, incluindo todos os recursos com escopo de cluster, serão candidatos a substituição. Para combinar recursos com escopo de cluster e com namespace na mesma regra, use uma string vazia ("") como um dos namespaces de destino. |
targetGroupKinds[] |
(Parâmetro de filtragem) Qualquer recurso sujeito a substituição precisa pertencer a um dos "tipos" listados. Se esse campo não for fornecido, nenhuma filtragem de tipo será realizada (todos os recursos de todos os tipos correspondentes aos parâmetros de filtragem anteriores serão candidatos à substituição). |
targetJsonPath |
Obrigatório. Essa é uma expressão JSONPath que corresponde a campos específicos de recursos candidatos e opera como um parâmetro de filtragem (recursos que não forem correspondentes a essa expressão não serão candidatos para substituição), assim como um identificador de campo (identifica exatamente quais campos dos recursos candidatos serão modificados). |
originalValuePattern |
(Parâmetro de filtragem) Esta é uma expressão regular que é comparada com os campos correspondentes pela expressão targetJsonPath e também precisam ter passado os filtros anteriores. A substituição não será realizada nos campos cujo valor não corresponde a essa expressão. Se este campo NÃO for especificado, TODOS os campos que corresponderem à expressão targetJsonPath sofrerão substituição. Observe que um campo vazio (por exemplo, "", em vez de não especificado) para esse campo, ele só corresponderá a campos vazios. |
newValue |
Esse é o novo valor a ser definido para qualquer campo que passe nos critérios de filtragem e seleção. Para remover um valor de um recurso do Kubernetes, deixe esse campo não especificado ou defina-o como uma string vazia (""). |
TransformationRule
Uma regra de transformação a ser aplicada aos recursos do Kubernetes conforme eles são selecionados para restauração de um backup. Uma regra contém lógica de filtragem (quais recursos estão sujeitos a transformação) e lógica de transformação.
Representação JSON |
---|
{ "fieldActions": [ { object ( |
Campos | |
---|---|
fieldActions[] |
Obrigatório. Uma lista de ações de regra de transformação a serem realizadas nos recursos candidatos. As ações são executadas na ordem definida. Essa ordem é importante, já que ela pode interferir em outras, e a primeira operação pode afetar o resultado da segunda operação. |
resourceFilter |
Esse campo é usado para especificar um conjunto de campos que precisam ser usados para determinar quais recursos no backup serão processados pelas ações da regra de transformação fornecida. Isso garante que apenas recursos específicos sejam afetados por ações da regra de transformação. |
description |
A descrição é uma descrição de string especificada pelo usuário da regra de transformação. |
TransformationRuleAction
TransformationRuleAction define uma ação TransformationRule com base no RFC de patch JSON (https://www.rfc-editor.org/rfc/rfc6902)
Representação JSON |
---|
{
"op": enum ( |
Campos | |
---|---|
op |
Obrigatório. op especifica a operação a ser executada. |
fromPath |
Uma string que contém um valor de ponteiro JSON que faz referência ao local no documento de destino do qual o valor deve ser movido. |
path |
Uma string que contém um valor de ponteiro JSON que faz referência a um local no documento de destino em que a operação é realizada. |
value |
Uma string que especifica o valor desejado no formato de string a ser usado para a transformação. |
Op
Valores possíveis para operações de uma ação de regra de transformação.
Enums | |
---|---|
OP_UNSPECIFIED |
Operação não especificada |
REMOVE |
A operação "remover" remove o valor do local de destino. |
MOVE |
A operação "mover" remove o valor de um local especificado e o adiciona ao local de destino. |
COPY |
A operação de cópia copia o valor de um local especificado para o local de destino. |
ADD |
A operação "adicionar" executa uma das seguintes funções, dependendo do que a localização de destino faz referência: 1. Se a região de destino especificar um índice de matriz, um novo valor será inserido na matriz com o índice especificado. 2. Se o local de destino especificar um membro de objeto que ainda não existe, um novo membro será adicionado ao objeto. 3. Se o local de destino especificar um membro de objeto que existe, o valor desse membro será substituído. |
TEST |
A operação "teste" testa se um valor no local de destino é igual a um valor especificado. |
REPLACE |
A operação "substituir" substitui o valor no local de destino por um novo valor. O objeto de operação PRECISA conter um membro "valor" com conteúdo que especifica o valor de substituição. |
ResourceFilter
O ResourceFilter especifica os critérios de correspondência para limitar o escopo de uma mudança em um conjunto específico de recursos do Kubernetes selecionados para restauração de um backup.
Representação JSON |
---|
{
"namespaces": [
string
],
"groupKinds": [
{
object ( |
Campos | |
---|---|
namespaces[] |
(Parâmetro de filtragem) Qualquer recurso sujeito a transformação precisa estar contido em um dos namespaces do Kubernetes listados no backup. Se esse campo não for fornecido, nenhuma filtragem de namespace será realizada. Todos os recursos em todos os namespaces, incluindo todos os recursos com escopo de cluster, serão candidatos a transformação. Para combinar recursos com escopo de cluster e com namespace na mesma regra, use uma string vazia ("") como um dos namespaces de destino. |
groupKinds[] |
(Parâmetro de filtragem) Qualquer recurso sujeito a transformação precisa pertencer a um dos "tipos" listados. Se esse campo não for fornecido, nenhuma filtragem de tipo será realizada (todos os recursos de todos os tipos correspondentes aos parâmetros de filtragem anteriores serão candidatos à transformação). |
jsonPath |
Essa é uma expressão JSONPath que corresponde a campos específicos de recursos candidatos e opera como um parâmetro de filtragem. Os recursos que não corresponderem a essa expressão não serão candidatos a transformação. |