Atualizar o Astra Control Center
Para atualizar o Astra Control Center, faça o download do pacote de instalação no site de suporte da NetApp 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:
-
"suportado"Versão Astra Trident
Expanda para obter passos
Determine a versão do Trident que você está executando:
kubectl get tridentversion -n trident
Atualizar o Astra Trident, se necessário, usando "instruções" estes .
O lançamento de 23,10 é o último lançamento do Astra Control Center que será compatível com o Astra Trident. É altamente recomendável que você "Habilite o Astra Control Provisioner"acesse os recursos de gerenciamento avançado e provisionamento de storage além daqueles fornecidos pelo Astra Trident. Você precisa atualizar para o Astra Control Center 23,10 e habilitar o Astra Control Provisioner a usar essa funcionalidade estendida. O Astra Control Provisioner não funcionará com versões anteriores do Astra Control Center. |
-
Uma distribuição do Kubernetes suportada
Expanda para obter passos
Determine a versão do Kubernetes que você está executando:
kubectl get nodes -o wide
-
Recursos de cluster suficientes
Expanda para obter passos
Determine os recursos disponíveis do cluster:
kubectl describe node <node name>
-
* Um Registro que você pode usar para enviar e carregar imagens do Astra Control Center*
-
Uma classe de armazenamento padrão
Expanda para obter passos
Determine sua classe de armazenamento padrão:
kubectl get storageclass
-
Serviços API saudáveis e disponíveis
Expanda para obter passos
Certifique-se de que todos os serviços de API estão em um estado saudável e disponíveis:
kubectl get apiservices
-
(apenas OpenShift) operadores de cluster saudáveis e disponíveis
Expanda para obter passos
Certifique-se de que todos os operadores de cluster estão em um estado saudável e disponíveis.
kubectl get clusteroperators
-
Acesse o 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.
Expanda para obter passos
-
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>
-
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 atualizações em uma janela de manutenção quando programações, backups e snapshots não estiverem sendo executados. |
Faça download e extraia Astra Control Center
Você pode optar por baixar o pacote Astra Control Center do site de suporte da NetApp ou usar o Docker para extrair o pacote do Registro de imagem do serviço Astra Control.
-
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.Expanda para obter detalhes
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
-
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.
Remova o plug-in NetApp Astra kubectl e instale-o novamente
Você pode usar o 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 local
-
Complete a sequência de passos adequada para o seu motor de contentores:
-
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>
-
-
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=23.10.0-68 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=23.10.0-68 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/23.10.0-68/image:version
Instale o operador Astra Control Center atualizado
-
Altere o diretório:
cd manifests
-
Edite a implantação do operador Astra Control Center yaml ) (`astra_control_center_operator_deploy.yaml`para consultar o Registro local e o segredo.
vim astra_control_center_operator_deploy.yaml
-
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
Exemplo de astra_control_center_operator_deploy.yaml:
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:23.10.72 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]
-
Altere o número da versão Astra (
astraVersion`dentro de `spec
) de23.07.0
para23.10.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]"
-
Verifique se o caminho do Registro de imagens corresponde ao caminho do Registro para o qual você enviou as imagens em um passo anterior. Atualize
imageRegistry
dentro despec
se o Registro foi alterado desde sua última instalação.imageRegistry: name: "[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 23.10.0-68 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.