Skip to main content
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.

Atualizar o Astra Control Center

Colaboradores

Para atualizar o Astra Control Center, baixe as imagens de instalação e siga estas instruções. Você pode usar este procedimento para atualizar o Astra Control Center em ambientes conetados à Internet ou com conexão via rede.

Estas instruções descrevem o processo de atualização para o Astra Control Center da segunda versão mais recente para esta versão atual. Você não pode atualizar diretamente de uma versão que seja duas ou mais versões por trás da versão atual. Se a versão instalada do Astra Control Center for muitas versões atrás da versão mais recente, talvez seja necessário realizar atualizações em cadeia para versões mais recentes até que o Astra Control Center instalado esteja apenas uma versão atrás da versão mais recente. Para obter uma lista completa das versões lançadas, consulte "notas de lançamento".

Antes de começar

Antes de atualizar, certifique-se de que o seu ambiente ainda atende ao "Requisitos mínimos para implantação do Astra Control Center". Seu ambiente deve ter o seguinte:

  • Um habilitado "Previsão do Astra Control" com o Astra Trident em execução

    1. Determine a versão do Astra Trident que você está executando:

      kubectl get tridentversion -n trident
      Observação Se você estiver executando o Astra Trident 23,01 ou anterior, use-os "instruções" para atualizar para uma versão mais recente do Astra Trident antes de atualizar para o Astra Control Provisioner. Você pode fazer uma atualização direta para o Astra Control Provisioner 24,02 se o seu Astra Trident estiver dentro de uma janela de quatro versões da versão 24,02. Por exemplo, você pode fazer o upgrade diretamente do Astra Trident 23,04 para o Astra Control Provisioner 24,02.
    2. Verifique se o Astra Control Provisioner foi "ativado". O Astra Control Provisioner não funcionará com versões do Astra Control Center anteriores a 23,10. Atualize seu Astra Control Provisioner para que ele tenha a mesma versão do Astra Control Center que você está atualizando para acessar as funcionalidades mais recentes.

  • Uma distribuição do Kubernetes suportada

    Determine a versão do Kubernetes que você está executando:

    kubectl get nodes -o wide
  • Recursos de cluster suficientes

    Determine os recursos disponíveis do cluster:

    kubectl describe node <node name>
  • Uma classe de armazenamento padrão

    Determine sua classe de armazenamento padrão:

    kubectl get storageclass
  • Serviços API saudáveis e disponíveis

    Certifique-se de que todos os serviços de API estão em um estado saudável e disponíveis:

    kubectl get apiservices
  • * (Somente Registros locais) Um Registro local que você pode usar para enviar e carregar imagens do Astra Control Center*

  • (apenas OpenShift) operadores de cluster saudáveis e disponíveis

    Certifique-se de que todos os operadores de cluster estão em um estado saudável e disponíveis.

    kubectl get clusteroperators

Você também deve considerar o seguinte:

Dica Faça atualizações em uma janela de manutenção quando programações, backups e snapshots não estiverem sendo executados.
  • Acesso ao Registro de imagem do NetApp Astra Control: Você tem a opção de obter imagens de instalação e melhorias de funcionalidade para o Astra Control, como o Astra Control Provisioner, a partir do Registro de imagens do NetApp.

    1. Registre seu ID de conta Astra Control que você precisará fazer login no Registro.

      Você pode ver o ID da conta na IU da Web do Astra Control Service. Selecione o ícone de figura no canto superior direito da página, selecione Acesso à API e anote o ID da sua conta.

    2. Na mesma página, selecione Generate API token e copie a cadeia de token da API para a área de transferência e salve-a no seu editor.

    3. Faça login no Registro do Astra Control:

      docker login cr.astra.netapp.io -u <account-id> -p <api-token>
  • Implantações de malha de serviço Istio se você instalou uma malha de serviço Istio durante a instalação do Astra Control Center, essa atualização do Astra Control Center incluirá a malha de serviço Istio. Se você ainda não tiver um Service mesh, só poderá instalar um durante um "implantação inicial" do Astra Control Center.

Sobre esta tarefa

O processo de atualização do Astra Control Center orienta você pelas seguintes etapas de alto nível:

Observação Saia da IU do Astra Control Center antes de iniciar a atualização.
Importante Não exclua o operador Astra Control Center (por exemplo, kubectl delete -f astra_control_center_operator_deploy.yaml) a qualquer momento durante a atualização ou operação do Astra Control Center para evitar a exclusão de pods.

