Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Atualizado em 2024-09-10 GMT+08:00

Reversão de uma instância de complemento

Função

Reverter a versão da instância do complemento para a versão de origem. Somente quando o parâmetro status.isRollbackable é definido como true e a instância do complemento está no estado running, available, abnormal, upgradeFailed ou rollbackFailed, a versão pode ser revertida para a versão de origem.

URI

POST /api/v3/addons/{id}/operation/rollback

Tabela 1 Parâmetros de caminho

Parâmetro

Obrigatório

Tipo

Descrição

id

Sim

String

ID da instância do complemento

Parâmetros de solicitação

Tabela 2 Parâmetros de cabeçalho de solicitação

Parâmetro

Obrigatório

Tipo

Descrição

X-Auth-Token

Sim

String

As solicitações para chamar uma API podem ser autenticadas usando um token ou AK/SK. Se a autenticação baseada em token for usada, esse parâmetro é obrigatório e deve ser definido como um token de usuário. Para obter detalhes, consulte Obtenção de um token de usuário.

Tabela 3 Parâmetros do corpo da solicitação

Parâmetro

Obrigatório

Tipo

Descrição

clusterID

Sim

String

ID do cluster

Parâmetros de resposta

Código de status: 200

Tabela 4 Parâmetros do corpo de resposta

Parâmetro

Tipo

Descrição

kind

String

Tipo de API. O valor é fixado em Addon e não pode ser alterado.

apiVersion

String

Versão da API. O valor é fixado em v3 e não pode ser alterado.

metadata

AddonMetadata object

Informações básicas sobre o objeto. Metadados são uma coleção de atributos.

spec

InstanceSpec object

Descrição detalhada da instância do complemento.

status

AddonInstanceStatus object

Status da instância do complemento.

Tabela 5 AddonMetadata

Parâmetro

Tipo

Descrição

uid

String

ID único

name

String

Nome do complemento

alias

String

Alias do complemento

labels

Map<String,String>

Rótulos do complemento em pares chave-valor. Este é um campo reservado e não tem efeito.

annotations

Map<String,String>

Anotações do complemento, no formato de pares chave-valor.

  • Para instalação do complemento, o valor é fixado em {"addon.install/type":"install"}.

  • Para a atualização do complemento, o valor é fixado em {"addon.upgrade/type":"upgrade"}.

updateTimestamp

String

Atualizado em

creationTimestamp

String

Criado em

Tabela 6 InstanceSpec

Parâmetro

Tipo

Descrição

clusterID

String

ID do cluster.

version

String

Versão do modelo de complemento, por exemplo, 1.0.0.

addonTemplateName

String

Nome do modelo de complemento, por exemplo, coredns.

addonTemplateType

String

Tipo de modelo de complemento.

addonTemplateLogo

String

URL para obter o logotipo do modelo de complemento.

addonTemplateLabels

Array of strings

Rótulos do modelo de complemento.

description

String

Descrição do modelo de complemento.

values

Map<String,Object>

Parâmetros de instalação do modelo de complemento (variando dependendo do complemento). Defina os parâmetros de acordo.

Tabela 7 AddonInstanceStatus

Parâmetro

Tipo

Descrição

status

String

Status de instâncias do complemento. Opções:

  • running: todas as instâncias do complemento estão em execução e o complemento está em execução corretamente.

  • abnormal: as instâncias do complemento são anormais e o complemento não pode ser usado. Clique no nome do complemento para ver as exceções.

  • installing: o complemento está sendo instalado.

  • installFailed: falhou ao instalar o complemento. Nesse caso, desinstale o complemento e reinstale-o.

  • upgrading: o complemento está sendo atualizado.

  • upgradeFailed: falhou ao atualizar o complemento. Nesse caso, atualize o complemento novamente ou desinstale o complemento e reinstale-o.

  • deleting: o complemento está sendo excluído.

  • deleteFailed: falhou ao excluir o complemento. Nesse caso, desinstale o complemento novamente.

  • deleteSuccess: a exclusão do complemento foi bem-sucedida.

  • available: apenas algumas instâncias do complemento estão em execução. Isso indica que algumas funções do complemento estão disponíveis.

  • rollbacking: o complemento está sendo revertido.

  • rollbackFailed: falhou ao reverter o complemento. Nesse caso, reverta o complemento novamente ou desinstale o complemento e reinstale-o.

  • unknown: a instância do gráfico de complemento não existe.

Reason

String

Causa da falha na instalação do complemento.

message

String

Detalhes do erro de instalação.

targetVersions

Array of strings

Versões para as quais a versão atual do complemento pode ser atualizada.

currentVersion

Versions object

Informações sobre a versão atual do complemento.

isRollbackable

Boolean

