Skip to main content
Uma versão mais recente deste produto está disponível.
O português é fornecido por meio de tradução automática para sua conveniência. O inglês precede o português em caso de inconsistências.

Atualize com o operador

Colaboradores

Você pode atualizar facilmente uma instalação existente do Astra Trident usando o operador.

O que você vai precisar

Para atualizar usando o operador, as seguintes condições devem ser atendidas:

  • Você deve ter uma instalação do Astra Trident baseada em CSI. Para verificar se você está executando o CSI Trident, examine os pods no namespace do Trident. Se eles seguirem o trident-csi-* padrão de nomenclatura, você está executando o CSI Trident.

  • Você deve ter uma instalação Trident baseada em CRD. Isso representa todas as versões do 19,07 e posteriores. Se você tiver uma instalação baseada em CSI, provavelmente terá uma instalação baseada em CRD.

  • Se tiver desinstalado o CSI Trident e os metadados da instalação persistirem, pode atualizar utilizando o operador.

  • Somente uma instalação do Astra Trident deve existir em todos os namespaces em um determinado cluster do Kubernetes.

  • Você deve estar usando um cluster do Kubernetes que executa "versão 1,17 e posterior"o .

  • Se CRDs de snapshot alfa estiverem presentes, você deve removê-los com tridentctl obliviate alpha-snapshot-crd. Isso exclui as CRDs para a especificação do instantâneo alfa. Para obter instantâneos existentes que devem ser excluídos/migrados, "este blog"consulte .

Aviso Ao atualizar o Trident usando o operador na Plataforma de contêiner OpenShift, você deve atualizar para o Trident 21.01.1 ou posterior. O operador Trident lançado com 21.01.0 contém um problema conhecido que foi corrigido no 21.01.1. Para obter mais detalhes, consulte "Detalhes do problema no GitHub" .

Atualizar uma instalação de operador com escopo de cluster

Para atualizar de Trident 21,01 e posterior, aqui está o conjunto de etapas a serem seguidas.

Passos
  1. Exclua o operador Trident que foi usado para instalar a instância atual do Astra Trident. Por exemplo, se você estiver atualizando do 21,01, execute o seguinte comando:

    kubectl delete -f 21.01/trident-installer/deploy/bundle.yaml -n trident
  2. (Opcional) se você quiser modificar os parâmetros de instalação, edite o TridentOrchestrator objeto que você armazenou ao instalar o Trident. Essas alterações podem ser alterações, como modificar a imagem Trident personalizada, o Registro de imagens privadas para extrair imagens de contentor, ativar logs de depuração ou especificar segredos de recebimento de imagens.

  3. Instale o Astra Trident usando o bundle.yaml arquivo que configura o operador Trident para a nova versão. Execute o seguinte comando:

    kubectl create -f 21.10.0/trident-installer/deploy/bundle.yaml -n trident

Como parte desta etapa, o operador do 21.10.0 Trident identificará uma instalação existente do Astra Trident e a atualizará para a mesma versão do operador.

Atualize uma instalação de operador com escopo de namespace

Para atualizar de uma instância do Astra Trident instalada usando o operador com escopo de namespace (versões 20,07 a 20,10), aqui está o conjunto de etapas a serem seguidas:

