探索可观察性特性
本文将指导您如何使用 Istio 将 Sidecar 注入到 Bookinfo 应用程序中,并探索可观察性特性。
在开始之前,请确保:
目录
步骤1:管理命名空间
前往 平台管理,导航到 服务网格 > 服务网格,点击服务网格名称以进入详情页面。在 命名空间 部分,点击 管理命名空间。选择 demo-dev
并点击 确认。
步骤2:注入 Sidecar
-
使用 kubectl 部署
打开容器平台或平台管理页面,点击右下角的 kubectl
工具。
-
应用 YAML 文件
将以下脚本粘贴到终端并执行:
#!/bin/bash
apiVersion: asm.alauda.io/v1beta3
kind: MicroService
metadata:
labels:
app.cpaas.io/microservice-type: service-mesh
asm.cpaas.io/isolatepod: enabled
name: details
spec:
deployments:
- name: details-v1
services:
- name: details
sidecar:
enabled: true
resources:
limits:
cpu: 500m
memory: 512Mi
requests:
cpu: 100m
memory: 128Mi
---
apiVersion: asm.alauda.io/v1beta3
kind: MicroService
metadata:
labels:
app.cpaas.io/microservice-type: service-mesh
asm.cpaas.io/isolatepod: enabled
name: ratings
spec:
deployments:
- name: ratings-v1
services:
- name: ratings
sidecar:
enabled: true
resources:
limits:
cpu: 500m
memory: 512Mi
requests:
cpu: 100m
memory: 128Mi
---
apiVersion: asm.alauda.io/v1beta3
kind: MicroService
metadata:
labels:
app.cpaas.io/microservice-type: service-mesh
asm.cpaas.io/isolatepod: enabled
name: reviews
spec:
deployments:
- name: reviews-v1
services:
- name: reviews
sidecar:
enabled: true
resources:
limits:
cpu: 500m
memory: 512Mi
requests:
cpu: 100m
memory: 128Mi
---
apiVersion: asm.alauda.io/v1beta3
kind: MicroService
metadata:
labels:
app.cpaas.io/microservice-type: service-mesh
asm.cpaas.io/isolatepod: enabled
name: productpage
spec:
deployments:
- name: productpage-v1
services:
- name: productpage
sidecar:
enabled: true
resources:
limits:
cpu: 500m
memory: 512Mi
requests:
cpu: 100m
memory: 128Mi
EOF
kubectl apply -f sidecar.yaml -n demo-dev
rm sidecar.yaml
-
确认成功注入
导航到 服务网格,在 服务 中,您应该看到这四个 Bookinfo 服务的 Sidecar 注入状态为 已启用
。
步骤3:探索可观察性特性
-
生成流量
为了探索可观察性特性,Bookinfo 应用程序需要流量,以便 Istio 能够从服务中收集指标和追踪信息。使用以下脚本生成流量。
注意: 将 GATEWAY_IP_PORT
替换为您的入口网关的实际 IP。我们之前在 [访问 Bookinfo] 部分获得了 GATEWAY_IP_PORT
。
将以下脚本保存为 send-requests.sh
#!/bin/sh
export GATEWAY_IP_PORT=192.168.130.0:30665
while true; do
result=$(curl -m 5 -s -o /dev/null -I -w "%{http_code}" "http://$GATEWAY_IP_PORT/productpage")
echo date: $(date), status code: "$result"
sleep 1
done
使脚本可执行并运行它:
chmod +x send-requests.sh
./send-requests.sh
这将每秒向 Bookinfo 产品页面发送一次请求。运行一段时间后,您可以在 UI 中探索可观察性特性。
-
服务拓扑
-
追踪详情