Faça download e extraia Astra Control Center

Faça o download das imagens do Astra Control Center de um dos seguintes locais:

  • Registro de imagem do Serviço de Controle Astra: Use esta opção se você não usar um Registro local com as imagens do Centro de Controle Astra ou se preferir esse método para o download do pacote no site de suporte da NetApp.

  • Site de suporte da NetApp: Use essa opção se você usar um Registro local com as imagens do Centro de Controle Astra.

Registro de imagem Astra Control
  1. Faça login no Astra Control Service.

  2. No Dashboard, selecione Deploy a self-managed instance of Astra Control.

  3. Siga as instruções para fazer login no Registro de imagens do Astra Control, extrair a imagem de instalação do Astra Control Center e extrair a imagem.

Site de suporte da NetApp
  1. Faça o download do pacote que contém o Astra Control Center (astra-control-center-[version].tar.gz) no "Página de downloads do Astra Control Center".

  2. (Recomendado, mas opcional) Faça o download do pacote certificados e assinaturas para o Astra Control Center (astra-control-center-certs-[version].tar.gz) para verificar a assinatura do pacote.

    tar -vxzf astra-control-center-certs-[version].tar.gz
    openssl dgst -sha256 -verify certs/AstraControlCenter-public.pub -signature certs/astra-control-center-[version].tar.gz.sig astra-control-center-[version].tar.gz

    A saída será Verified OK exibida após a verificação bem-sucedida.

  3. Extraia as imagens do pacote Astra Control Center:

    tar -vxzf astra-control-center-[version].tar.gz

Conclua as etapas adicionais se você usar um Registro local

Se você está planejando enviar o pacote Astra Control Center para o seu Registro local, você precisa usar o plugin de linha de comando NetApp Astra kubectl.

Remova o plug-in NetApp Astra kubectl e instale-o novamente

Você precisa usar a versão mais recente do plugin de linha de comando NetApp Astra kubectl para enviar imagens para um repositório local do Docker.

  1. Determine se você tem o plug-in instalado:

    kubectl astra
  2. Execute uma destas ações:

    • Se o plugin estiver instalado, o comando deve retornar a ajuda do plugin kubectl e você pode remover a versão existente do kubectl-astra: delete /usr/local/bin/kubectl-astra.

    • Se o comando retornar um erro, o plugin não está instalado e você pode prosseguir para a próxima etapa para instalá-lo.

  3. Instale o plugin:

    1. Liste os binários disponíveis do plug-in NetApp Astra kubectl e observe o nome do arquivo que você precisa para o seu sistema operacional e arquitetura de CPU:

      Observação A biblioteca de plugins kubectl faz parte do pacote tar e é extraída para a pasta kubectl-astra.
    ls kubectl-astra/
    1. Mova o binário correto para o caminho atual e renomeie-o para kubectl-astra:

      cp kubectl-astra/<binary-name> /usr/local/bin/kubectl-astra

