真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

怎么進(jìn)行Istio服務(wù)網(wǎng)格部署實(shí)踐

怎么進(jìn)行Istio服務(wù)網(wǎng)格部署實(shí)踐,針對(duì)這個(gè)問(wèn)題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問(wèn)題的小伙伴找到更簡(jiǎn)單易行的方法。

創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、邵東網(wǎng)絡(luò)推廣、成都小程序開發(fā)、邵東網(wǎng)絡(luò)營(yíng)銷、邵東企業(yè)策劃、邵東品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供邵東建站搭建服務(wù),24小時(shí)服務(wù)熱線:13518219792,官方網(wǎng)址:www.cdcxhl.com

作為處理服務(wù)通訊的基礎(chǔ)設(shè)施層,ServiceMesh 技術(shù)通過(guò)引入輕量級(jí)網(wǎng)絡(luò)代理,實(shí)現(xiàn)了服務(wù)訪問(wèn)、流量治理、可觀察性等關(guān)鍵功能,受到了社區(qū)的高度關(guān)注。Istio 是開源的 ServiceMesh 產(chǎn)品,提供了一個(gè)完整的滿足微服務(wù)應(yīng)用多種需求的解決方案。

項(xiàng)目基于最新發(fā)布的 Istio1.7.3 版本,從安裝和部署出發(fā),介紹 Istio 的安裝部署過(guò)程,并結(jié)合 Bookinfo 示例應(yīng)用,方便讀者認(rèn)識(shí) Istio 的各個(gè)組件及其功能。

準(zhǔn)備工作

Kubernetes 集群

在安裝之前,需要首先準(zhǔn)備一套可用的 Kubernetes 集群,這里我們使用 Istio 1.7.3 進(jìn)行安裝,官方推薦的 Kubernetes 版本包括 1.16, 1.17, 1.18。

本文使用的是百度智能云提供的容器引擎服務(wù) CCE,該服務(wù)提供了對(duì)容器的生命周期管理,能夠滿足 Istio 的安裝部署要求。選用的 Kubernetes 版本是 1.16.8,包括兩個(gè)節(jié)點(diǎn),配置為 CentOS 7.3 x86_64 (64bit),4核12G。

Istio 安裝文件

下載 Istio,下載內(nèi)容包括安裝文件、示例和 istioctl 命令行工具。

1、這里我們使用 MAC 系統(tǒng),可以通過(guò)以下命令下載最新版本的 Istio:

$ curl -L https://istio.io/downloadIstio | sh -

