最新Rancher2.3.0已官方支持istio一鍵安裝
一、版本
Rancher2版本 v2.1.3
istio :1.0.2
k8s:1.11.5
二、安裝istio
1兰伤、應(yīng)用商店找到istio
2、修改部署參數(shù)
由于gcr.io被墻的關(guān)系钧排,默認(rèn)的istio包是下載不到的敦腔,不過沒關(guān)系,可以在istio dockerhub上已經(jīng)有構(gòu)建好的相關(guān)的包恨溜。
我這里選擇istio v1.0.2符衔,當(dāng)時(shí)已經(jīng)出到v1.0.5,但由于?grafana還只有v1.0.2的包糟袁,所以這里選擇了v1.0.2
選擇不使用默認(rèn)image判族,然后按照紅框修改。
3项戴、然后點(diǎn)擊啟動(dòng)形帮,等待自動(dòng)部署安裝。
按照完成后如下圖
安裝好之后有4個(gè)負(fù)載均衡肯尺,如下圖沃缘,其中g(shù)rafana需要自己配
gateway,還沒部署應(yīng)用则吟,暫時(shí)訪問不到
servicegraph槐臀,訪問報(bào)404。
kiali氓仲、tracing 直接可以打開
1水慨、kiali? ?地址:http://kiali.rancher.istio得糜。(注意:域名是自定義的,需要修改hosts晰洒,將域名指向集群任意機(jī)器)
如果沒有訪問過istio邊車的應(yīng)用朝抖,里面剛開始進(jìn)去是沒有數(shù)據(jù)的。后面部署了bookinfo示例應(yīng)用谍珊,有應(yīng)用流量訪問之后再回過頭來查看監(jiān)控治宣,就有數(shù)據(jù)了。
2砌滞、tracing? ? ?http://tracing.rancher.istio
此時(shí)沒有訪問過侮邀,應(yīng)該是沒有數(shù)據(jù)的
3、grafana? ??http://graph2.rancher.istio
grafana需要自己添加負(fù)載均衡才能打開贝润,按照如下方式添加ingress
然后訪問配置的域名即可绊茧,記得改hosts
三、安裝bookinfo示例
bookinfo是官方的一個(gè)istio的示例
地址:https://istio.io/docs/examples/bookinfo/
1打掘、bookinfo介紹
此示例部署了一個(gè)示例應(yīng)用程序华畏,該應(yīng)用程序由四個(gè)獨(dú)立的微服務(wù)組成,用于演示各種Istio功能尊蚁。應(yīng)用程序顯示有關(guān)書籍的信息亡笑,類似于在線書店的單個(gè)商品。頁(yè)面上顯示的是書籍的描述枝誊,書籍詳細(xì)信息(ISBN况芒,頁(yè)數(shù)等)以及一些書評(píng)。
Bookinfo應(yīng)用程序分為四個(gè)獨(dú)立的微服務(wù):
productpage叶撒。該productpage微服務(wù)調(diào)用details和reviews微服務(wù)來填充頁(yè)面绝骚。
details。該details微服務(wù)包含圖書信息祠够。
reviews压汪。該reviews微服務(wù)包含了書評(píng)。它也稱為ratings微服務(wù)古瓤。
ratings止剖。該ratings微服務(wù)包含伴隨書評(píng)書排名信息。
reviews微服務(wù)有3個(gè)版本:
版本v1不會(huì)調(diào)用該ratings服務(wù)落君。
版本v2調(diào)用該ratings服務(wù)穿香,并將每個(gè)評(píng)級(jí)顯示為1到5個(gè)黑色星。
版本v3調(diào)用該ratings服務(wù)绎速,并將每個(gè)評(píng)級(jí)顯示為1到5個(gè)紅星皮获。
應(yīng)用程序的端到端架構(gòu)如下所示。
2洒宝、開始安裝bookinfo(如果跟著我的流程走有問題购公,建議直接去跟著官方文檔上的安裝步驟走。)
現(xiàn)在雁歌,開始部署一個(gè)測(cè)試應(yīng)用并且測(cè)試Istio的強(qiáng)大功能宏浩。首先,部署B(yǎng)ookinfo示例應(yīng)用靠瞎。這個(gè)應(yīng)用有趣的部分在于它有三個(gè)版本的reviews程序同時(shí)運(yùn)行比庄。我們可-以在這三個(gè)版本的程序中體驗(yàn)到Istio的一些功能。接著乏盐,訪問rancher-demo的默認(rèn)項(xiàng)目中的工作負(fù)載來部署B(yǎng)ookinfo app印蔗,具體的操作是:
1>執(zhí)行kube命令,開啟自動(dòng)邊車注入丑勤。
kubectl label namespace default istio-injection=enabled
此命令將default命名空間標(biāo)記為自動(dòng)注入,如果你將bookinfo應(yīng)用部署到其他命名空間吧趣,要將此處default替換法竞。
2>然后安裝bookinfo應(yīng)用
點(diǎn)擊Import Yaml;下載bookinfo.yaml(https://info.rancher.com/hubfs/bookinfo.yaml)到本地强挫;
當(dāng)你進(jìn)入Import Yaml菜單之后岔霸,通過從文件讀取,將其上傳至Rancher俯渤;
對(duì)于?Import Mode呆细,選擇【集群:將任何資源直接導(dǎo)入此集群】Cluster: Direct import of any resources into this cluster;
點(diǎn)擊【導(dǎo)入/Import】八匠。
3>通過Istio暴露Bookinfo app
應(yīng)用此bookinfo-gateway.yaml(https://info.rancher.com/hubfs/bookinfo-gateway.yaml)絮爷,操作方式與bookinfo.yaml相同
或者按照官方步驟:
kubectl label namespace default istio-injection=enabled
kubectl apply -f https://raw.githubusercontent.com/istio/istio/release-1.0/samples/bookinfo/platform/kube/bookinfo.yaml
kubectl apply -f https://raw.githubusercontent.com/istio/istio/release-1.0/samples/bookinfo/networking/bookinfo-gateway.yaml
當(dāng)然一樣的可以將yaml下載下來,然后在rancher界面上導(dǎo)入
3>安裝好之后的效果
看應(yīng)用里面是否注入了enovy
4>istio-gateway
5>訪問網(wǎng)址? :http://gateway.rancher.istio/productpage
不斷刷新梨树,會(huì)出現(xiàn)不同的效果坑夯,istio在此示例中為我們展示了指向不同版本的流量負(fù)載均衡。
這個(gè)時(shí)候再回去查看之前配的grafana抡四、kiali柜蜈、tracing就開始有數(shù)據(jù)了。
還可以通過修改配置實(shí)現(xiàn)灰度發(fā)布指巡、限流淑履、智能路由等效果,建議前往官方向?qū)г逖^續(xù)嘗試istio的各種高級(jí)特性秘噪。
四:補(bǔ)充一下負(fù)載均衡的配置(某些監(jiān)控訪問不到,需要修改負(fù)載均衡配置)
如果安裝的時(shí)候沒有選擇配置負(fù)載均衡阔涉,后面可以手動(dòng)添加
五捷绒、image拉取不到的問題
安裝過程中可能會(huì)有拉取image失敗的問題,因?yàn)間cr.io被墻贯要,所以需要從其他地方拉取image暖侨,然后修改image的tag
例如: proxy_init
我們先去dockerhub上找image,https://hub.docker.com/r/istio/proxy_init/tags 崇渗,dockerhub是沒有被墻的
然后到報(bào)錯(cuò)的主機(jī)上執(zhí)行如下命令
docker pull?istio/proxy_init:1.0.2
docker tag?istio/proxy_init:1.0.2?gcr.io/istio-release/proxy_init:release-1.0
其中 gcr.io/istio-release/proxy_init:release-1.0? 是報(bào)錯(cuò)的image的tag
然后就可以安裝成功字逗,如果遇到其他image被墻的問題,都可以按照該方法解決
今天istio試玩就到這里宅广,感謝閱讀
參考文章:
https://www.cnblogs.com/ganxie01/p/9468394.html
https://istio.io/docs/examples/bookinfo/