一鍵體驗 Istio
- 2022 年 10 月 19 日
- 筆記
- istio, Kubernetes, 雲原生
背景介紹
Istio 是一種服務網格,是一種現代化的服務網路層,它提供了一種透明、獨立於語言的方法,以靈活且輕鬆地實現應用網路功能自動化。它是一種管理構成雲原生應用的不同微服務的常用解決方案。Istio 服務網格還支援這些微服務彼此之間的通訊和數據共享方式。Istio 的學習與使用具有一定的門檻,對初學者可能不太友好,官方示例也不一定能運行成功,本文將介紹一個開源工具讓你一鍵體驗 Istio。
伺服器準備
為了方便演示以及備案的煩惱,本文會在騰訊雲開通兩台 4 核 8 G 按量付費的香港競價實例,如果已有伺服器可跳過此步。
1. 開通香港競價實例
2. 選擇配置 – 4 核 8G
3. 選擇作業系統 – CentOS 7.9
4. 設置實例數量 – 2 台
5. 選擇網路 – Default,選擇頻寬 – 按使用流量 100Mbps
6. 選擇安全組 – 默認,放通所有埠
7. 設置密碼 – 這裡使用 @ErikXu1234
8. 開通
安裝 Kubernetes
準備好伺服器後,資訊如下:
角色 | 內網 IP | 公網 IP |
master | 172.19.0.11 | 43.155.112.62 |
node | 172.19.0.4 | 43.154.249.121 |
為了方便快速安裝 kubernetes,這裡使用 sealos 進行安裝。更多 sealos 的資訊,可查看://www.sealos.io/docs/getting-started/installation,也可以直接使用本文介紹的工具安裝,工具封裝了 sealos 。
1. 下載安裝工具
在 master 伺服器上,執行以下指令:
# 下載 wget https://github.com/ErikXu/power-ci/releases/download/0.1.1/power-ci.tar.gz # 解壓 tar -xzvf power-ci.tar.gz # 設置許可權 chmod +x power-ci
2. 安裝 kubernetes
執行以下指令安裝 kubernetes:
./power-ci k8s install --masters 172.19.0.11 --nodes 172.19.0.4 --password @ErikXu1234
等待 5-10 分鐘,完成 kubernetes 安裝:
安裝 Istio
在 master 伺服器上,執行以下指令,其中 erikxu.com 可以換成你的域名:
./power-ci istio install --domain erikxu.com
等待 5-10 分鐘,完成 Istio 安裝:
體驗 Istio
1. 修改本地 hosts
由於沒有 erikxu.com 的域名解析權,所以只能修改本地 hosts,把以下域名解析到 node 的公網 IP
43.154.249.121 bookinfo.erikxu.com 43.154.249.121 grafana.erikxu.com 43.154.249.121 jaeger.erikxu.com 43.154.249.121 kiali.erikxu.com 43.154.249.121 prometheus.erikxu.com
2. 訪問示例頁面 – //bookinfo.erikxu.com:30080/productpage
多次刷新頁面觸發不同版本(右邊多了星星):
3. 訪問 kiali 查看流量調用情況 – //kiali.erikxu.com:30080
4. 訪問 jaeger 查看調用鏈 – //jaeger.erikxu.com:30080
調用鏈列表:
調用鏈細節:
調用關係:
5. 訪問 grafana 查看監控資訊 – //grafana.erikxu.com:30080
6.訪問 prometheus 查看監控和 kiali 源數據 – //prometheus.erikxu.com:30080/
溫馨提示
如果使用騰訊雲競價實例,體驗完畢後請記得銷毀實例:
項目地址
目前計劃維護 golang 和 .Net 兩個版本,覺得好用請點個 star,回饋建議也歡迎提 issue,想一起做的開源項目的也可以留言聯繫或者提 pr。
-
golang 版本
-
.Net 版本
//github.com/ErikXu/PowerCI.Net
參考總結
以上就是本文希望分享的內容,如果大家有什麼問題,歡迎在公眾號 – 跬步之巔留言交流。