Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Este artigo descreve como atualizar um controlador de dados habilitado para Azure Arc conectado indiretamente usando a CLI do Azure (az).
Durante uma atualização do controlador de dados, partes do plano de controle de dados, como CRDs (Custom Resource Definitions) e contêineres, podem ser atualizadas. Uma atualização do controlador de dados não causará tempo de inatividade para os serviços de dados.
Prerequisites
Você precisará de um controlador de dados conectado indiretamente com o imageTag v1.0.0_2021-07-30 ou posterior.
Para verificar a versão, execute:
kubectl get datacontrollers -n <namespace> -o custom-columns=BUILD:.spec.docker.imageTag
Install tools
Antes de prosseguir com as tarefas neste artigo, você precisa instalar:
Exemplos neste artigo usam colchetes < ... > angulares para identificar valores que você precisa substituir antes de executar o script. Substitua os colchetes e os valores dentro dos parênteses.
A versão da extensão arcdata e a versão da imagem estão relacionadas. Check that you have the correct arcdata extension version that corresponds to the image version you want to upgrade to in the Version log.
Veja as imagens disponíveis e escolha uma versão
Puxe a lista de imagens disponíveis para o controlador de dados com o seguinte comando:
az arcdata dc list-upgrades --k8s-namespace <namespace>
O comando acima retorna a saída como o exemplo a seguir:
Found 2 valid versions. The current datacontroller version is v1.0.0_2021-07-30.
v1.1.0_2021-11-02
v1.0.0_2021-07-30
Atualizar controlador de dados
Esta seção mostra como atualizar um controlador de dados conectado indiretamente.
Note
Algumas das camadas e modos de serviços de dados estão geralmente disponíveis e alguns estão em pré-visualização. Se você instalar o GA e os serviços de visualização no mesmo controlador de dados, não poderá atualizar no local. Para atualizar, exclua todas as instâncias de banco de dados que não sejam do GA. You can find the list of generally available and preview services in the Release Notes.
Para obter caminhos de atualização com suporte, consulte Atualizar serviços de dados do Azure habilitados para Arc.
Upgrade
Você precisará se conectar e autenticar em um cluster do Kubernetes e ter um contexto Kubernetes existente selecionado antes de iniciar a atualização do controlador de dados do Azure Arc.
Você pode executar uma corrida seca primeiro. A execução a seco valida a existência do registro, o esquema de versão e o token de autorização do repositório privado (se usado). Para executar uma execução seca, use o --dry-runaz arcdata dc upgrade parâmetro no comando. For example:
az arcdata dc upgrade --desired-version <version> --k8s-namespace <namespace> --dry-run --use-k8s
A saída para o comando anterior é:
Preparing to upgrade dc arcdc in namespace arc to version <version-tag>.
Preparing to upgrade dc arcdc in namespace arc to version <version-tag>.
****Dry Run****
Arcdata Control Plane would be upgraded to: <version-tag>
Para atualizar o controlador de dados, execute o az arcdata dc upgrade comando, especificando a marca de imagem com --desired-version.
az arcdata dc upgrade --name <data controller name> --desired-version <image tag> --k8s-namespace <namespace> --use-k8s
Example:
az arcdata dc upgrade --name arcdc --desired-version v1.7.0_2022-05-24 --k8s-namespace arc --use-k8s
A saída para o comando anterior mostra o status das etapas:
Preparing to upgrade dc arcdc in namespace arc to version <version-tag>.
Preparing to upgrade dc arcdc in namespace arc to version <version-tag>.
Creating service account: arc:cr-upgrade-worker
Creating cluster role: arc:cr-upgrade-worker
Creating cluster role binding: arc:crb-upgrade-worker
Cluster role binding: arc:crb-upgrade-worker created successfully.
Cluster role: arc:cr-upgrade-worker created successfully.
Service account arc:cr-upgrade-worker has been created successfully.
Creating privileged job arc-elevated-bootstrapper-job
Monitorar o status da atualização
A atualização é um processo de duas partes. Primeiro, o controlador é atualizado e, em seguida, a pilha de monitoramento é atualizada. Você pode monitorar o progresso da atualização com a CLI.
CLI
az arcdata dc status show --name <data controller name> --k8s-namespace <namespace> --use-k8s
Quando a atualização estiver concluída, a saída será:
Ready
Troubleshooting
Quando a versão desejada é definida para uma versão específica, o trabalho de bootstrapper tentará atualizar para essa versão até que seja bem-sucedido. Se a atualização for bem-sucedida, a RunningVersion propriedade da especificação será atualizada para a nova versão. As atualizações podem falhar em cenários como uma marca de imagem incorreta, incapacidade de se conectar ao registro ou repositório, CPU ou memória insuficientes alocadas para os contêineres ou armazenamento insuficiente.
Execute o comando abaixo para ver se algum dos pods mostra um
Errorstatus ou tem um alto número de reinicializações:kubectl get pods --namespace <namespace>Para examinar Eventos para ver se há um erro, execute
kubectl describe pod <pod name> --namespace <namespace>Para obter uma lista dos contêineres nos pods, execute
kubectl get pods <pod name> --namespace <namespace> -o jsonpath='{.spec.containers[*].name}*'Para obter os logs de um contêiner, execute
kubectl logs <pod name> <container name> --namespace <namespace>
To view common errors and how to troubleshoot them go to Troubleshooting resources.