istio/examples-bookinfo-ratings-v-unavailable该镜像为 Istio 官方提供的示例应用镜像,用于支持 Istio 服务网格的功能演示和文档教程。其核心用途是帮助用户快速部署和验证 Istio 的核心特性,降低学习和测试门槛,配合 Istio 官方文档([***]
以 Istio 经典 Bookinfo 示例为例,通过 Kubernetes 资源清单部署:
bash# 部署 Bookinfo 应用(包含该示例镜像的多个服务) kubectl apply -f [***] # 验证部署状态(确保所有 Pod 均为 Running 状态) kubectl get pods -n default
部署完成后,通过 Istio Ingress Gateway 访问示例服务,验证流量路由等功能:
bash# 获取 Ingress Gateway 入口地址 export INGRESS_HOST=$(kubectl -n istio-system get service istio-ingressgateway -o jsonpath='{.status.load***.ingress[0].ip}') export INGRESS_PORT=$(kubectl -n istio-system get service istio-ingressgateway -o jsonpath='{.spec.ports[?(@.name=="http2")].port}') export GATEWAY_URL=$INGRESS_HOST:$INGRESS_PORT # 访问 productpage 服务 curl "[***]"
通过 docker run 启动单个示例服务(仅用于基础功能演示,不含 Istio 代理注入):
bash# 拉取并运行示例镜像(替换 <tag> 为具体版本,如 1.20.0) docker run --name istio-sample -d -p 8080:8080 istio/samples:<tag>
bash# 查看容器日志 docker logs istio-sample # 访问服务(若镜像包含 HTTP 服务) curl http://localhost:8080
示例镜像主要用于演示,配置项较少,支持通过环境变量调整基础服务参数:
| 参数名 | 描述 | 默认值 |
|---|---|---|
SERVICE_NAME | 示例服务名称 | sample-service |
PORT | 服务监听端口 | 8080 |
LOG_LEVEL | 日志输出级别 | info |
适用于本地快速启动多服务示例(模拟服务网格环境):
yamlversion: '3' services: sample-service-a: image: istio/samples:<tag> container_name: sample-a ports: - "8080:8080" environment: - SERVICE_NAME=service-a - PORT=8080 - LOG_LEVEL=debug sample-service-b: image: istio/samples:<tag> container_name: sample-b ports: - "8081:8080" environment: - SERVICE_NAME=service-b - PORT=8080 depends_on: - sample-service-a networks: default: driver: bridge
启动命令:
bashdocker-compose up -d
以下为单个示例服务的 Deployment 配置(需配合 Istio Sidecar 注入):
yamlapiVersion: apps/v1 kind: Deployment metadata: name: sample-service spec: replicas: 1 selector: matchLabels: app: sample-service template: metadata: labels: app: sample-service # 用于 Istio 服务发现 spec: containers: - name: sample-app image: istio/samples:<tag> ports: - containerPort: 8080 env: - name: SERVICE_NAME value: "sample-service" - name: PORT value: "8080"
应用配置:
bash# 启用命名空间的 Sidecar 自动注入 kubectl label namespace default istio-injection=enabled # 部署服务 kubectl apply -f sample-deployment.yaml
1.20.0)。manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务