在微軟 Azure 雲上安裝自主部署版 OpenResty XRay
今天我們要演示如何在微軟的 Azure 雲上部署自主部署版的 OpenResty XRay。影片演示中用到的命令說明,詳見文件。
建立訂閱和資源組
第一步我們要建立訂閱和資源組,開啟 Azure 首頁,點選訂閱圖示。
這裡我們已經提前建立好了訂閱,名字叫 Azure subscription 1。
再返回 Azure 首頁。
準備建立資源組,點選資源組圖示。
這裡我們已經建立好了資源組,名字叫 AKS。資源組 AKS 隸屬於剛剛建立好的訂閱 Azure subscription 1。
建立 Azure Kubernetes 服務
第二步,我們來建立 Azure Kubernetes 服務。我們返回 Azure 首頁,點選 Kubernetes 服務圖示。
點選建立按鈕,選擇建立 Kubernetes cluster。
選擇剛剛建立好的資源組,名為 AKS。
這裡選擇群組的配置,這裡按照自己的需求選擇即可。
這裡根據需求來選擇節點的大小。
其他的配置根據自己的需求調節,然後點選 Review + Create 即可。
等待部署完成。
準備環境變數
第三步,準備後面要用到的環境變數。
開啟一個終端,登入 Linux 機器。
我們使用 .env.sample 檔案來做演示。
這些環境變數的使用說明詳見文件。
透過命令列登入 Azure
第四步,透過命令列登入 Azure。
注意,我們需要事先安裝好 Azure 的命令列工具 az。
具體安裝文件詳見 Azure 官方文件
這裡我們使用 az login 命令,開啟提示的 URL。
登入成功後,介面如下:
執行 az account 命令繫結訂閱。
接下來,執行 az aks 命令,獲取 Kubernetes 的訪問配置。
為 Kubernetes 建立 namespace 和 secret
第五步,為 Kubernetes 建立 namespace 和 secret。
先建立 Kubernetes namespace。
再建立 Kubernetes Secret。
建立 Azure Disk
第六步,建立 Azure Disk。
先獲取節點的資源組名稱。
再使用命令建立 Azure Disk。
使用相同的命令建立要使用的多塊硬碟,這些命令在我們的文件中都有說明。
更新持久化卷的配置檔案
第七步,更新持久化卷的配置檔案。
這一步使用我們提供的配置檔案即可。
獲取節點的資源組名稱。
用 sed 命令替換持久化卷的的配置。
更新 kubernetes 的配置檔案
第八步,更新 kubernetes 的配置檔案。
XRAY_CONSOLE_HOST 變數是部署好 OpenResty XRay 服務後,要使用的域名。
用 sed 命令替換 kubernetes 配置。
建立持久化卷
第九步,建立持久化卷。
使用 kubectl apply 命令即可。
持久化卷建立成功後,可以使用 kubectl get 命令檢視。
部署 Kubernetes 服務
第十步,部署 Kubernetes 服務。
這裡也是使用 kubectl apply 命令部署 Kubernetes 服務。
使用 kubectl get 命令檢視服務狀態為 Running 即為部署成功。
配置應用閘道器
最後一步,是配置應用閘道器。
開啟 Azure 管理介面首頁。開啟 Kubernetes 服務。
選擇 Networking 來配置網路。
勾選 Enable ingress controller。
儲存。
儲存後,會建立一個 ingress controller。
選中剛建立的 ingress controller,選擇 Backend pool 配置。
編輯已經存在的後端池。
後端的 IP 地址透過文件中所示的命令可以獲取到。
儲存。
接下來,選擇 Health Probes 進行配置 這一步是配置到後端的健康檢查。
按圖示填好儲存即可。
接下來,我們開始配置 Listeners 即配置閘道器的監聽埠以及服務。
可以看到預設已經配置了監聽 80 埠的 http 服務。
我們再新增一個監聽 443 埠的 https 服務。
這裡需要上傳 https 服務所需的證書。
按照文件中說明的命令可以轉換普通證書為 pfx 格式。
Password 處填寫 pfx 格式的證書密碼。
我們選擇 Rules 來配置轉發規則。
修改預設的規則。
將 Listener 改為我們剛剛建立的 443 埠的 https 服務。
再選擇 Backend target 子選項卡 確認 Backend target 和 Backend settings 選擇正確。
點選儲存。
選擇 Health Probe,檢視健康檢查是否透過。
這裡的 Status 顯示透過。
確認要訪問的域名已經解析到閘道器的公有 IP 地址。
好了,我們訪問域名來確認 OpenResty XRay 服務是否部署成功。
當我們看到如下的登入介面就是已經部署成功了。
關於作者
章亦春是開源 OpenResty® 專案創始人兼 OpenResty Inc. 公司 CEO 和創始人。
章亦春(Github ID: agentzh),生於中國江蘇,現定居美國灣區。他是中國早期開源技術和文化的倡導者和領軍人物,曾供職於多家國際知名的高科技企業,如 Cloudflare、雅虎、阿里巴巴, 是 “邊緣計算“、”動態追蹤 “和 “機器程式設計 “的先驅,擁有超過 22 年的程式設計及 16 年的開源經驗。作為擁有超過 4000 萬全球域名使用者的開源專案的領導者。他基於其 OpenResty® 開源專案打造的高科技企業 OpenResty Inc. 位於美國矽谷中心。其主打的兩個產品 OpenResty XRay(利用動態追蹤技術的非侵入式的故障剖析和排除工具)和 OpenResty Edge(最適合微服務和分散式流量的全能型閘道器軟體),廣受全球眾多上市及大型企業青睞。在 OpenResty 以外,章亦春為多個開源專案貢獻了累計超過百萬行程式碼,其中包括,Linux 核心、Nginx、LuaJIT、GDB、SystemTap、LLVM、Perl 等,並編寫過 60 多個開源軟體庫。
關注我們
如果您喜歡本文,歡迎關注我們 OpenResty Inc. 公司的部落格網站 。也歡迎掃碼關注我們的微信公眾號:
翻譯
我們提供了英文版原文和中譯版(本文) 。我們也歡迎讀者提供其他語言的翻譯版本,只要是全文翻譯不帶省略,我們都將會考慮採用,非常感謝!