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.
Observação
A Microsoft incentiva os usuários a adotar o Python 3.x em seus sistemas, a menos que sua carga de trabalho exija suporte ao Python 2.x . Exemplos desse requisito podem incluir scripts de administração herdados ou extensões como o Azure Disk Encryption e o Azure Monitor.
Antes de instalar o Python 2.x em produção, considere a questão do suporte de longo prazo do Python 2.x, particularmente sua capacidade de receber atualizações de segurança. Como os produtos, incluindo algumas das extensões mencionadas, atualizam com suporte ao Python 3.8 , você deve descontinuar o uso do Python 2.x.
Algumas distribuições Linux fizeram a transição para o Python 3.8 e removeram completamente o ponto de entrada legado /usr/bin/python para o Python. Essa transição afeta a implantação pronta para uso e automatizada de determinadas extensões de máquina virtual (VM) com estas duas condições:
- Extensões que ainda estão em transição para o suporte ao Python 3.x
- Extensões que usam o ponto de entrada herdado
/usr/bin/python
Os usuários de distribuição Linux que fizeram a transição para o Python 3.x devem garantir que o ponto de entrada herdado /usr/bin/python exista antes de tentar implantar essas extensões em suas VMs. Caso contrário, a implantação da extensão poderá falhar.
As distribuições Linux aprovadas que são afetadas incluem o Ubuntu Server 20.04 LTS e o Ubuntu Pro 20.04 LTS.
As Extensões de VM afetadas incluem a Criptografia de Disco do Azure, o Log Analytics, o Acesso à VM (usado para Redefinição de Senha) e o Diagnóstico de Convidado (usado para contadores de desempenho adicionais).
Atualizações no lugar, como a atualização do Ubuntu 18.04 LTS para o Ubuntu 20.04 LTS, devem manter o /usr/bin/python symlink e permanecer inalteradas.
Observação
Experimenta o VM assist para diagnósticos mais rápidos. Recomendamos que execute o VM assist para Windows ou o VM assist para Linux. Essas ferramentas de diagnóstico baseadas em script ajudam você a identificar problemas comuns que afetam o Agente Convidado da VM do Azure e a integridade geral da VM.
Se estiver a experienciar problemas de desempenho com máquinas virtuais, antes de contactar o suporte, execute estas ferramentas.
Resolução
Considere estas recomendações gerais antes de implantar extensões nos cenários afetados conhecidos descritos anteriormente no Resumo:
Antes de implantar a extensão, restabeleça o
/usr/bin/pythonlink simbólico usando o método fornecido pelo fornecedor de distribuição Linux.- Por exemplo, para Python 2.7, use:
sudo apt update && sudo apt install python-is-python2
- Por exemplo, para Python 2.7, use:
Esta recomendação é para clientes do Azure e não tem suporte no Azure Stack:
- Se você já implantou uma instância que apresenta esse problema, use a funcionalidade de comando Executar na folha VM para executar os comandos mencionados acima. A extensão de comando Run em si não é afetada pela transição para o Python 3.8.
Se você estiver implantando uma nova instância e precisar definir uma extensão no momento do provisionamento, use os dados do usuário cloud-init para instalar os pacotes mencionados acima.
Por exemplo, para Python 2.7:
# create cloud-init config cat > cloudinitConfig.json <<EOF #cloud-config package_update: true runcmd: - sudo apt update - sudo apt install python-is-python2 EOF # create VM az vm create \ --resource-group <resourceGroupName> \ --name <vmName> \ --image <Ubuntu 20.04 Image URN> \ --admin-username azadmin \ --ssh-key-value "<sshPubKey>" \ --custom-data ./cloudinitConfig.jsonSe os administradores de políticas da sua organização determinarem que as extensões não devem ser implantadas em VMs, você poderá desabilitar o suporte a extensões no momento do provisionamento:
API REST
Para desabilitar e habilitar extensões quando você puder implantar uma VM com esta propriedade:
"osProfile": { "allowExtensionOperations": false },
Próximos passos
Consulte Outras alterações do sistema básico desde 18.04 LTS - Python 3 por padrão para obter informações adicionais.