共用方式為


強化 Linux 映像以移除 Azure 客體代理程式

適用於:✔️ Linux 映像

Azure 支援兩個佈建代理程式 cloud-initAzure Linux 代理程式 (WALA),其構成建立一般化映像的必要條件 (Azure Compute Gallery 或受控映像)。 Azure Linux 代理程式在一個套件中包含「佈建代理程式程式碼」和「延伸模組處理程式碼」。

請務必先了解 VM 遺失的功能,再決定移除 Azure Linux 代理程式。 移除客體代理程式也會移除 Azure Linux 代理程式所列舉的功能。

此「操作說明」會示範從 Linux 映像中移除客體代理程式的步驟。

必要條件

移除 Azure Linux 代理程式並準備一般化的 Linux 映像

建立映像來移除 Azure Linux 代理程式的步驟如下:

  1. 下載 Ubuntu 映像。

    如何從 Azure 下載 Linux VHD

  2. 掛接映像。

    依照步驟 2:從 Linux 映像移除 sudo 使用者中的指示掛接映像。

  3. 移除 Azure Linux 代理程式

    以根使用者身分執行,移除 Azure Linux 代理程式

    針對 Ubuntu 18.04+

    sudo chroot /mnt/dev/$imagedevice/ apt -y remove walinuxagent
    

注意

如果您確認不會再次重新安裝 Linux 代理程式,請移除 Azure Linux 代理程式成品,您可以執行下列步驟。

  1. (選擇性) 移除 Azure Linux 代理程式成品。

    如果您確認不會再重新安裝 Linux 代理程式,則可執行下列動作,否則請略過此步驟:

    針對 Ubuntu 18.04+

    sudo chroot /mnt/dev/$imagedevice/ rm -rf /var/lib/walinuxagent
    sudo chroot /mnt/dev/$imagedevice/ rm -rf /etc/ walinuxagent.conf
    sudo chroot /mnt/dev/$imagedevice/ rm -rf /var/log/ walinuxagent.log
    
  2. 建立系統服務來佈建 VM。

    由於我們正在移除 Azure Linux 代理程式,因此我們需要提供一個機制來報告一切就緒。 將位於此處的 bash 指令碼或 Python 指令碼內容複製到掛接的映像,並讓檔案可執行 (也就是授與檔案 - chmod 的執行權限)。

    sudo chmod +x /mnt/dev/$imagedevice/usr/local/azure-provisioning.sh
    

    若要確保使用報告就緒機制,請建立 systemd 服務單位,並將下列內容新增至 /etc/systemd/system (本範例會將單位檔案命名為 azure-provisioning.service)

    sudo chroot /mnt/dev/$imagedevice/ systemctl enable azure-provisioning.service
    

    現在映像已一般化,可用來建立 VM。

  3. 取消掛接映像。

    umount /mnt/dev/$imagedevice
    

    備妥的映像不再包含 Azure Linux 代理程式。

  4. 使用備妥的映像來部署機密 VM。

    請從建立 Azure 機密 VM 的自訂映像文件中的步驟 4 開始,以部署無代理程式機密 VM。

注意

如果您想要使用自訂映像部署 cvm 縮放比例,請注意,某些與自動調整相關的功能將會受到限制。 手動調整規則會如預期般運作,由於無代理程式自訂映像,自動調整功能將會受到限制。 如需有關佈建代理程式限制的詳細資訊,可以在這裡找到。 或者,您可以瀏覽至 Azure 入口網站上 [計量] 索引標籤,並確認是否相同。

後續步驟

建立 Azure 機密 VM 的自訂映像