云原生Istio案例实战 1

本文涉及的产品
可观测可视化 Grafana 版,10个用户账号 1个月
简介: 云原生Istio案例实战

1 Istio监控功能

1.1 prometheus和grafana

  • Prometheus存储服务的监控数据,数据来自于istio组件mixer上报
  • Grafana开源数据可视化工具,展示Prometheus收集到的监控数据

istio已经默认帮我们把grafana和prometheus已经默认部署好了

(1)执行命令查看istio自带的组件

kubectl get pods -n istio-ns

我们打开istio-demo.yaml文件找到找到prometheus和grafana

其实istio已经默认帮我们安装好了grafana和prometheus,只是对应的Service类型是clusterIP类型,表示集群内部可以访问,如果我们需要能够通过浏览器访问,我们只需要ingress访问规则即可,ingress之前已经介绍过了,这边就不在重复了


配置prometheus-ingress.yaml和grafana-ingress.yaml配置文件

prometheus-ingress.yaml

#ingress
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: prometheus-ingress
namespace: istio-system
spec:
rules:
- host: prometheus.istio.qy.com
http:
paths:
    - path: /
  backend:
    serviceName: prometheus
    servicePort: 9090
  • 执行命令
kubectl apply -f prometheus-ingress.yaml和grafana-ingress.yaml

grafana-ingress.yaml

#ingress
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: grafana-ingress
namespace: istio-system
spec:
rules:
- host: grafana.istio.qy.com
http:
paths:
    - path: /
  backend:
    serviceName: grafana
    servicePort: 3000
~                              
  • 执行命令
kubectl get ingress -n istio-system

配置prometheus访问域名

在hosts文件里面增加ip域名的映射关系

192.168.187.137    prometheus.istio.qy.com

配置grafana访问域名

在hosts文件里面增加ip域名的映射关系

192.168.187.137    grafana.istio.qy.com

1.2 访问prometheus

浏览器输入地址:prometheus.istio.qy.com

1.3 访问grafana

  • 设置prometheus地址

找到prometheus在k8s里面服务地址

命令

kubectl get svc -o wide -n istio-system

选择DataSources

选择settings ,把url改成prometheus即可

2 项目案例:bookinfo

2.1 理解什么是bookinfo

这是istio官方给我们提供的案例,Bookinfo 应用中的几个微服务是由不同的语言编写的。 这些服务对 Istio 并无依赖,但是构成了一个有代表性的服务网格的例子:它由多个服务、多个语言构成,并且 `reviews` 服务具有多个版本。

下图展示了这个应用的端到端架构。

这个案例部署了一个用于演示Istio 特性的应用,该应用由四个单独的微服务构成。 这个应用模仿在线书店的一个分类,显示一本书的信息。 页面上会显示一本书的描述,书籍的细节(ISBN、页数等),以及关于这本书的一些评论。


Bookinfo 应用分为四个单独的微服务:


productpage. 这个微服务会调用 details 和 reviews 两个微服务,用来生成页面。

details. 这个微服务中包含了书籍的信息。

reviews. 这个微服务中包含了书籍相关的评论。它还会调用 ratings 微服务。

ratings. 这个微服务中包含了由书籍评价组成的评级信息。

reviews 微服务有 3 个版本:


v1 版本不会调用 ratings 服务。

v2 版本会调用 ratings 服务,并使用 1 到 4个黑色星形图标来显示评分信息。

v3 版本会调用 ratings 服务,并使用 1 到 4个红色星形图标来显示评分信息。

大家一定要从spring cloud思维模式里面跳出来,站着服务网格的立场上思考问题,我们是不需要了解服务的业务代码是什么样的,业务的服务只需要交给istio管理即可


所以大家一定要有一颗拥抱变化的心

2.2 sidecar自动注入到微服务

