無瑕的程式碼《軟體工匠篇》-審校序
一開始的前幾章,Uncle Bob 火力展示 TDD 的實戰應用,從無到有,手把手教你起手式,透過自然而然的推論,最終完成一個又一個的「演算法」。重點是他提供的影片。我觀看第一則展示 Stack 的影片時就被嚇到了。
坐,請坐,請上座。 茶,上茶,請上茶。
一開始的前幾章,Uncle Bob 火力展示 TDD 的實戰應用,從無到有,手把手教你起手式,透過自然而然的推論,最終完成一個又一個的「演算法」。重點是他提供的影片。我觀看第一則展示 Stack 的影片時就被嚇到了。
我們將地端 VM 進行作業系統(OS)升級,由 Windows Server 2016 升級至 Windows Server 2022,升級之後發現,Azure Arc 裡的 MDE.Windows Extensions 有點不太正常。
備註,MDE.Windows Extension 只支援 Windows Server 2019 之後的作業系統。例如,Windows Server 2016 那麼是不會被安裝此 Extension。
就在我們完成 ExpressRoute 加入 Windows / Linux VM 的問題後,我們開始大量部屬 Azure Monitor Agent(AMA),但二天後收到 DBA 的通知,說我們安裝 Azure Monitor Agent(AMA)之後,不斷有程式在嘗式新增 SQLArcExtensionServerRole
角色進資料庫。
前篇(07)(08)提到,不論在 Windows 或 Linux 之下,我們最終都會碰到 AZCM0026: Network Error
錯誤,從錯誤訊息及測試得知 agentserviceapi.guestconfiguration.azure.com
這個端點無法正常連線。
PS C:\> & "$env:ProgramW6432\AzureConnectedMachineAgent\azcmagent.exe" connect --service-principal-id "$ServicePrincipalId" --service-principal-secret "$ServicePrincipalClientSecret" --resource-group "$env:RESOURCE_GROUP" --tenant-id "$env:TENANT_ID" --location "$env:LOCATION" --subscription-id "$env:SUBSCRIPTION_ID" --cloud "$env:CLOUD" --correlation-id "$env:CORRELATION_ID";
INFO Connecting machine to Azure... This might take a few minutes.
INFO Testing connectivity to endpoints that are needed to connect to Azure... This might take a few minutes.
INFO Exit Code: AZCM0026: Network Error
INFO For troubleshooting, see https://aka.ms/arc/azcmerror
FATAL required endpoints unavailable: https://agentserviceapi.guestconfiguration.azure.com
接續 ExpressRoute with Microsoft Peering with Windows第一次 PoC 成功之後,這裡要繼續研究如何在 Azure ExpressRoute + Microsoft Peering 環境將 Linux VM 加入 Azure Arc 管理清單。一樣分析官方提供的 Shell 指令碼,發現麻煩的一件事,以我們 Linux 環境來說明。我們採用 Ubuntu 22.04,因此 Shell 指令碼協助設定 APT 的下載點,然後,透過 APT 來進行安裝 azcmagent
套件。