Istio簡介
通過負(fù)載均衡、服務(wù)間的身份驗證、監(jiān)控等方法,Istio 可以輕松地創(chuàng)建一個已經(jīng)部署了服務(wù)的網(wǎng)絡(luò),而服務(wù)的代碼只需很少更改甚至無需更改。
通過在整個環(huán)境中部署一個特殊的 sidecar 代理為服務(wù)添加 Istio 的支持,而代理會攔截微服務(wù)之間的所有網(wǎng)絡(luò)通信,然后使用其控制平面的功能來配置和管理 Istio,包括:
- 為 HTTP、gRPC、WebSocket 和 TCP 流量自動負(fù)載均衡。
- 通過豐富的路由規(guī)則、重試、故障轉(zhuǎn)移和故障注入對流量行為進行細粒度控制。
- 可插拔的策略層和配置 API,支持訪問控制、速率限制和配額。
- 集群內(nèi)(包括集群的入口和出口)所有流量的自動化度量、日志記錄和追蹤。
- 在具有強大的基于身份驗證和授權(quán)的集群中實現(xiàn)安全的服務(wù)間通信。
在Istio官方文檔中,安裝Istio是以Linux或MacOS系統(tǒng)為例的,對于Windows用戶不是很友好,不過真難不倒我們。
安裝 Hyper-V
Hyper-V是微軟提出的一種系統(tǒng)管理程序虛擬化技術(shù),能夠?qū)崿F(xiàn)桌面虛擬化。Hyper-V 可用于 64 位 Windows 10 專業(yè)版、企業(yè)版和教育版。 它無法用于家庭版。
點擊“小窗戶”,然后再點擊“設(shè)置”,如下圖:
在搜索框中輸入“啟用或關(guān)閉Windows功能”,如下圖:
點擊“啟用或關(guān)閉Windows功能”后,勾選“Hyper-V”所有選項,如下圖:
點擊“確定”,等一會兒就安裝好了。(可能需要重啟電腦)
安裝 Docker Desktop
訪問https://desktop.docker.com/win/stable/amd64/Docker%20Desktop%20Installer.exe下載,雙擊Docker Desktop Installer.exe運行安裝程序。按照安裝向?qū)系恼f明授權(quán)安裝程序并繼續(xù)進行安裝。
安裝完成后,啟動Docker Desktop,等一會兒初始化完成后,將啟動入門教程:
這個教程包括一個簡單的練習(xí),以構(gòu)建示例Docker鏡像,將其作為容器運行,將映像推送并保存到Docker Hub。
開啟 Kubernetes
在Docker Desktop的設(shè)置中,為 Kubernetes 配置 CPU 和 內(nèi)存資源,建議分配4核或更多CPU,8GB或更多內(nèi)存,如下圖:
在Docker Desktop的設(shè)置中,勾選開啟 Kubernetes 和 顯示系統(tǒng)容器,如下:
重啟Docker Desktop后,等待Kubernetes啟動,啟動成功后,可以看到Kubernetes的標(biāo)簽變成綠色,并且在容器列表中可以看到Kubernetes相關(guān)的容器,如下圖:
安裝
到Istio的官方網(wǎng)站(https://github.com/istio/istio/releases)下載windows系統(tǒng)的安裝包,如下圖:
把壓縮包解壓到你覺得安逸的目錄里,然后把istio-1.14.0\bin
目錄添加到環(huán)境變量中。
打開命令提示符,執(zhí)行istioctl version
命令可以看到IIstio的版本信息,說明環(huán)境變量設(shè)置成功,如下圖:
執(zhí)行如下命令,安裝Istio:
istioctl install --set profile=demo -y
本次安裝采用 demo 配置組合。 選擇它是因為它包含了一組專為測試準(zhǔn)備的功能集合,另外還有用于生產(chǎn)或性能測試的配置組合。
稍等片刻,我們就可以看到:
C:\萬貓學(xué)社> istioctl install --set profile=demo -y
? Istio core installed
? Istiod installed
? Egress gateways installed
? Ingress gateways installed
? Installation complete
執(zhí)行如下命令,查看Istio是否安裝成功:
kubectl get pods -n istio-system
可以看到 Istio 相關(guān)的 Pod 都處于 Running 狀態(tài),如下圖:
給命名空間添加標(biāo)簽,指示 Istio 在部署應(yīng)用的時候,自動注入 Envoy 邊車代理:
kubectl label namespace default istio-injection=enabled
至此,Istio已經(jīng)在在Windows上安裝完成了。如果你還想進行一些學(xué)習(xí)或者測試Istio的功能,可以部署示例應(yīng)用。
部署示例應(yīng)用
進入istio-1.14.0
目錄中,執(zhí)行一下命令,部署 Bookinfo 示例應(yīng)用:
kubectl apply -f samples/bookinfo/platform/kube/bookinfo.yaml
如下圖:
稍等幾分鐘后,執(zhí)行kubectl get pods
命令我們就可以看到Bookinfo 示例應(yīng)用相關(guān)的 Pod 都處于 Running 狀態(tài),如下圖:
最后,我們通過檢查返回的頁面標(biāo)題,來驗證應(yīng)用是否已在集群中運行,并已提供網(wǎng)頁服務(wù):
# 獲取ratings的Pod名稱
kubectl get pod -l app=ratings -o jsonpath={.items[0].metadata.name}
# 替換掉ratings的Pod名稱
kubectl exec ratings的Pod名稱 -c ratings -- curl -s productpage:9080/productpage | findstr /r "<title>.*</title>"
具體操作如下圖:
返回的頁面標(biāo)題為:<title>Simple Bookstore App</title>
。文章來源:http://www.zghlxwxcb.cn/news/detail-464261.html
最后,感謝你這么帥,還給我點贊。文章來源地址http://www.zghlxwxcb.cn/news/detail-464261.html
到了這里,關(guān)于手摸手帶你 在Windows系統(tǒng)中安裝Istio的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!