Passos
  1. Verifique o status da instalação existente do Trident. Para fazer isso, verifique o Status de TridentProvisioner. O estado deve ser Installed.

    $ kubectl describe tprov trident -n trident | grep Message: -A 3
    Message:  Trident installed
    Status:   Installed
    Version:  v20.10.1
    Observação Se o status for exibido Updating, certifique-se de resolvê-lo antes de prosseguir. Para obter uma lista de valores de estado possíveis, "aqui"consulte .
  2. Crie o TridentOrchestrator CRD usando o manifesto fornecido com o instalador do Trident.

    # Download the release required [21.01]
    $ mkdir 21.07.1
    $ cd 21.07.1
    $ wget https://github.com/NetApp/trident/releases/download/v21.07.1/trident-installer-21.07.1.tar.gz
    $ tar -xf trident-installer-21.07.1.tar.gz
    $ cd trident-installer
    $ kubectl create -f deploy/crds/trident.netapp.io_tridentorchestrators_crd_post1.16.yaml
  3. Exclua o operador com escopo de namespace usando seu manifesto. Para concluir esta etapa, você precisa do bundle.yaml arquivo usado para implantar o operador com escopo de namespace. Pode bundle.yaml obter a partir do "Repositório Trident". Certifique-se de usar a ramificação apropriada.

    Observação Você deve fazer as alterações necessárias nos parâmetros de instalação do Trident (por exemplo, alterando os valores para tridentImage autosupportImage , , repositório de imagens privado e fornecendo imagePullSecrets) depois de excluir o operador com escopo de namespace e antes de instalar o operador com escopo de cluster. Para obter uma lista completa de parâmetros que podem ser atualizados, consulte "lista de parâmetros".
    #Ensure you are in the right directory
    $ pwd
    $ /root/20.10.1/trident-installer
    
    #Delete the namespace-scoped operator
    $ kubectl delete -f deploy/bundle.yaml
    serviceaccount "trident-operator" deleted
    clusterrole.rbac.authorization.k8s.io "trident-operator" deleted
    clusterrolebinding.rbac.authorization.k8s.io "trident-operator" deleted
    deployment.apps "trident-operator" deleted
    podsecuritypolicy.policy "tridentoperatorpods" deleted
    
    #Confirm the Trident operator was removed
    $ kubectl get all -n trident
    NAME                               READY   STATUS    RESTARTS   AGE
    pod/trident-csi-68d979fb85-dsrmn   6/6     Running   12         99d
    pod/trident-csi-8jfhf              2/2     Running   6          105d
    pod/trident-csi-jtnjz              2/2     Running   6          105d
    pod/trident-csi-lcxvh              2/2     Running   8          105d
    
    NAME                  TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)              AGE
    service/trident-csi   ClusterIP   10.108.174.125   <none>        34571/TCP,9220/TCP   105d
    
    NAME                         DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR                                     AGE
    daemonset.apps/trident-csi   3         3         3       3            3           kubernetes.io/arch=amd64,kubernetes.io/os=linux   105d
    
    NAME                          READY   UP-TO-DATE   AVAILABLE   AGE
    deployment.apps/trident-csi   1/1     1            1           105d
    
    NAME                                     DESIRED   CURRENT   READY   AGE
    replicaset.apps/trident-csi-68d979fb85   1         1         1       105d

    Nesta fase, o trident-operator-xxxxxxxxxx-xxxxx pod é excluído.

  4. (Opcional) se os parâmetros de instalação precisarem ser modificados, atualize a TridentProvisioner especificação. Essas alterações podem ser alterações, como modificar o Registro de imagens privadas para extrair imagens de contentor, ativar logs de depuração ou especificar segredos de recebimento de imagens.

    $  kubectl patch tprov <trident-provisioner-name> -n <trident-namespace> --type=merge -p '{"spec":{"debug":true}}'
  5. Instale o operador com escopo de cluster.

    Observação A instalação do operador com escopo de cluster inicia a migração TridentProvisioner de objetos para TridentOrchestrator objetos, exclui TridentProvisioner objetos e tridentprovisioner CRD e atualiza o Astra Trident para a versão do operador com escopo de cluster que está sendo usado. No exemplo a seguir, o Trident é atualizado para 21.07.1.
    Importante A atualização do Astra Trident usando o operador com escopo de cluster resulta na migração de tridentProvisioner para um tridentOrchestrator objeto com o mesmo nome. Este procedimento é automaticamente gerido pelo operador. A atualização também terá o Astra Trident instalado no mesmo namespace que antes.
    #Ensure you are in the correct directory
    $ pwd
    $ /root/21.07.1/trident-installer
    
    #Install the cluster-scoped operator in the **same namespace**
    $ kubectl create -f deploy/bundle.yaml
    serviceaccount/trident-operator created
    clusterrole.rbac.authorization.k8s.io/trident-operator created
    clusterrolebinding.rbac.authorization.k8s.io/trident-operator created
    deployment.apps/trident-operator created
    podsecuritypolicy.policy/tridentoperatorpods created
    
    #All tridentProvisioners will be removed, including the CRD itself
    $ kubectl get tprov -n trident
    Error from server (NotFound): Unable to list "trident.netapp.io/v1, Resource=tridentprovisioners": the server could not find the requested resource (get tridentprovisioners.trident.netapp.io)
    
    #tridentProvisioners are replaced by tridentOrchestrator
    $ kubectl get torc
    NAME      AGE
    trident   13s
    
    #Examine Trident pods in the namespace
    $ kubectl get pods -n trident
    NAME                                READY   STATUS    RESTARTS   AGE
    trident-csi-79df798bdc-m79dc        6/6     Running   0          1m41s
    trident-csi-xrst8                   2/2     Running   0          1m41s
    trident-operator-5574dbbc68-nthjv   1/1     Running   0          1m52s
    
    #Confirm Trident has been updated to the desired version
    $ kubectl describe torc trident | grep Message -A 3
    Message:                Trident installed
    Namespace:              trident
    Status:                 Installed
    Version:                v21.07.1

