一般來說,我們極少會在環境變數上使用小數點( . )當成環境變數名稱來使用,但是在特定應用程式的條件下,可能被迫需要做出這樣的設定。像透過環境變數設定 .NET 應用程式的 LogLevel 就很可能會用到小數點來進行設定,本篇文章我將說明不同作業系統下的設定方式與潛在問題。
... 繼續閱讀 ...
這十幾年來,在 Windows 使用 PowerShell 呼叫一些命令列工具,一直都存在一個惱人的問題,那就是傳入 *.exe 的參數會自動將雙引號(")過濾掉,導致程式無法正確執行。這個問題終於在 PowerShell v7.2.0 得到了解決,這篇文章我就來說說這個問題的來龍去脈。
... 繼續閱讀 ...
我今天遇到了一個棘手問題,原本想透過 PowerShell 寫入一個多行的文字,並放入 Azure Pipelines 執行。這樣的需求我寫過很多次了,不過當下的我突然想不起來確切的語法,所以上網 Google 找到了 PowerShell Multiline String 這篇文章,看到了一個解決方案,當下沒有多想,複製貼上就套用了,而且測試過確實有效,接著就是一連串的鬼打牆,浪費了寶貴的半小時生命。
... 繼續閱讀 ...
最近要幫客戶在 Azure 架設一台 Nginx 反向代理伺服器 (Ubuntu 20.04 LTS),我想透過 cloud-init 將整台 VM 從無到有全自動安裝設定完畢,經過幾個小時的努力,終於達成全自動化建置的目標,實在非常令人振奮。這篇文章我就來說說部署的過程與技術細節。
... 繼續閱讀 ...
週日玩了一下 cloud-init 工具,我發現文件看官方文件不是那麼好上手,但是官網首頁的影片卻一看就知道怎麼設定。簡單來說,cloud-init 專門用來幫你初始化 Linux 的出廠設定,不但支援大多數 Linux 散佈版本 (distributions),也支援大多數雲端平台業者,也可以讓你在地端的 Bare-Metal 主機進行初始化,可謂是業界標準的初始化 VM 方法。我發現 Multipass 也有支援 cloud-init 設定,所以這篇文章我來大致說明一下設定的過程與套用的方式。
... 繼續閱讀 ...
我之前有篇 使用 MicroK8s 架設 Kubernetes 叢集的完整過程解析 文章,講解了完整的 MicroK8s 體驗的過程。雖然你可以在 Windows 上輕鬆的架設出一套 Kubernetes 叢集,但是由於 MicroK8s 的底層使用到了 Multipass 工具來建立虛擬機器(VM),事實上透過 Multipass 建立的 VM 在每次重開機的時候都會變更 IP 地址,因此只要 VM 重開機,基本上叢集就會壞掉,因為所有 Worker Nodes 將無法找到 Control Plane 的 IP 地址。這篇文章我來說說這個問題的解決方法!
... 繼續閱讀 ...
雖然透過 Multipass 建立 Ubuntu VM 相當便利,但是若要設定一組固定 IP 地址卻相對困難,我最近因為想要在家裡架一台 VM 起來,讓我的在同一個區域網路上的筆電也可以順利連上我的 VM,這篇文章我將來說明我的設定方法。
... 繼續閱讀 ...
我經常需要在 Azure 手動建立許多測試站台,雖然說設定上並沒有很複雜,但是時間一久,累積出將近百來個 Web App 也是蠻難維護的,而且 組態漂移 (Configuration Drift) 的問題也會日趨嚴重,久而久之就不知道服務到底是怎樣設定出來的了。近幾年很夯的 GitOps 觀念興起,讓你可以使用 Git 管理基礎架構的所有設定,用應用程式開發的流程來管理維運的基礎架構,提升基礎架構的可維護性。本篇文章我就簡介一下 Azure 專用的 Bicep 語言,教你如何利用 Bicep 實現 Azure 雲端平台的 GitOps 架構。
... 繼續閱讀 ...
在本機進行 Windows 應用程式的測試,最簡易的方法就是啟動 Windows Sandbox 沙盒環境,不用十秒就可以開啟一台臨時的虛擬機,關閉後所有資料都不會保留,非常方便用來驗證許多安裝作業流程。不過 Windows 10 內建的這個 Windows Sandbox 實在是太乾淨了,每次啟動都要手動安裝許多工具才能開始使用,所以我打算用這篇文章記錄一下我會在啟動後執行的自動化命令。
... 繼續閱讀 ...