Se a versão do complemento pode ser revertida para a versão de origem.

previousVersion

String

A versão do complemento antes da atualização ou reversão

Tabela 8 Versions

Parâmetro

Tipo

Descrição

version

String

Versão do complemento.

input

Object

Parâmetros de instalação do complemento.

stable

Boolean

Se a versão do complemento é uma versão estável.

translate

Object

Informações de tradução usadas pela GUI.

supportVersions

Array of SupportVersions objects

Versões de cluster que suportam o complemento.

creationTimestamp

String

Hora de criação.

updateTimestamp

String

Hora da atualização.

Tabela 9 SupportVersions

Parâmetro

Tipo

Descrição

clusterType

String

Tipo de cluster que suporta o complemento.

clusterVersion

Array of strings

Versões de cluster que suportam o complemento. O valor é uma expressão regular.

Exemplo de solicitações

{
  "clusterID" : "******"
}

Exemplo de respostas

Código de status: 200

A versão da instância do complemento é revertida.

{
  "kind" : "Addon",
  "apiVersion" : "v3",
  "metadata" : {
    "uid" : "******",
    "name" : "everest",
    "alias" : "everest",
    "creationTimestamp" : "2023-03-15T02:48:01Z",
    "updateTimestamp" : "2023-03-15T04:18:45Z"
  },
  "spec" : {
    "clusterID" : "******",
    "version" : "2.1.16",
    "addonTemplateName" : "everest",
    "addonTemplateType" : "helm",
    "addonTemplateLogo" : "******",
    "addonTemplateLabels" : [ "Storage" ],
    "description" : "Everest is a cloud native container storage system based on CSI, used\nto support cloud storages services for Kubernetes",
    "values" : {
      "basic" : {
        "base_image" : "euleros",
        "bms_url" : "******",
        "cluster_version" : "v1.25",
        "driver_init_image_version" : "2.1.16",
        "ecsEndpoint" : "******",
        "euleros_version" : "2.2.5",
        "everest_image_version" : "2.1.16",
        "evs_url" : "******",
        "iam_url" : "******",
        "ims_url" : "******",
        "obs_url" : "******",
        "platform" : "linux-amd64",
        "rbac_enabled" : true,
        "sfs30_url" : "******",
        "sfs_turbo_url" : "******",
        "sfs_url" : "******",
        "supportHcs" : false,
        "swr_addr" : "******",
        "swr_user" : "******"
      },
      "custom" : {
        "cluster_id" : "******",
        "cluster_version" : "v1.25.3-r0",
        "csi_attacher_detach_worker_threads" : "60",
        "csi_attacher_worker_threads" : "60",
        "default_vpc_id" : "******",
        "disable_auto_mount_secret" : false,
        "enable_node_attacher" : false,
        "flow_control" : { },
        "multiAZEnabled" : false,
        "over_subscription" : "80",
        "project_id" : "******",
        "volume_attaching_flow_ctrl" : "0"
      },
      "flavor" : {
        "category" : [ "CCE", "Turbo" ],
        "description" : "High avaiable",
        "name" : "HA",
        "replicas" : 2,
        "resources" : [ {
          "limitsCpu" : "250m",
          "limitsMem" : "1500Mi",
          "name" : "everest-csi-controller",
          "requestsCpu" : "250m",
          "requestsMem" : "600Mi"
        }, {
          "limitsCpu" : "500m",
          "limitsMem" : "300Mi",
          "name" : "everest-csi-driver",
          "requestsCpu" : "100m",
          "requestsMem" : "300Mi"
        } ]
      },
      "multiAZPreferred" : {
        "podAntiAffinity" : {
          "preferredDuringSchedulingIgnoredDuringExecution" : [ {
            "podAffinityTerm" : {
              "labelSelector" : {
                "matchExpressions" : [ {
                  "key" : "app",
                  "operator" : "In",
                  "values" : [ "everest-csi-controller" ]
                } ]
              },
              "topologyKey" : "topology.kubernetes.io/zone"
            },
            "weight" : 100
          } ]
        }
      },
      "multiAZRequired" : {
        "podAntiAffinity" : {
          "requiredDuringSchedulingIgnoredDuringExecution" : [ {
            "labelSelector" : {
              "matchExpressions" : [ {
                "key" : "app",
                "operator" : "In",
                "values" : [ "everest-csi-controller" ]
              } ]
            },
            "topologyKey" : "topology.kubernetes.io/zone"
          } ]
        }
      },
      "systemAutoInject" : {
        "cluster" : {
          "category" : "CCE",
          "clusterID" : "******",
          "clusterNetworkMode" : "vpc-router",
          "clusterVersion" : "v1.25.3-r0"
        },
        "user" : {
          "projectID" : "******"
        }
      },
      "tolerations" : [ {
        "effect" : "NoExecute",
        "key" : "node.kubernetes.io/not-ready",
        "operator" : "Exists",
        "tolerationSeconds" : 60
      }, {
        "effect" : "NoExecute",
        "key" : "node.kubernetes.io/unreachable",
        "operator" : "Exists",
        "tolerationSeconds" : 60
      } ]
    }
  },
  "status" : {
    "status" : "rollbacking",
    "Reason" : "Rollback to 4",
    "message" : "",
    "targetVersions" : [ "2.1.18", "2.1.19" ],
    "isRollbackable" : false,
    "previousVersion" : "2.1.19",
    "currentVersion" : {
      "version" : "2.1.16",
      "input" : {
        "basic" : {
          "bms_url" : "******",
          "driver_init_image_version" : "2.1.16",
          "ecsEndpoint" : "******",
          "everest_image_version" : "2.1.16",
          "evs_url" : "******",
          "iam_url" : "******",
          "ims_url" : "******",
          "obs_url" : "******",
          "platform" : "linux-amd64",
          "sfs30_url" : "******",
          "sfs_turbo_url" : "******",
          "sfs_url" : "******",
          "supportHcs" : false,
          "swr_addr" : "******",
          "swr_user" : "******"
        },
        "parameters" : {
          "common" : {
            "defaultVPCId" : 0
          },
          "custom" : {
            "cluster_id" : "",
            "csi_attacher_detach_worker_threads" : "60",
            "csi_attacher_worker_threads" : "60",
            "default_vpc_id" : "",
            "disable_auto_mount_secret" : false,
            "enable_node_attacher" : false,
            "flow_control" : { },
            "multiAZEnabled" : false,
            "over_subscription" : "80",
            "project_id" : "",
            "volume_attaching_flow_ctrl" : "0"
          },
          "flavor1" : {
            "description" : "High avaiable",
            "name" : "HA",
            "replicas" : 2,
            "resources" : [ {
              "limitsCpu" : "250m",
              "limitsMem" : "1500Mi",
              "name" : "everest-csi-controller",
              "requestsCpu" : "250m",
              "requestsMem" : "600Mi"
            }, {
              "limitsCpu" : "500m",
              "limitsMem" : "300Mi",
              "name" : "everest-csi-driver",
              "requestsCpu" : "100m",
              "requestsMem" : "300Mi"
            } ]
          },
          "flavor2" : {
            "description" : "Has only one instance",
            "name" : "Single",
            "replicas" : 1,
            "resources" : [ {
              "limitsCpu" : "250m",
              "limitsMem" : "600Mi",
              "name" : "everest-csi-controller",
              "requestsCpu" : "250m",
              "requestsMem" : "600Mi"
            }, {
              "limitsCpu" : "100m",
              "limitsMem" : "300Mi",
              "name" : "everest-csi-driver",
              "requestsCpu" : "100m",
              "requestsMem" : "300Mi"
            } ]
          },
          "flavor3" : {
            "description" : "custom resources",
            "name" : "custom-resources",
            "replicas" : 2,
            "resources" : [ {
              "limitsCpu" : "250m",
              "limitsMem" : "2000Mi",
              "name" : "everest-csi-controller",
              "requestsCpu" : "250m",
              "requestsMem" : "1500Mi"
            }, {
              "limitsCpu" : "500m",
              "limitsMem" : "300Mi",
              "name" : "everest-csi-driver",
              "requestsCpu" : "100m",
              "requestsMem" : "300Mi"
            } ]
          }
        }
      },
      "stable" : true,
      "translate" : {
        "en_US" : {
          "addon" : {
            "changeLog" : "******",
            "description" : "******"
          },
          "description" : {
            "Parameters.flavor1.description" : "******",
            "Parameters.flavor1.name" : "******",
            "Parameters.flavor2.description" : "******",
            "Parameters.flavor2.name" : "******",
            "Parameters.flavor3.name" : "******"
          }
        },
        "zh_CN" : {
          "addon" : {
            "changeLog" : "******",
            "description" : "******"
          },
          "description" : {
            "Parameters.flavor1.description" : "******",
            "Parameters.flavor1.name" : "******",
            "Parameters.flavor2.description" : "******",
            "Parameters.flavor2.name" : "******",
            "Parameters.flavor3.description" : "******",
            "Parameters.flavor3.name" : "******"
          }
        }
      },
      "supportVersions" : null,
      "creationTimestamp" : "2023-02-21T16:29:02Z",
      "updateTimestamp" : "2023-02-22T06:49:50Z"
    }
  }
}

Códigos de status

Código de status

Descrição

200

A versão da instância do complemento é revertida.

Códigos de erro

Consulte Códigos de erro.