Atualizar o Astra Control Center
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 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
-
Determine a versão do Astra Trident que você está executando:
kubectl get tridentversion -n trident
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. -
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:
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.
-
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.
-
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.
-
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.
O processo de atualização do Astra Control Center orienta você pelas seguintes etapas de alto nível:
Saia da IU do Astra Control Center antes de iniciar a atualização. |
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.
-
Faça login no Astra Control Service.
-
No Dashboard, selecione Deploy a self-managed instance of Astra Control.
-
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.
-
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". -
(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. -
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.
-
Determine se você tem o plug-in instalado:
kubectl astra
-
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.
-
-
Instale o plugin:
-
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:
A biblioteca de plugins kubectl faz parte do pacote tar e é extraída para a pasta kubectl-astra
.
ls kubectl-astra/
-
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
-
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-
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
-
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-
Mude para o diretório raiz do tarball. Você deve ver este arquivo e diretório:
acc/
kubectl-astra/
acc.manifest.bundle.yaml
-
Inicie sessão no seu registo:
podman login <YOUR_REGISTRY>
-
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
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
-
-
Altere o diretório:
cd manifests
Instale o operador Astra Control Center atualizado
-
(Apenas registos locais) se estiver a utilizar um registo local, siga estes passos:
-
Abra a implantação do operador Astra Control Center YAML:
vim astra_control_center_operator_deploy.yaml
Uma amostra anotada YAML segue estes passos. -
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}]
-
Altere
ASTRA_IMAGE_REGISTRY
para akube-rbac-proxy
imagem para o caminho do registo onde as imagens foram empurradas para um passo anterior. -
Altere
ASTRA_IMAGE_REGISTRY
para aacc-operator
imagem para o caminho do registo onde as imagens foram empurradas para um passo anterior. -
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
-
-
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
-
Verifique se os pods estão em execução:
kubectl get pods -n netapp-acc-operator
Atualizar o Astra Control Center
-
Edite o recurso personalizado do Astra Control Center (CR):
kubectl edit AstraControlCenter -n [netapp-acc or custom namespace]
Uma amostra anotada YAML segue estes passos. -
Altere o número da versão Astra (
astraVersion`dentro de `spec
) de23.10.0
para24.02.0
: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]"
-
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 despec
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]"
-
-
Adicione o seguinte à
crds
sua configuração dentro dospec
:crds: shouldUpgrade: true
-
Adicione as seguintes linhas dentro
additionalValues
dospec
no Astra Control Center CR:additionalValues: nautilus: startupProbe: periodSeconds: 30 failureThreshold: 600 keycloak-operator: livenessProbe: initialDelaySeconds: 180 readinessProbe: initialDelaySeconds: 180
-
Salve e saia do editor de arquivos. As alterações serão aplicadas e a atualização começará.
-
(Opcional) Verifique se os pods terminam e ficam disponíveis novamente:
watch kubectl get pods -n [netapp-acc or custom namespace]
-
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
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]
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
-
Faça login no Astra Control Center.
-
Verifique se a versão foi atualizada. Consulte a página suporte na IU.
-
Verifique se todos os clusters e aplicativos gerenciados ainda estão presentes e protegidos.