Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Hinweis
Microsoft ermutigt Benutzer, in ihren Systemen Python 3.x einzuführen, sofern die Workloads keine Unterstützung von Python 2.x erfordern. Beispiele für diese Anforderung sind veraltete Verwaltungsskripts oder Erweiterungen wie Azure Disk Encryption und Azure Monitor.
Vor der Installation von Python 2.x in Produktionsumgebungen sollten Sie die Frage der langfristigen Unterstützung von Python 2.x untersuchen. Dies gilt insbesondere für die Möglichkeit, Sicherheitsupdates zu erhalten. Da Updates einiger Produkte, einschließlich einiger der erwähnten Erweiterungen, die Unterstützung für Python 3.8 beinhalten, sollten Sie Ihre Verwendung von Python 2.x einstellen.
Einige Linux-Distributionen wurden auf Python 3.8 umgestellt, und der Legacy-Einstiegspunkt /usr/bin/python für Python wurde vollständig entfernt. Diese Umstellung wirkt sich auf die standardmäßige automatisierte Bereitstellung bestimmter VM-Erweiterungen mit diesen beiden Bedingungen aus:
- Erweiterungen, bei denen die Umstellung auf Python 3.x noch durchgeführt wird
- Erweiterungen, die den Legacy-Einstiegspunkt
/usr/bin/pythonverwenden
Benutzer von Linux-Distributionen, die auf Python 3.x umgestellt haben, müssen sicherstellen, dass der Legacy-Einstiegspunkt /usr/bin/python vorhanden ist, bevor sie diese Erweiterungen auf ihren VMs bereitstellen. Andernfalls tritt bei der Bereitstellung der Erweiterung möglicherweise ein Fehler auf.
Zu den betroffenen unterstützten Linux-Distributionen gehören Ubuntu Server 20.04 LTS und Ubuntu Pro 20.04 LTS.
Zu den betroffenen VM-Erweiterungen gehören Azure Disk Encryption, Log Analytics, VM Access (für die Kennwortzurücksetzung) und Guest Diagnostics (für zusätzliche Leistungsindikatoren).
Direkte Upgrades, z. B. ein Upgrade von Ubuntu 18.04 LTS auf Ubuntu 20.04 LTS, sollten den Symlink /usr/bin/python beibehalten und sind daher nicht weiter betroffen.
Hinweis
Testen Sie die VM-Unterstützung für eine schnellere Diagnose. Es wird empfohlen, vm assist for Windows or VM assist for Linux auszuführen. Diese skriptbasierten Diagnosetools helfen Ihnen, häufige Probleme zu identifizieren, die sich auf den Azure VM-Gast-Agent und die allgemeine VM-Integrität auswirken.
Wenn Leistungsprobleme mit virtuellen Computern auftreten, führen Sie diese Tools aus, bevor Sie sich an den Support wenden.
Lösung
Beachten Sie diese allgemeinen Empfehlungen, bevor Sie Erweiterungen in den zuvor in der Zusammenfassung beschriebenen betroffenen Szenarien bereitstellen:
Stellen Sie vor dem Bereitstellen der Erweiterung den Symlink
/usr/bin/pythonmithilfe der vom Anbieter der Linux-Distribution bereitgestellten Methode wieder her.- Beispiel für Python 2.7:
sudo apt update && sudo apt install python-is-python2
- Beispiel für Python 2.7:
Diese Empfehlung gilt für Azure-Kunden und wird in Azure Stack nicht unterstützt:
- Wenn Sie bereits eine Instanz bereitgestellt haben, in der dieses Problem auftritt, verwenden Sie die Funktion Befehl ausführen auf dem VM-Blatt, um die oben genannten Befehle auszuführen. Die Befehlserweiterung zum Ausführen von Befehlen ist vom Übergang zu Python 3.8 nicht betroffen.
Wenn Sie eine neue Instanz bereitstellen und während der Bereitstellung eine Erweiterung festlegen müssen, verwenden Sie cloud-init-Benutzerdaten, um die oben erwähnten Pakete zu installieren.
Beispiel für 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.jsonWenn die Richtlinienadministratoren Ihrer Organisation festlegen, dass Erweiterungen nicht auf VMs bereitgestellt werden sollen, können Sie die Erweiterungsunterstützung während der Bereitstellung deaktivieren:
REST-API
So deaktivieren und aktivieren Sie Erweiterungen, wenn Sie eine VM mit dieser Eigenschaft bereitstellen können
"osProfile": { "allowExtensionOperations": false },
Nächste Schritte
Weitere Informationen finden Sie unter Other base system changes since 18.04 LTS – Python 3 by default (Andere grundlegende Systemänderungen seit 18.04 LTS – Python 3 als Standard).