所以第一步我们需要给每一个服务配置一个Sidecar,但是配置sidecar我们前面也说过,可以有两种方式实现,一种是手动注入,一种是自动注入,如果自动注入需要与命名空间相关,需要准备一个命名空间

  • 查看命名空间:
kubectl get ns

这个时候我们需要创建一个命名空间,需要打上一个lable表示只要是在这个lable的命名空间里面的都自动注入

  • 创建命名空间命令:
kubectl create namespace bookinfo-ns
  • 给命名空间加上label命令
kubectl label namespace bookinfo-ns istio-injection=enabled
  • 查看命名空间下有哪些label命
kubectl get ns bookinfo-ns --show-labels


相关实践学习
基于函数计算快速搭建Hexo博客系统
本场景介绍如何使用阿里云函数计算服务命令行工具快速搭建一个Hexo博客。
目录
相关文章
|
5月前
|
Kubernetes Cloud Native 应用服务中间件
云原生|kubernetes 你真的学废了吗---实战k8s 一(jsonpath实战)
云原生|kubernetes 你真的学废了吗---实战k8s 一(jsonpath实战)
67 0
|
2月前
|
Cloud Native Shell Linux
云原生专题 | 【深入浅出Docker原理及实战】「原理实战体系」零基础+全方位带你学习探索Docker容器开发实战指南(实战技术总结)
云原生专题 | 【深入浅出Docker原理及实战】「原理实战体系」零基础+全方位带你学习探索Docker容器开发实战指南(实战技术总结)
14 0
|
2月前
|
Java fastjson 数据安全/隐私保护
【Dubbo3技术专题】「云原生微服务开发实战」 一同探索和分析研究RPC服务的底层原理和实现
【Dubbo3技术专题】「云原生微服务开发实战」 一同探索和分析研究RPC服务的底层原理和实现
40 0
|
2月前
|
Cloud Native Linux 虚拟化
云原生专题 |【深入浅出Docker原理及实战】「原理实战体系」零基础+全方位带你学习探索Docker容器开发实战指南(底层实现系列)
云原生专题 |【深入浅出Docker原理及实战】「原理实战体系」零基础+全方位带你学习探索Docker容器开发实战指南(底层实现系列)
45 0
|
2月前
|
Dubbo Cloud Native 应用服务中间件
【Dubbo3 终极特性】「云原生三中心架构」带你探索 Dubbo3 体系下的配置中心和元数据中心、注册中心的原理及开发实战(中)
【Dubbo3 终极特性】「云原生三中心架构」带你探索 Dubbo3 体系下的配置中心和元数据中心、注册中心的原理及开发实战(中)
21 1
|
5月前
|
Kubernetes Cloud Native 应用服务中间件
云原生|kubernetes 你真的学废了吗---实战k8s 二(命令行创建各类资源)
云原生|kubernetes 你真的学废了吗---实战k8s 二(命令行创建各类资源)
80 1
|
5月前
|
存储 关系型数据库 MySQL
猿创征文|云原生|kubernetes实务---部署MySQL--实战(一)
猿创征文|云原生|kubernetes实务---部署MySQL--实战(一)
53 0
|
5月前
|
运维 Prometheus 监控
云原生可观测实战
云原生可观测实战
|
6月前
|
机器学习/深度学习 自然语言处理 Cloud Native
探索在云原生环境中构建的大数据驱动的智能应用程序的成功案例,并分析它们的关键要素。
大数据索引: Google使用大数据索引来构建其搜索引擎,并实时处理全球各种语言的文本数据。 云原生基础设施: Google Cloud提供了强大的云原生基础设施,支持大规模数据存储和处理。 自然语言处理: Google使用自然语言处理技术来理解和索引文本数据,从而提供高质量的搜索结果。 实时搜索: Google的
131 0
|
7月前
|
存储 Kubernetes Cloud Native
基于 Kyma 的企业级云原生应用的扩展案例分享 2
基于 Kyma 的企业级云原生应用的扩展案例分享
63 0

热门文章

最新文章