创建 Kubernetes 资源:
[root@k8scloude1 release]# pwd/root/online-boutique/microservices-demo/release[root@k8scloude1 release]# lsistio-manifests.yamlkubernetes-manifests.yaml#在online-boutique命名空间创建k8s资源[root@k8scloude1 release]# kubectl apply -f /root/online-boutique/microservices-demo/release/kubernetes-manifests.yaml -n online-boutique检查所有 Pod 都在运行:
[root@k8scloude1 release]# kubectl get pod -o wideNAMEREADYSTATUSRESTARTSAGEIPNODENOMINATED NODEREADINESS GATESadservice-9c6d67f96-txrsb2/2Running085s10.244.112.151k8scloude2<none><none>cartservice-6d7544dc98-86p9c2/2Running086s10.244.251.228k8scloude3<none><none>checkoutservice-5ff49769d4-5p2cn2/2Running086s10.244.112.148k8scloude2<none><none>currencyservice-5f56dd7456-lxjnz2/2Running085s10.244.251.241k8scloude3<none><none>emailservice-677bbb77d8-8ndsp2/2Running086s10.244.112.156k8scloude2<none><none>frontend-7d65884948-hnmh62/2Running086s10.244.112.154k8scloude2<none><none>loadgenerator-77ffcbd84d-hhh2w2/2Running085s10.244.112.147k8scloude2<none><none>paymentservice-88f465d9d-nfxnc2/2Running086s10.244.112.149k8scloude2<none><none>productcatalogservice-8496676498-6zpfk2/2Running086s10.244.112.143k8scloude2<none><none>recommendationservice-555cdc5c84-j5w8f2/2Running086s10.244.251.227k8scloude3<none><none>redis-cart-6f65887b5d-42b8m2/2Running085s10.244.251.236k8scloude3<none><none>shippingservice-6ff94bd6-tm6d22/2Running085s10.244.251.242k8scloude3<none><none>创建 Istio 资源:
[root@k8scloude1 microservices-demo]# pwd/root/online-boutique/microservices-demo[root@k8scloude1 microservices-demo]# ls istio-manifests/allow-egress-googleapis.yamlfrontend-gateway.yamlfrontend.yaml[root@k8scloude1 microservices-demo]# kubectl apply -f ./istio-manifestsserviceentry.networking.istio.io/allow-egress-googleapis createdserviceentry.networking.istio.io/allow-egress-google-metadata createdgateway.networking.istio.io/frontend-gateway createdvirtualservice.networking.istio.io/frontend-ingress createdvirtualservice.networking.istio.io/frontend created部署了一切后,我们就可以得到入口网关的 IP 地址并打开前端服务:
[root@k8scloude1 microservices-demo]# INGRESS_HOST="$(kubectl -n istio-system get service istio-ingressgateway -o jsonpath='{.status.loadBalancer.ingress[0].ip}')"[root@k8scloude1 microservices-demo]# echo "$INGRESS_HOST"192.168.110.190[root@k8scloude1 microservices-demo]# kubectl get service -n istio-system istio-ingressgateway -o wideNAMETYPECLUSTER-IPEXTERNAL-IPPORT(S)AGESELECTORistio-ingressgatewayLoadBalancer10.107.131.65192.168.110.19015021:30093/TCP,80:32126/TCP,443:30293/TCP,31400:30628/TCP,15443:30966/TCP27dapp=istio-ingressgateway,istio=ingressgateway在浏览器中打开 INGRESS_HOST,你会看到前端服务,浏览器访问http://192.168.110.190/,如下图所示:

文章插图
我们需要做的最后一件事是删除
frontend-external 服务 。frontend-external 服务是一个 LoadBalancer 服务,它暴露了前端 。由于我们正在使用 Istio 的入口网关,我们不再需要这个 LoadBalancer 服务了 。删除frontend-external服务,运行:
[root@k8scloude1 ~]# kubectl get svc | grep frontend-externalfrontend-externalLoadBalancer10.102.0.207192.168.110.19180:30173/TCP4d15h[root@k8scloude1 ~]# kubectl delete svc frontend-externalservice "frontend-external" deleted[root@k8scloude1 ~]# kubectl get svc | grep frontend-externalOnline Boutique 应用清单还包括一个负载发生器,它正在生成对所有服务的请求——这是为了让我们能够模拟网站的流量 。六.部署可观察性工具6.1 部署可观察性工具接下来,我们将部署可观察性、分布式追踪、数据可视化工具,下面两种方法任选一种;
经验总结扩展阅读
- 九 前后端分离项目:实现"添加"功能(后端接口)
- 电视剧远大前程十三太保中的瞎子是谁?
- 2023年9月23日财神方位吉凶 九月二十三日财神方位
- 十一 Istio:向istio服务网格中引入虚拟机
- 四 SoringCloud -微信获取用户信息
- 2023年农历七月二十三可不可以结婚
- 2023年农历九月二十三是不是领证黄道吉日 今天领证顺利吗
- 九 Istio:istio安全之授权
- 快读《ASP.NET Core技术内幕与项目实战》WebApi3.1:WebApi最佳实践
- 下雨天迪士尼有哪些项目不能玩 下雨天迪士尼怎么玩