也可以直接訪問(wèn) Istio release(https://github.com/istio/istio/releases/tag/1.7.3) 頁(yè)面下載與當(dāng)前操作系統(tǒng)對(duì)應(yīng)的安裝文件。

注意:當(dāng)前的最新版本為 1.7.3,如果需要下載安裝歷史版本,在命令行中指定環(huán)境變量 ISTIO_VERSION 即可,如果下載特定系統(tǒng)架構(gòu)的安裝包,則需要設(shè)置環(huán)境變量 TARGET_ARCH。

2、切換到 Istio 包所在目錄。這里我們的目錄名為 istio-1.7.3,該安裝目錄包含如下內(nèi)容:

$ cd istio-1.7.3/
  • manifests/ 目錄:安裝 istio 相關(guān)的清單文件,包括 charts、profiles 等

  • samples/ 目錄:包含一組示例應(yīng)用,覆蓋多種應(yīng)用場(chǎng)景

  • bin/ 目錄:包含 istioctl 的客戶端文件。istioctl 命令行工具用于手動(dòng)注入 Envoy sidecar 代理

  • tools/ 目錄:istio 安裝和使用過(guò)程相關(guān)的腳本

將 istioctl 客戶端路徑增加到 path 環(huán)境變量中,在 MAC 系統(tǒng)下執(zhí)行以下命令:

$ export PATH=$PWD/bin:$PATH

Istio部署實(shí)踐


Istio 主要提供了以下三種安裝方式,用戶可以根據(jù)自己的實(shí)際需要進(jìn)行選擇。

1、使用 Istioctl 安裝:istioctl 是支持多種自定義選項(xiàng)的的命令行工具,用戶可以靈活配置,實(shí)現(xiàn) Istio 組件的定制化安裝。Istio 官方推薦使用該方式進(jìn)行安裝部署,可用于生產(chǎn)環(huán)境。

2、使用 Helm 自定義安裝:這種安裝方式使用 Helm charts 定義 Istio 的安裝選項(xiàng),目前該安裝方式已被棄用。

3、安裝獨(dú)立的 Operator:該方式使用獨(dú)立的 Istio operator 來(lái)安裝 istio,以聲明式的方式管理安裝配置,目前仍處于實(shí)驗(yàn)階段,不推薦在生產(chǎn)環(huán)境使用。

下面我們以 istioctl 安裝方式為主,介紹istio的安裝步驟和組件信息。

部署 Istio

1、使用 demo 配置文件進(jìn)行安裝

Istio 官方提供了針對(duì)不同場(chǎng)景的配置文件,這些內(nèi)置的配置文件提供了對(duì) Istio 控制平面和數(shù)據(jù)平面的定制內(nèi)容。用戶可以根據(jù)實(shí)際場(chǎng)景選擇特定的配置文件,然后結(jié)合自定義選項(xiàng)完成定制化安裝。當(dāng)前提供以下幾種內(nèi)置配置文件包括:

  • default: 根據(jù)默認(rèn)的安裝選項(xiàng)啟用組件,建議用于生產(chǎn)環(huán)境的部署。

  • demo: 用于展示 Istio 的基本功能,支持運(yùn)行 Bookinfo 應(yīng)用程序和相關(guān)任務(wù)。

  • minimal:使用 Istio 的流量管理功能所需的最少組件。

  • remote:用于配置多集群服務(wù)網(wǎng)格場(chǎng)景下的遠(yuǎn)程集群。

  • empty:不部署任何組件,可用于自定義配置的基礎(chǔ)文件。

  • preview:包含實(shí)驗(yàn)性功能,用于探索 Istio 新功能,但無(wú)法保證穩(wěn)定性。

在選定上述配置文件之后,可以在安裝 Istio 時(shí)在命令行添加一個(gè)或多個(gè) --set = 選項(xiàng),完成 Istio 安裝插件的其他選項(xiàng)配置。

這里為了測(cè)試方便,我們直接使用內(nèi)置的 demo 配置文件進(jìn)行安裝,執(zhí)行以下命令即可:

$ istioctl install --set profile=demoDetected that your cluster does not support third party JWT authentication. Falling back to less secure first party JWT. See https://istio.io/docs/ops/best-practices/security/#configure-third-party-service-account-tokens for details.? Istio core installed? Istiod installed? Egress gateways installed? Ingress gateways installed? Installation complete

該命令表示在 Kubernetes 集群上按照 default 配文件的描述安裝 Istio 組件。 

2、查看組件狀態(tài)

然后查看 Kubernetes 服務(wù)是否已經(jīng)成功創(chuàng)建:

$ kubectl  get svc -n istio-systemNAME                   TYPE           CLUSTER-IP       EXTERNAL-IP    PORT(S)                                                                      AGEistio-egressgateway    ClusterIP      172.18.2.116              80/TCP,443/TCP,15443/TCP                                                     5m35sistio-ingressgateway   LoadBalancer   172.18.177.126   154.85.54.75   15021:30059/TCP,80:31088/TCP,443:31806/TCP,31400:30831/TCP,15443:32665/TCP   5m35sistiod                 ClusterIP      172.18.167.120            15010/TCP,15012/TCP,443/TCP,15014/TCP,853/TCP                                6m1s

查看 Kubernetes pod 是否已經(jīng)正常部署,且處于 Running 狀態(tài):

$ kubectl  get pod -n istio-systemNAME                                    READY   STATUS    RESTARTS   AGEistio-egressgateway-7bf76dd59-vtsj9     1/1     Running   0          5m46sistio-ingressgateway-586dbbc45d-2l6sz   1/1     Running   0          5m46sistiod-6cc5758d8c-mgdcb                 1/1     Running   0          6m13s

3、開啟自動(dòng)注入

Istio 安裝完成后,在部署應(yīng)用之前,需要首先開啟 sidecar 的自動(dòng)注入,這里可以通過(guò)為命名空間添加標(biāo)簽實(shí)現(xiàn),執(zhí)行以下命令即可:

$ kubectl label namespace default istio-injection=enablednamespace/default labeled

部署 Bookinfo 示例應(yīng)用

在下載的 Istio 安裝文件中,包括多種示例應(yīng)用,這里我們以 Bookinfo 為例,介紹服務(wù)的部署使用過(guò)程。該應(yīng)用由四個(gè)單獨(dú)的微服務(wù)構(gòu)成:

  • productpage:該服務(wù)會(huì)調(diào)用 details 和 reviews 兩個(gè)微服務(wù),用來(lái)生成頁(yè)面。

  • details:該服務(wù)包含了書籍的信息。

  • reviews:該服務(wù)包含了書籍相關(guān)的評(píng)論,會(huì)調(diào)用 ratings 微服務(wù)。

  • ratings:該服務(wù)包含了由書籍評(píng)價(jià)組成的評(píng)級(jí)信息。

這些微服務(wù)使用不同的編程語(yǔ)言實(shí)現(xiàn),實(shí)現(xiàn)了一個(gè)簡(jiǎn)單的在線書店平臺(tái),用于展示書籍的描述、評(píng)級(jí)等基本信息。

1、使用 kubectl 部署示例應(yīng)用

進(jìn)入 istio 安裝目錄 istio-1.7.3,執(zhí)行下面的命令完成應(yīng)用部署。

$ kubectl apply -f samples/bookinfo/platform/kube/bookinfo.yamlservice/details createdserviceaccount/bookinfo-details createddeployment.apps/details-v1 createdservice/ratings createdserviceaccount/bookinfo-ratings createddeployment.apps/ratings-v1 createdservice/reviews createdserviceaccount/bookinfo-reviews createddeployment.apps/reviews-v1 createddeployment.apps/reviews-v2 createddeployment.apps/reviews-v3 createdservice/productpage createdserviceaccount/bookinfo-productpage createddeployment.apps/productpage-v1 created

2、查看服務(wù)和實(shí)例是否正常創(chuàng)建

$ kubectl  get svcNAME          TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)    AGEdetails       ClusterIP   172.18.44.247            9080/TCP   26skubernetes    ClusterIP   172.18.0.1               443/TCP    35mproductpage   ClusterIP   172.18.106.238           9080/TCP   26sratings       ClusterIP   172.18.2.59              9080/TCP   26sreviews       ClusterIP   172.18.10.251            9080/TCP   26s
$ kubectl  get podNAME                              READY   STATUS    RESTARTS   AGEdetails-v1-5974b67c8-cpw96        2/2     Running   0          3m31sproductpage-v1-64794f5db4-svfk2   2/2     Running   0          3m30sratings-v1-c6cdf8d98-skc4q        2/2     Running   0          3m30sreviews-v1-7f6558b974-cwsh9       2/2     Running   0          3m30sreviews-v2-6cb6ccd848-5fzgc       2/2     Running   0          3m31sreviews-v3-cc56b578-qqmn2         2/2     Running   0          3m31s

