ServiceMesh(istio)系统实践
Posted 帷幄庸者
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ServiceMesh(istio)系统实践相关的知识,希望对你有一定的参考价值。
环境说明:本人在Mac Os系统i7、16G下,使用Docker for Mac安装kubernetes随后开展后续的实操。
Docker版本:20.10.2
k8s版本:1.19.3
Istio版本:1.8.1
Istio安装
安装istioctl
基于brew一键安装
istioctl是命令操作istio的工具
brew install istioctl
安装Istio-operator
istio-operator是用来安装部署,自动运维istio的工具
istioctl operator init
安装Istio-system
kubectl create ns istio-system
kubectl apply -f - <<EOF
apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
metadata:
namespace: istio-system
name: example-istiocontrolplane
spec:
profile: demo
EOF
Istio可选组件控制
https://istio.io/latest/zh/docs/setup/additional-setup/config-profiles/
检查安装情况
kubectl get svc -n istio-system
kubectl get pods -n istio-system
Istio实践
自动注入
标记istio-injection=enabled后,namespace可以自动注入
kubectl label namespace default istio-injection=enabled
bookinfo架构
Bookinfo 应用分为四个单独的微服务:
- productpage. 这个微服务会调用 details 和 reviews 两个微服务,用来生成页面。
- details. 这个微服务中包含了书籍的信息。
- reviews. 这个微服务中包含了书籍相关的评论。它还会调用 ratings 微服务。
- ratings. 这个微服务中包含了由书籍评价组成的评级信息。
reviews 微服务有 3 个版本:
- v1 版本不会调用 ratings 服务。
- v2 版本会调用 ratings 服务,并使用 1 到 5 个黑色星形图标来显示评分信息。
- v3 版本会调用 ratings 服务,并使用 1 到 5 个红色星形图标来显示评分信息。
部署bookinfo-demo
部署bookinfo-demo,在istio项目的samples目录下
kubectl apply -f samples/bookinfo/platform/kube/bookinfo.yaml
测试bookinfo-demo部署成功
kubectl exec "$(kubectl get pod -l app=ratings -o jsonpath='.items[0].metadata.name')" -c ratings -- curl -sS productpage:9080/productpage | grep -o "<title>.*</title>"
创建bookinfo-gateway
kubectl apply -f samples/bookinfo/networking/bookinfo-gateway.yaml
Istio对接skywalking可观测性
todo
使用Nacos作为注册中心
todo
跟进产品
https://www.tetrate.io/
以上是关于ServiceMesh(istio)系统实践的主要内容,如果未能解决你的问题,请参考以下文章
Istio Mixer Cache工作原理与源码分析Part1-基本概念