• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

关于java:在Mac上安装Istio并使用有丰富的监控KialiGrafanaJaeger

java 搞代码 3年前 (2022-01-27) 28次浏览 已收录 0个评论
文章目录[隐藏]

我最新最全的文章都在 南瓜慢说 http://www.pkslow.com ,文章更新也只在官网,欢送大家来喝茶~~

1 简介

之前在文章《服务网格Istio入门-具体记录Kubernetes装置Istio并应用》曾经具体地介绍了如何在Linux零碎上在Kubernetes装置并应用Istio,但毕竟服务器是要钱的,几毛钱一小时,是我格局小了,但我还是想在Mac上装置应用。

2 装置Istio

我的电脑曾经装置了Kubernetes了,能够参考《Mac上应用Docker Desktop启动Kubernetes,踩坑后终于搞掂》,当初间接装置Istio。

下载对应的安装包:

<code class="bash">$ curl -L https://istio.io/downloadIstio | sh -

目录如下:

把bin目录下的istioctl增加到PATH。

<code class="bash">$ export ISTIO_HOME=/Users/larry/Software/istio/istio-1.10.3
$ export PATH=$PATH:$ISTIO_HOME/bin

检测是否能够执行装置:

<code class="bash">$ istioctl x precheck
✔ No issues found when checking the cluster. Istio is safe to install or upgrade!

没有问题,就能够开始装置了:

<code class="bash">$ istioctl install

因为要下载镜像,所以须要花一点工夫,胜利装置如下:

能够做一些简略的查看:

<code class="bash"># 查看istio-system命令空间下的Pod
$ kubectl get pod -n istio-system
# 查看资源
$ kubectl api-resources | grep istio

后果如下:

3 应用istio

3.1 注入代理

Istio默认不会给其它Pod注入代理,须要给Namespace增加对应的标签才能够:

<code class="bash">$ kubectl label namespace default istio-injection=enabled

但对于现有的Pod,也还是不会注入的,没关系,咱们来应用官网提供的示例,新创建一些资源:

<code class="bash">$ kubectl apply -f istio-1.10.3/samples/bookinfo/platform/kube/bookinfo.yaml

因为是第一次启动,要下载镜像,所以要花比拟长的工夫,如上面命令察看:

<code class="bash">$ watch 'kubectl get pod -l app -l version'

几分钟后,终于搞定:

能够看到每个Pod都有两个Container,一个是利用的,一个是代理的。

3.2 装置监控插件

为了更好地可视化地监控利用,咱们来装置一些插件:

<code class="bash">$ kubectl apply -f istio-1.10.3/samples/addons

同样的期待:

<code class="bash">$ watch 'kubectl get pod -n istio-system'

大略5分钟左右,胜利启动了:

能够看到许多很常见的监控软件:Grafana、Prometheus等。

3.3 在内部拜访资源

Istio给咱们提供了Gateway的性能,咱们给利用创立一个Gateway对外裸露服务:

<code class="bash">$ kubectl apply -f istio-1.10.3/samples/bookinfo/networking/bookinfo-gateway.yamlgateway.networking.istio.io/bookinfo-gateway createdvirtualservice.networking.istio.io/bookinfo created$ kubectl get gatewayNAME               AGEbookinfo-gateway   17s$ kubectl get virtualservices.networking.istio.ioNAME       GATEWAYS               HOSTS   AGEbookinfo   ["bookinfo-gateway"]   ["*"]   29s

因为我很早之前就装置了Ingress Controller(Kubernetes用Helm装置Ingress并踩一下应用的坑),为了避免抵触,把原来的给删掉:

<code class="bash"># 装置命令,不执行# helm install azure-ingress azure/nginx-ingress# 删除Ingress Controllerhelm delete azure-ingress

而后就能够失常拜访利用了:http://localhost/productpage

咱们能够多点击几次,多刷新几次,能够多产生一些流量,以便后续查看监控。

3.4 查看监控

同样,咱们也须要在内部拜访监控的内容,拜访kiali如下,会间接帮咱们关上浏览器:

<code class="bash">$ istioctl dashboard kialihttp://localhost:20001/kiali

能够查看残缺清晰的流量走向图,晓得有什么组件,它们之间的调用关系是怎么的:

查看特定的组件productpage,会以它为核心显示与它间接关联的利用和关系:

当然,也能够查看Grafana:

<code class="bash">$ istioctl dashboard grafana

界面如下:

查看Jaeger:

<code class="bash">$ istioctl dashboard jaeger

界面如下:

查看Prometheus:

<code class="bash">$ istioctl dashboard prometheus

界面如下:

总结

Istio给咱们提供了很多有用的个性,光监控方面就十分丰盛,更多细节咱们后续再探讨吧。


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:关于java:在Mac上安装Istio并使用有丰富的监控KialiGrafanaJaeger

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址