可以看到,服務(wù)和實(shí)例都已經(jīng)創(chuàng)建成功。

3、確定 Ingress 的 IP 和端口

在 Bookinfo 服務(wù)正常啟動(dòng)并運(yùn)行之后,需要設(shè)置 Istio 網(wǎng)關(guān),這樣可以在 Kubernetes 集群外部訪問(wèn)應(yīng)用。

$ kubectl apply -f samples/bookinfo/networking/bookinfo-gateway.yamlgateway.networking.istio.io/bookinfo-gateway createdvirtualservice.networking.istio.io/bookinfo created

這里我們使用的 Kubernetes 集群支持外部負(fù)載均衡器,可以看到已經(jīng)分配到 EXTERNAL-IP:

$ kubectl get svc istio-ingressgateway -n istio-systemNAME                   TYPE           CLUSTER-IP       EXTERNAL-IP    PORT(S)                                                                      AGEistio-ingressgateway   LoadBalancer   172.18.177.126   154.85.54.75   15021:30059/TCP,80:31088/TCP,443:31806/TCP,31400:30831/TCP,15443:32665/TCP   14m

設(shè)置 ingress IP 和端口:

$ export INGRESS_HOST=$(kubectl -n istio-system get service istio-ingressgateway -o jsonpath='{.status.loadBalancer.ingress[0].ip}')$ export INGRESS_PORT=$(kubectl -n istio-system get service istio-ingressgateway -o jsonpath='{.spec.ports[?(@.name=="http2")].port}')$ export GATEWAY_URL=$INGRESS_HOST:$INGRESS_PORT

4、應(yīng)用訪問(wèn)

在瀏覽器端打開地址 http://${GATEWAY_URL}/productpage,這里我們獲取到的地址是154.85.54.75:80,可以看到界面如下。

怎么進(jìn)行Istio服務(wù)網(wǎng)格部署實(shí)踐

關(guān)于怎么進(jìn)行Istio服務(wù)網(wǎng)格部署實(shí)踐問(wèn)題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒(méi)有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。


當(dāng)前文章:怎么進(jìn)行Istio服務(wù)網(wǎng)格部署實(shí)踐
當(dāng)前網(wǎng)址:http://weahome.cn/article/jjcphe.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部