Adicione as imagens ao seu registo

  1. Se você estiver planejando enviar o pacote Astra Control Center para o Registro local, conclua a sequência de etapas apropriada para o mecanismo de contêiner:

    Docker
    1. Mude para o diretório raiz do tarball. Você deve ver o acc.manifest.bundle.yaml arquivo e estes diretórios:

      acc/
      kubectl-astra/
      acc.manifest.bundle.yaml

    2. Envie as imagens do pacote no diretório de imagens do Astra Control Center para o Registro local. Faça as seguintes substituições antes de executar o push-images comando:

      • Substitua o <BUNDLE_FILE> pelo nome do arquivo do pacote Astra Control (acc.manifest.bundle.yaml).

      • Substitua o <MY_FULL_REGISTRY_PATH> pela URL do repositório Docker; por exemplo"https://<docker-registry>", .

      • Substitua o <MY_REGISTRY_USER> pelo nome de usuário.

      • Substitua o <MY_REGISTRY_TOKEN> por um token autorizado para o Registro.

        kubectl astra packages push-images -m <BUNDLE_FILE> -r <MY_FULL_REGISTRY_PATH> -u <MY_REGISTRY_USER> -p <MY_REGISTRY_TOKEN>
    Podman
    1. Mude para o diretório raiz do tarball. Você deve ver este arquivo e diretório:

      acc/
      kubectl-astra/
      acc.manifest.bundle.yaml

    2. Inicie sessão no seu registo:

      podman login <YOUR_REGISTRY>
    3. Prepare e execute um dos seguintes scripts personalizados para a versão do Podman que você usa. Substitua o <MY_FULL_REGISTRY_PATH> pela URL do seu repositório que inclui quaisquer subdiretórios.

      Podman 4
      export REGISTRY=<MY_FULL_REGISTRY_PATH>
      export PACKAGENAME=acc
      export PACKAGEVERSION=24.02.0-69
      export DIRECTORYNAME=acc
      for astraImageFile in $(ls ${DIRECTORYNAME}/images/*.tar) ; do
      astraImage=$(podman load --input ${astraImageFile} | sed 's/Loaded image: //')
      astraImageNoPath=$(echo ${astraImage} | sed 's:.*/::')
      podman tag ${astraImageNoPath} ${REGISTRY}/netapp/astra/${PACKAGENAME}/${PACKAGEVERSION}/${astraImageNoPath}
      podman push ${REGISTRY}/netapp/astra/${PACKAGENAME}/${PACKAGEVERSION}/${astraImageNoPath}
      done
      Podman 3
      export REGISTRY=<MY_FULL_REGISTRY_PATH>
      export PACKAGENAME=acc
      export PACKAGEVERSION=24.02.0-69
      export DIRECTORYNAME=acc
      for astraImageFile in $(ls ${DIRECTORYNAME}/images/*.tar) ; do
      astraImage=$(podman load --input ${astraImageFile} | sed 's/Loaded image: //')
      astraImageNoPath=$(echo ${astraImage} | sed 's:.*/::')
      podman tag ${astraImageNoPath} ${REGISTRY}/netapp/astra/${PACKAGENAME}/${PACKAGEVERSION}/${astraImageNoPath}
      podman push ${REGISTRY}/netapp/astra/${PACKAGENAME}/${PACKAGEVERSION}/${astraImageNoPath}
      done
      Observação O caminho da imagem que o script cria deve ser semelhante ao seguinte, dependendo da configuração do Registro:
      https://downloads.example.io/docker-astra-control-prod/netapp/astra/acc/24.02.0-69/image:version
  2. Altere o diretório:

    cd manifests

Instale o operador Astra Control Center atualizado

  1. (Apenas registos locais) se estiver a utilizar um registo local, siga estes passos:

    1. Abra a implantação do operador Astra Control Center YAML:

      vim astra_control_center_operator_deploy.yaml
      Observação Uma amostra anotada YAML segue estes passos.
    2. Se você usar um Registro que requer autenticação, substitua ou edite a linha padrão do imagePullSecrets: [] com o seguinte:

      imagePullSecrets: [{name: astra-registry-cred}]
    3. Altere ASTRA_IMAGE_REGISTRY para a kube-rbac-proxy imagem para o caminho do registo onde as imagens foram empurradas para um passo anterior.

    4. Altere ASTRA_IMAGE_REGISTRY para a acc-operator imagem para o caminho do registo onde as imagens foram empurradas para um passo anterior.

    5. Adicione os seguintes valores à env seção:

      - name: ACCOP_HELM_UPGRADETIMEOUT
        value: 300m
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      labels:
        control-plane: controller-manager
      name: acc-operator-controller-manager
      namespace: netapp-acc-operator
    spec:
      replicas: 1
      selector:
        matchLabels:
          control-plane: controller-manager
      strategy:
        type: Recreate
      template:
        metadata:
          labels:
            control-plane: controller-manager
        spec:
          containers:
          - args:
            - --secure-listen-address=0.0.0.0:8443
            - --upstream=http://127.0.0.1:8080/
            - --logtostderr=true
            - --v=10
            image: ASTRA_IMAGE_REGISTRY/kube-rbac-proxy:v4.8.0
            name: kube-rbac-proxy
            ports:
            - containerPort: 8443
              name: https
          - args:
            - --health-probe-bind-address=:8081
            - --metrics-bind-address=127.0.0.1:8080
            - --leader-elect
            env:
            - name: ACCOP_LOG_LEVEL
              value: "2"
            - name: ACCOP_HELM_UPGRADETIMEOUT
              value: 300m
            image: ASTRA_IMAGE_REGISTRY/acc-operator:24.02.68
            imagePullPolicy: IfNotPresent
            livenessProbe:
              httpGet:
                path: /healthz
                port: 8081
              initialDelaySeconds: 15
              periodSeconds: 20
            name: manager
            readinessProbe:
              httpGet:
                path: /readyz
                port: 8081
              initialDelaySeconds: 5
              periodSeconds: 10
            resources:
              limits:
                cpu: 300m
                memory: 750Mi
              requests:
                cpu: 100m
                memory: 75Mi
            securityContext:
              allowPrivilegeEscalation: false
          imagePullSecrets: []
          securityContext:
            runAsUser: 65532
          terminationGracePeriodSeconds: 10
  2. Instale o operador Astra Control Center atualizado:

    kubectl apply -f astra_control_center_operator_deploy.yaml
    Resposta da amostra:
    namespace/netapp-acc-operator unchanged
    customresourcedefinition.apiextensions.k8s.io/astracontrolcenters.astra.netapp.io configured
    role.rbac.authorization.k8s.io/acc-operator-leader-election-role unchanged
    clusterrole.rbac.authorization.k8s.io/acc-operator-manager-role configured
    clusterrole.rbac.authorization.k8s.io/acc-operator-metrics-reader unchanged
    clusterrole.rbac.authorization.k8s.io/acc-operator-proxy-role unchanged
    rolebinding.rbac.authorization.k8s.io/acc-operator-leader-election-rolebinding unchanged
    clusterrolebinding.rbac.authorization.k8s.io/acc-operator-manager-rolebinding configured
    clusterrolebinding.rbac.authorization.k8s.io/acc-operator-proxy-rolebinding unchanged
    configmap/acc-operator-manager-config unchanged
    service/acc-operator-controller-manager-metrics-service unchanged
    deployment.apps/acc-operator-controller-manager configured
  3. Verifique se os pods estão em execução:

    kubectl get pods -n netapp-acc-operator

Atualizar o Astra Control Center

  1. Edite o recurso personalizado do Astra Control Center (CR):

    kubectl edit AstraControlCenter -n [netapp-acc or custom namespace]
    Observação Uma amostra anotada YAML segue estes passos.
  2. Altere o número da versão Astra (astraVersion`dentro de `spec) de 23.10.0 para 24.02.0:

    Observação Você não pode atualizar diretamente de uma versão que seja duas ou mais versões por trás da versão atual. Para obter uma lista completa das versões lançadas, consulte "notas de lançamento".
    spec:
      accountName: "Example"
      astraVersion: "[Version number]"
  3. Alterar o registo de imagens:

    • (Apenas registos locais) se estiver a utilizar um registo local, verifique se o caminho do registo de imagens corresponde ao caminho do registo para o qual as imagens foram enviadas num passo anterior. Atualize imageRegistry dentro de spec se o Registro local foi alterado desde a última instalação.

    • (Registro de imagem Astra Control) Use o Registro de imagens Astra Control (cr.astra.netapp.io) que você usou para fazer o download do pacote Astra Control atualizado.

        imageRegistry:
          name: "[cr.astra.netapp.io or your_registry_path]"
  4. Adicione o seguinte à crds sua configuração dentro do spec:

    crds:
      shouldUpgrade: true
  5. Adicione as seguintes linhas dentro additionalValues do spec no Astra Control Center CR:

    additionalValues:
        nautilus:
          startupProbe:
            periodSeconds: 30
            failureThreshold: 600
        keycloak-operator:
          livenessProbe:
            initialDelaySeconds: 180
          readinessProbe:
            initialDelaySeconds: 180
  6. Salve e saia do editor de arquivos. As alterações serão aplicadas e a atualização começará.

  7. (Opcional) Verifique se os pods terminam e ficam disponíveis novamente:

    watch kubectl get pods -n [netapp-acc or custom namespace]
  8. Aguarde que as condições de status do Astra Control indiquem que a atualização está concluída e pronta (True):

    kubectl get AstraControlCenter -n [netapp-acc or custom namespace]

    Resposta:

    NAME    UUID                                      VERSION     ADDRESS         READY
    astra   9aa5fdae-4214-4cb7-9976-5d8b4c0ce27f      24.02.0-69   10.111.111.111  True
    Observação Para monitorar o status de atualização durante a operação, execute o seguinte comando: kubectl get AstraControlCenter -o yaml -n [netapp-acc or custom namespace]
    Observação Para inspecionar os logs do operador do Centro de Controle Astra, execute o seguinte comando:
    kubectl logs deploy/acc-operator-controller-manager -n netapp-acc-operator -c manager -f

Verifique o status do sistema

  1. Faça login no Astra Control Center.

  2. Verifique se a versão foi atualizada. Consulte a página suporte na IU.

  3. Verifique se todos os clusters e aplicativos gerenciados ainda estão presentes e protegidos.