一鍵體驗 Istio
背景介紹
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 的信息,可查看:https://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. 訪問示例頁面 - http://bookinfo.erikxu.com:30080/productpage

多次刷新頁面觸發不同版本(右邊多了星星):

3. 訪問 kiali 查看流量調用情況 - http://kiali.erikxu.com:30080

4. 訪問 jaeger 查看調用鏈 - http://jaeger.erikxu.com:30080
調用鏈列表:

調用鏈細節:

調用關系:

5. 訪問 grafana 查看監控信息 - http://grafana.erikxu.com:30080


6.訪問 prometheus 查看監控和 kiali 源數據 - http://prometheus.erikxu.com:30080/

溫馨提示
如果使用騰訊云競價實例,體驗完畢后請記得銷毀實例:

項目地址
目前計劃維護 golang 和 .Net 兩個版本,覺得好用請點個 star,反饋建議也歡迎提 issue,想一起做的開源項目的也可以留言聯系或者提 pr。
-
golang 版本
https://github.com/ErikXu/power-ci
-
.Net 版本
https://github.com/ErikXu/PowerCI.Net
參考總結
以上就是本文希望分享的內容,如果大家有什么問題,歡迎在公眾號 - 跬步之巔留言交流。

浙公網安備 33010602011771號