Atualize com o operador
Você pode atualizar facilmente uma instalação existente do Astra Trident usando o operador.
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 .
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.
-
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
-
(Opcional) se você quiser modificar os parâmetros de instalação, edite o
TridentOrchestrator
objeto que você criou ao instalar o Trident. Isso pode incluir alterações, como modificar a imagem Trident personalizada, Registro de imagem privado para extrair imagens de contentor, ativar logs de depuração ou especificar segredos de recebimento de imagens. -
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:
-
Verifique o status da instalação existente do Trident. Para fazer isso, verifique o Status de
TridentProvisioner
. O estado deve serInstalled
.$ kubectl describe tprov trident -n trident | grep Message: -A 3 Message: Trident installed Status: Installed Version: v20.10.1
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 . -
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
-
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. Podebundle.yaml
obter a partir do "Repositório Trident". Certifique-se de usar a ramificação apropriada.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 fornecendoimagePullSecrets
) 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. -
(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}}'
-
Instale o operador com escopo de cluster.
A instalação do operador com escopo de cluster inicia a migração TridentProvisioner
de objetos paraTridentOrchestrator
objetos, excluiTridentProvisioner
objetos etridentprovisioner
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.A atualização do Astra Trident usando o operador com escopo de cluster resulta na migração de tridentProvisioner
para umtridentOrchestrator
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.
-
Baixe o mais recente lançamento do Astra Trident.
-
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. -
Execute
helm list
para verificar se o gráfico e a versão do aplicativo foram atualizados.
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.
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.
-
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
-
Crie o
tridentorchestrator
CRD a partir do manifesto.$ kubectl create -f deploy/crds/trident.netapp.io_tridentorchestrators_crd_post1.16.yaml
-
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
-
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.