Atualize uma instalação de operador baseada em Helm

Execute as etapas a seguir para atualizar uma instalação do operador baseada em Helm.

Passos
  1. Baixe o mais recente lançamento do Astra Trident.

  2. Use o helm upgrade comando. Veja o exemplo a seguir:

    $ helm upgrade <name> trident-operator-21.07.1.tgz

    onde trident-operator-21.07.1.tgz reflete a versão para a qual você deseja atualizar.

  3. Execute helm list para verificar se o gráfico e a versão do aplicativo foram atualizados.

Observação Para passar dados de configuração durante a atualização, use `--set`o .

Por exemplo, para alterar o valor padrão tridentDebug do , execute o seguinte comando:

$ helm upgrade <name> trident-operator-21.07.1-custom.tgz --set tridentDebug=true

Se você executar `$ tridentctl logs`o , você poderá ver as mensagens de depuração.

Observação Se você definir qualquer opção não padrão durante a instalação inicial, certifique-se de que as opções estão incluídas no comando upgrade, ou então, os valores serão redefinidos para seus padrões.

Atualize a partir de uma instalação que não seja do operador

Se você tiver uma instância do CSI Trident que atenda aos pré-requisitos listados acima, poderá atualizar para a versão mais recente do operador Trident.

Passos
  1. Baixe o mais recente lançamento do Astra Trident.

    # Download the release required [21.07.1]
    $ mkdir 21.07.1
    $ cd 21.07.1
    $ wget https://github.com/NetApp/trident/releases/download/v21.07.1/trident-installer-21.07.1.tar.gz
    $ tar -xf trident-installer-21.07.1.tar.gz
    $ cd trident-installer
  2. Crie o tridentorchestrator CRD a partir do manifesto.

    $ kubectl create -f deploy/crds/trident.netapp.io_tridentorchestrators_crd_post1.16.yaml
  3. Implante o operador.

    #Install the cluster-scoped operator in the **same namespace**
    $ kubectl create -f deploy/bundle.yaml
    serviceaccount/trident-operator created
    clusterrole.rbac.authorization.k8s.io/trident-operator created
    clusterrolebinding.rbac.authorization.k8s.io/trident-operator created
    deployment.apps/trident-operator created
    podsecuritypolicy.policy/tridentoperatorpods created
    
    #Examine the pods in the Trident namespace
    NAME                                READY   STATUS    RESTARTS   AGE
    trident-csi-79df798bdc-m79dc        6/6     Running   0          150d
    trident-csi-xrst8                   2/2     Running   0          150d
    trident-operator-5574dbbc68-nthjv   1/1     Running   0          1m30s
  4. Crie TridentOrchestrator um CR para a instalação do Astra Trident.

    #Create a tridentOrchestrator to initate a Trident install
    $ cat deploy/crds/tridentorchestrator_cr.yaml
    apiVersion: trident.netapp.io/v1
    kind: TridentOrchestrator
    metadata:
      name: trident
    spec:
      debug: true
      namespace: trident
    
    $ kubectl create -f deploy/crds/tridentorchestrator_cr.yaml
    
    #Examine the pods in the Trident namespace
    NAME                                READY   STATUS    RESTARTS   AGE
    trident-csi-79df798bdc-m79dc        6/6     Running   0          1m
    trident-csi-xrst8                   2/2     Running   0          1m
    trident-operator-5574dbbc68-nthjv   1/1     Running   0          5m41s
    
    #Confirm Trident was upgraded to the desired version
    $ kubectl describe torc trident | grep Message -A 3
    Message:                Trident installed
    Namespace:              trident
    Status:                 Installed
    Version:                v21.07.1

Os backends e PVCs existentes estão disponíveis automaticamente.