您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家?guī)碛嘘PRancher 2.3 中如何啟用Istio,文章內容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
啟動集群之后,在集群創(chuàng)建過程中從marketplace選擇Rancher進行安裝。Civo將會啟動Rancher server并導入集群。
集群準備就緒后,你將能看到Rancher 2.3的dashboard,它能夠支持Istio和Kiali。讓我們來探索一下這個dashboard吧!
集群創(chuàng)建之后,你可以下載kubeconfig,并連接集群。然后查看Rancher server以及cattle-agents是否起來并且運行。
kubectl get nodes NAME STATUS ROLES AGE VERSION kube-node-79ed Ready worker 96m v1.15.4-k3s.1 kube-master-bca5 Ready master 96m v1.15.4-k3s.1 kubectlg get pods -n cattle-system NAME READY STATUS RESTARTS AGE cattle-5669c57dcf-tw65t 1/1 Running 0 3h37m cattle-node-agent-8lppr 1/1 Running 0 3h37m cattle-node-agent-g5f6f 1/1 Running 0 3h37m cattle-cluster-agent-587b6d44cf-ppnjd 1/1 Running 0 3h37m
為了訪問Rancher UI,創(chuàng)建一個ingress,rancher-ingress.yaml如下:
>> kubectl apply -f rancher-ingress.yaml ingress.extensions/cattle-ingress created kubectl get ingress -n cattle-system NAME HOSTS ADDRESS PORTS AGE cattle-ingress * 172.31.0.189 80 32s
現(xiàn)在如果你訪問任何節(jié)點ip,你都將看到Rancher server正在運行。
創(chuàng)建一個密碼,保存URL。隨后你應該能夠看到導入的集群。
文檔中是這樣描述Istio的:
使用云平臺的企業(yè)或組織可以從其中體會到很多益處。但是不可否認的是,采用云技術會對DevOps團隊造成壓力。開發(fā)人員必須使用微服務來構建可移植性,同時,運維人員管理超大型混合云和多云部署。而服務網格使得微服務更加易用,其中Istio可以幫助你連接、保護、控制和觀察服務。
在很大程度上,Istio有助于降低部署的復雜性,并減輕開發(fā)團隊的負擔。它是一個完全開源的服務網格,可以在現(xiàn)有的分布式應用程序上透明地注入一層。同時,它也是一個平臺,包括可將其集成到任何日志記錄平臺、遙測或策略系統(tǒng)中的各種API。Istio的多樣功能可以讓你能夠成功、高效地運行分布式微服務架構,并提供統(tǒng)一地方式來保護、連接和監(jiān)控微服務。
那么,現(xiàn)在我們開始通過Rancher UI中啟用Istio,并部署吧。
要啟用Istio,你需要訪問UI上方的菜單欄,其路徑是:工具> Istio。你可以更改許多配置選項。而現(xiàn)在,我想讓所有配置都保持默認狀態(tài)并將ingress網關設置為True。啟用這一功能還將啟用監(jiān)控功能,這是Istio正常運行的先決條件。
啟用之后,你將可以看到監(jiān)控和Istio pod在命名空間cattle-prometheus
(用于監(jiān)控)和istio-system
(用于istio)下出現(xiàn)。
>> kubectl get pods -n istio-system NAME READY STATUS RESTARTS AGE istio-citadel-6bb9c9f6fb-md9f8 1/1 Running 0 6m16s istio-tracing-64d646945-xm4sm 2/2 Running 0 6m15s istio-policy-68959c7999-5kmdb 2/2 Running 1 6m16s istio-galley-67848cd58-g5tbt 1/1 Running 0 6m16s kiali-5f8f876bd5-6djxf 2/2 Running 0 6m16s istio-telemetry-778bfdcf74-ps9vl 2/2 Running 1 6m16s istio-pilot-7546b9fdcc-rbxj8 2/2 Running 0 6m16s istio-ingressgateway-6f877dd689-rskn4 1/1 Running 0 6m16s istio-sidecar-injector-69c97ddbb5-x7jcv 1/1 Running 0 6m16s >> kubectl get pods -n cattle-prometheus NAME READY STATUS RESTARTS AGE prometheus-operator-monitoring-operator-79484b9c6f-zshlq 1/1 Running 0 7m42s exporter-node-cluster-monitoring-wnxtc 1/1 Running 0 7m39s exporter-node-cluster-monitoring-k68fb 1/1 Running 0 7m39s grafana-cluster-monitoring-5d676d89c5-vkbzm 2/2 Running 0 7m39s prometheus-cluster-monitoring-0 5/5 Running 1 7m15s exporter-kube-state-cluster-monitoring-5dfd658dc-pn8mt 1/1 Running 0 7m39s
現(xiàn)在,我們來進行Istio部署示例,生成流量并在Kiali dashboard中查看它。
我們將為示例應用程序創(chuàng)建deployment、Gateway以及虛擬服務,如下所示:
kubectl label namespace default istio-injection=enabled namespace/default labeled kubectl apply -f service/details created serviceaccount/bookinfo-details created deployment.apps/details-v1 created service/ratings created serviceaccount/bookinfo-ratings created deployment.apps/ratings-v1 created service/reviews created serviceaccount/bookinfo-reviews created deployment.apps/reviews-v1 created deployment.apps/reviews-v2 created deployment.apps/reviews-v3 created service/productpage created serviceaccount/bookinfo-productpage created deployment.apps/productpage-v1 created kubectl apply -f gateway.networking.istio.io/bookinfo-gateway created kubectl apply -f virtualservice.networking.istio.io/bookinfo created
生成流量:
現(xiàn)在,應用程序已經部署,你可以通過Istio gateway查看它。
>> kubectl get pods NAME READY STATUS RESTARTS AGE details-v1-74f858558f-m5tsx 2/2 Running 0 10m ratings-v1-7855f5bcb9-lkhgg 2/2 Running 0 10m productpage-v1-8554d58bff-llnqh 2/2 Running 0 10m| reviews-v2-d6cfdb7d6-rl4zk 2/2 Running 0 10m reviews-v3-75699b5cfb-crdrd 2/2 Running 0 10m reviews-v1-59fd8b965b-rmct2 2/2 Running 0 10m >> kubectl get svc NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes ClusterIP 192.168.128.1 <none> 443/TCP 140m details ClusterIP 192.168.154.118 <none> 9080/TCP 10m ratings ClusterIP 192.168.207.69 <none> 9080/TCP 10m reviews ClusterIP 192.168.141.42 <none> 9080/TCP 10m productpage ClusterIP 192.168.128.87 <none> 9080/TCP 10m
點擊Test用戶和普通用戶,來生成一些流量。
從UI上方的菜單欄中【資源】項,選擇Istio。你可以看到以下圖表:
點擊屏幕上的Kiali圖標。
Kiali
Kiali是Istio的可視化控制臺,它具有服務網格配置功能。它通過推斷拓撲來幫助理解你的服務網格架構并提供你的網格的健康狀態(tài)。此外,Kiali還提供了詳細的指標,并且其集成了基本的Grafana,因此可用于高級查詢。還集成了Jaeger,可提供分布式追蹤。
您可以查看已部署應用程序的完整拓撲以及流程。
下面是已經部署的應用程序的圖表:
以下是其他圖表:
服務圖表
版本化應用程序圖
工作負載圖
Jaeger
受Dapper和OpenZipkin的啟發(fā),Jaeger被設計為一個開源分布式跟蹤系統(tǒng),由Uber Technologies發(fā)布。它用于監(jiān)控、診斷基于微服務的分布式系統(tǒng),包括:
分布式上下文傳播(Distributed Context Propagation)
分布式事務監(jiān)控
根源分析(Root cause analysis)
服務依賴分析
性能/延遲優(yōu)化
Jaeger UI
上述就是小編為大家分享的Rancher 2.3 中如何啟用Istio了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業(yè)資訊頻道。
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。