Implante manualmente o operador Shift (modo padrão)
Implante manualmente o NetApp Shift toolkit como um serviço em contêiner com NetApp Trident CSI e Migration Toolkit for Virtualization (MTV). Esse processo permite o provisionamento automatizado de storage e a migração de discos de máquinas virtuais, aproveitando anotações e rótulos para rotear as solicitações adequadamente entre os componentes.
Componentes de arquitetura
Entenda como o NetApp Shift toolkit, Trident CSI e o Migration Toolkit for Virtualization funcionam juntos para permitir o provisionamento automatizado de storage e a migração de discos de máquinas virtuais no seu ambiente OpenShift.
toolkit NetApp Shift
-
Implantado como um serviço conteinerizado por meio de um registro de imagens
-
Expõe um endpoint que escuta solicitações de Persistent Volume Claim (PVC) originadas do MTV com uma anotação específica
-
Responsável pelo processamento de tarefas de migração de disco de máquinas virtuais, incluindo conversões de formato
NetApp Trident CSI (Versão 26.06 ou posterior)
-
Atua como o provisionador da Container Storage Interface (CSI)
-
Recebe solicitações de importação de PVC do Shift toolkit
-
Aplica lógica baseada em anotações e rótulos de PVC para determinar se a solicitação deve ser processada diretamente ou redirecionada para Shift
Kit de Ferramentas de Migração para Virtualização (MTV 2.12 ou posterior)
-
Orquestra planos de migração de máquinas virtuais
-
Problemas com solicitações de PVC necessárias para provisionamento de storage durante a migração de máquina virtual
-
Adiciona anotações para orientar o processamento subsequente
Antes de começar
Verifique se o seu ambiente OpenShift possui os componentes necessários instalados e configurados antes de implantar o operador Shift.
-
O Migration Toolkit for Virtualization Operator está executando a versão 2.12 ou posterior
-
Trident é instalado via OpenShift OperatorHub "Guia de instalação do Trident"
-
NetApp Shift é implantado como um contêiner com o endpoint do Shift acessível ao NetApp Trident
-
Uma Storage Class é criada e anotada especificamente para uso no Shift toolkit
-
As anotações identificam o kit de ferramentas Shift como o manipulador pretendido e especificam o backend Trident de destino
-
A MTV inclui a seguinte anotação em PVCs:
forklift.konveyor.io/netapp-shift: "true"
Passo 1: Baixe e extraia o instalador do Shift
O pacote de instalação do Shift contém tudo o que é necessário para implantar o operador Shift e instalar o Shift.
|
|
Se o seu cluster não tiver acesso ao quay.io, ignore esta etapa e siga o Instalação offline (clusters isolados da internet) procedimento em vez disso. Retorne à etapa 2 após concluir a importação offline da imagem. |
-
Baixe a versão mais recente do instalador do Shift em "Toolchest do site de suporte da NetApp".
-
Extraia o pacote de instalação:
tar -xf Shift-installer-1.0.0.tar.gz -
Altere para o diretório do instalador:
cd shift-installer
Etapa 2: Crie o namespace Shift e as credenciais da API
Configure um namespace dedicado para o operador Shift e crie as credenciais necessárias para acesso seguro à API.
-
Crie o namespace Shift:
oc create ns shift -
Crie o segredo para acesso à API do Shift dentro do namespace do Shift. Substitua os valores de exemplo por um nome de usuário exclusivo e uma senha forte para o seu ambiente:
oc create secret generic shift-credentials -n shift \ --from-literal=username='admin' \ --from-literal=password='admin'
|
|
Substitua a senha por um valor de sua preferência. |
Etapa 3: criar certificado TLS ConfigMaps
Crie o ConfigMaps que fornece o certificado TLS e a chave privada que o serviço Shift usa para atender o tráfego HTTPS.
O certificado deve ser emitido com o CN/SAN definido como shift-toolkit-service.shift.svc.cluster.local. Os arquivos de certificado e chave devem ser nomeados server.cert e server.key, respectivamente.
-
Crie o ConfigMap para o certificado TLS:
oc create configmap shift-toolkit-service-server-crt -n shift \ --from-file=server.cert=server.cert -
Crie a ConfigMap para a chave privada TLS:
oc create configmap shift-toolkit-service-server-key -n shift \ --from-file=server.key=server.key
|
|
Se o HTTPS não estiver sendo usado, defina INSECURE_TLS=true em bundle.yaml. O ConfigMaps necessário ainda deve ser criado conforme descrito acima, mesmo quando o HTTPS estiver desativado e os certificados TLS não estiverem sendo usados ativamente.
|
Etapa 4: criar o pacote CA ConfigMap
Crie o ConfigMap que fornece o pacote CA que o ouvinte PVC usa para verificar o certificado TLS do serviço Shift.
-
Aponte
--from-filepara o `server.cert`arquivo PEM.A chave no ConfigMap deve ser
ca.crt. Com esse ConfigMap em vigor, o listener é executado comINSECURE_TLS=falsee verifica o certificado Shift em relação a esse pacote usandoSHIFT_CA_CERT_FILE. -
Crie o ConfigMap para o pacote CA:
oc create configmap shift-toolkit-service-ca -n shift \ --from-file=ca.crt=ca.cert
Etapa 5: criar reivindicações de volume persistente
Crie os PVCs necessários para o Shift filedb (banco de dados) e os logs antes de implantar o pacote.
-
Antes de aplicar as definições de PVC, atualize
deploy/filedb-pvc.yamledeploy/logs-pvc.yamlpara especificar ostorageClassNameapropriado para o seu cluster (por exemplo,ontap-storageclass).Esses PVCs devem ser criados e estar disponíveis antes que o pacote seja implantado na Etapa 6: implantar o operador Shift. -
Aplique o manifesto PVC filedb:
oc apply -f deploy/filedb-pvc.yaml -
Aplique o manifesto PVC de logs:
oc apply -f deploy/logs-pvc.yaml
Etapa 6: Fazer o deploy do operador Shift
Aplique a configuração do operador Shift ao seu OpenShift cluster e verifique se os pods necessários estão em execução com sucesso.
-
No diretório shift-installer, execute o comando deploy:
oc apply -f deploy/shift-bundle.yaml -
Verifique a instalação usando o status de criação do pod:
oc get pods -n shiftExemplo de saída:
NAME READY STATUS RESTARTS AGE shift-68ccd597c-dtsj7 1/1 Running 0 18s shift-pvc-listener-57d546f6b8-r9mgc 1/1 Running 0 18s
|
|
Para remover a implantação, execute oc delete -f deploy/bundle.yaml --ignore-not-found. Este comando remove os recursos implantados por bundle.yaml preservando o namespace e o segredo.
|
Etapa 7: configure a classe de armazenamento para integração com o Shift
Crie uma nova Storage Class ou atualize uma Storage Class existente com as anotações necessárias para a integração com o Shift.
A Storage Class deve incluir as seguintes anotações:
-
shift.netapp.io/storage-class-type -
shift.netapp.io/trident-backend-uuid
-
Corrija a storage class com as anotações necessárias:
oc patch storageclass nimnas1172 \ --type=merge \ -p '{ "metadata": { "annotations": { "shift.netapp.io/storage-class-type": "shift", "shift.netapp.io/trident-backend-uuid": "facc3aad-83bb-423a-b6a1-ba0fb8811217" } } }'Exemplo de saída:
storageclass.storage.k8s.io/nimnas1172 patchedO UUID do backend pode ser obtido executando oc get tbc -n trident -
Verifique as classes de armazenamento existentes:
oc get scExemplo de saída:
nimnas1172 (default) csi.trident.netapp.io Delete Immediate true
Etapa 8: crie e acione o plano da MTV
Após concluir a implantação do operador Shift e a configuração da classe de armazenamento, você pode criar e acionar o plano MTV.
Para obter informações detalhadas sobre como criar o plano da MTV, consulte o "Documentação do Migration Toolkit for Virtualization".
A seguinte captura de tela mostra a sequência de etapas executadas quando o plano de migração é acionado.
A seguinte captura de tela mostra os PVCs convertidos usando o kit de ferramentas Shift e posteriormente importados pelo NetApp Trident.
Plano de migração concluído com sucesso — 5 máquinas virtuais e aproximadamente 5 TB de dados migrados em aproximadamente 6 minutos.
Após a conclusão da migração, cada volume clonado deve ser desanexado. O método de desanexação depende da versão do ONTAP: use divisão de clones para ONTAP 9.17.1 e versões anteriores, ou vol move para versões anteriores.
Tanto a divisão de clones quanto a movimentação de volumes são operações em segundo plano e não afetam as cargas de trabalho de produção enquanto estão em execução. Um script para iniciar o processo de desanexação está disponível no widget Desanexar Pós-Migração dentro do NetApp Console Catálogo de Automação.
Instalação offline (clusters isolados da internet)
Esta seção descreve um caminho de instalação alternativo para clusters que não têm acesso ao quay.io. Se o seu cluster puder acessar o quay.io, siga as etapas 1–8.
Para clusters sem acesso ao quay.io, importe os arquivos tar de imagem no registro interno do OpenShift antes de implantar o pacote.
Não é necessário nenhum caminho de registro externo. Tanto as operações de envio de imagens quanto as referências de imagens agrupadas usam image-registry.openshift-image-registry.svc:5000, que é acessível através da rede do cluster e protegido pela CA do cluster.
-
`oc`CLI conectada com privilégios de cluster-admin
-
skopeoinstalado -
Arquivos tar de imagem disponíveis no host:
-
shift-toolkit-1.0.0-image.tar -
shift-toolkit-listener-1.0.0-image.tar
-
-
Ativar o registro interno (etapa única; ignore se já estiver configurado):
oc patch configs.imageregistry.operator.openshift.io cluster \ --type=merge -p '{"spec":{"defaultRoute":true}}' oc get route default-route -n openshift-image-registry -
Gere as credenciais de registro usando a sessão `oc`ativa:
Não utilize um token de conta de serviço bruto, pois isso pode falhar durante uploads de blobs. Use
oc registry loginpara criar um arquivo de autenticação compatível com o fluxo de redirecionamento do registro.REGISTRY=image-registry.openshift-image-registry.svc:5000 oc registry login --skip-check \ --registry=$REGISTRY \ --to=/tmp/registry-auth.json -
Envie a imagem do kit de ferramentas Shift para o registro interno:
skopeo copy \ docker-archive:shift-toolkit-1.0.0-image.tar \ docker://$REGISTRY/shift/shift-toolkit:1.0.0 \ --dest-tls-verify=false \ --dest-authfile=/tmp/registry-auth.json -
Envie a imagem do listener do Shift Toolkit para o registro interno:
skopeo copy \ docker-archive:shift-toolkit-listener-1.0.0-image.tar \ docker://$REGISTRY/shift/shift-toolkit-listener:1.0.0 \ --dest-tls-verify=false \ --dest-authfile=/tmp/registry-auth.json -
Atualize as referências de imagem em
deploy/bundle.yamlpara usar o registro interno:sed -i \ -e "s|quay.io/netapp/shift-toolkit:1.0.0|$REGISTRY/shift/shift-toolkit:1.0.0|g" \ -e "s|quay.io/netapp/shift-toolkit-listener:1.0.0|$REGISTRY/shift/shift-toolkit-listener:1.0.0|g" \ -e "s|imagePullPolicy: Always|imagePullPolicy: IfNotPresent|g" \ deploy/bundle.yaml -
Implante o pacote:
oc apply -f deploy/bundle.yaml