mirror of https://github.com/istio/istio.io.git
74 lines
90 KiB
HTML
74 lines
90 KiB
HTML
<!doctype html><html lang=zh itemscope itemtype=https://schema.org/WebPage><head><meta charset=utf-8><meta http-equiv=x-ua-compatible content="IE=edge"><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=theme-color content="#466BB0"><meta name=title content="网络可视化"><meta name=description content="此任务向您展示如何在 Istio 网格中可视化服务。"><meta name=keywords content="microservices,services,mesh,telemetry,visualization"><meta property="og:title" content="网络可视化"><meta property="og:type" content="website"><meta property="og:description" content="此任务向您展示如何在 Istio 网格中可视化服务。"><meta property="og:url" content="/v1.5/zh/docs/tasks/observability/kiali/"><meta property="og:image" content="/v1.5/img/istio-whitelogo-bluebackground-framed.svg"><meta property="og:image:alt" content="Istio Logo"><meta property="og:image:width" content="112"><meta property="og:image:height" content="150"><meta property="og:site_name" content="Istio"><meta name=twitter:card content="summary"><meta name=twitter:site content="@IstioMesh"><title>Istioldie 1.5 / 网络可视化</title><script async src="https://www.googletagmanager.com/gtag/js?id=UA-98480406-2"></script><script>window.dataLayer=window.dataLayer||[];function gtag(){dataLayer.push(arguments);}
|
||
gtag('js',new Date());gtag('config','UA-98480406-2');</script><link rel=alternate type=application/rss+xml title="Istio Blog" href=/v1.5/blog/feed.xml><link rel=alternate type=application/rss+xml title="Istio News" href=/v1.5/news/feed.xml><link rel=alternate type=application/rss+xml title="Istio Blog and News" href=/v1.5/feed.xml><link rel="shortcut icon" href=/v1.5/favicons/favicon.ico><link rel=apple-touch-icon href=/v1.5/favicons/apple-touch-icon-180x180.png sizes=180x180><link rel=icon type=image/png href=/v1.5/favicons/favicon-16x16.png sizes=16x16><link rel=icon type=image/png href=/v1.5/favicons/favicon-32x32.png sizes=32x32><link rel=icon type=image/png href=/v1.5/favicons/android-36x36.png sizes=36x36><link rel=icon type=image/png href=/v1.5/favicons/android-48x48.png sizes=48x48><link rel=icon type=image/png href=/v1.5/favicons/android-72x72.png sizes=72x72><link rel=icon type=image/png href=/v1.5/favicons/android-96x96.png sizes=96xW96><link rel=icon type=image/png href=/v1.5/favicons/android-144x144.png sizes=144x144><link rel=icon type=image/png href=/v1.5/favicons/android-192x192.png sizes=192x192><link rel=manifest href=/v1.5/manifest.json><meta name=apple-mobile-web-app-title content="Istio"><meta name=application-name content="Istio"><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Work+Sans:400|Chivo:400|Work+Sans:500,300,600,300italic,400italic,500italic,600italic|Chivo:500,300,600,300italic,400italic,500italic,600italic"><link rel=stylesheet href=/v1.5/css/all.css><script src=/v1.5/js/themes_init.min.js></script></head><body class="language-unknown archive-site"><script>const branchName="release-1.5";const docTitle="网络可视化";const iconFile="\/v1.5/img/icons.svg";const buttonCopy='复制到剪切板';const buttonPrint='打印';const buttonDownload='下载';</script><script src="https://www.google.com/cse/brand?form=search-form" defer></script><script src=/v1.5/js/all.min.js data-manual defer></script><header><nav><a id=brand href=/v1.5/zh/><span class=logo><svg viewBox="0 0 300 300"><circle cx="150" cy="150" r="146" stroke-width="2"/><polygon points="65 240 225 240 125 270"/><polygon points="65 230 125 220 125 110"/><polygon points="135 220 225 230 135 30"/></svg></span><span class=name>Istioldie 1.5</span></a><div id=hamburger><svg class="icon"><use xlink:href="/v1.5/img/icons.svg#hamburger"/></svg></div><div id=header-links><a class=current title="了解如何部署、使用和运维 Istio。" href=/v1.5/zh/docs/>文档</a>
|
||
<a title="关于使用 Istio 的博客文章。" href=/v1.5/zh/blog/2020/>博客<i class=dot data-prefix=/blog></i></a>
|
||
<a title="关于 Istio 项目的最新报道。" href=/v1.5/zh/news/>新闻<i class=dot data-prefix=/news></i></a>
|
||
<a title="关于 Istio 的常见问题。" href=/v1.5/zh/faq/>FAQ</a>
|
||
<a title="关于 Istio 项目的说明。" href=/v1.5/zh/about/>关于</a><div class=menu><button id=gearDropdownButton class=menu-trigger title=选项和设置 aria-label="Options and Settings" aria-controls=gearDropdownContent><svg class="icon"><use xlink:href="/v1.5/img/icons.svg#gear"/></svg></button><div id=gearDropdownContent class=menu-content aria-labelledby=gearDropdownButton role=menu><a tabindex=-1 role=menuitem lang=en id=switch-lang-en>English</a>
|
||
<a tabindex=-1 role=menuitem lang=zh id=switch-lang-zh class=active>中文</a><div role=separator></div><a tabindex=-1 role=menuitem class=active id=light-theme-item>亮主题</a>
|
||
<a tabindex=-1 role=menuitem id=dark-theme-item>暗主题</a><div role=separator></div><a tabindex=-1 role=menuitem id=syntax-coloring-item>代码高亮</a><div role=separator></div><h6>本站的其它版本</h6><a tabindex=-1 role=menuitem onclick="navigateToUrlOrRoot('https://istio.io/docs\/tasks\/observability\/kiali\/');return false;">当前版本</a>
|
||
<a tabindex=-1 role=menuitem onclick="navigateToUrlOrRoot('https://preliminary.istio.io/docs\/tasks\/observability\/kiali\/');return false;">下个版本</a>
|
||
<a tabindex=-1 role=menuitem href=https://istio.io/archive>旧版本</a></div></div><button id=search-show title="搜索 istio.io" aria-label=搜索><svg class="icon"><use xlink:href="/v1.5/img/icons.svg#magnifier"/></svg></button></div><form id=search-form name=cse role=search><input type=hidden name=cx value=002184991200833970123:iwwf17ikgf4>
|
||
<input type=hidden name=ie value=utf-8>
|
||
<input type=hidden name=hl value=en>
|
||
<input type=hidden id=search-page-url value=/v1.5/search>
|
||
<input id=search-textbox class=form-control name=q type=search aria-label="搜索 istio.io">
|
||
<button id=search-close title=取消搜索 type=reset aria-label=取消搜索><svg class="icon"><use xlink:href="/v1.5/img/icons.svg#cancel-x"/></svg></button></form></nav></header><div class=banner-container></div><main class=primary><div id=sidebar-container class="sidebar-container sidebar-offcanvas"><nav id=sidebar aria-label="Section Navigation"><div class=directory><div class=card><button class="header dynamic" id=card34 title="一些概念,理解它们有助于您更好地了解 Istio 系统的不同部分及其使用的抽象。" aria-controls=card34-body><svg class="icon"><use xlink:href="/v1.5/img/icons.svg#concepts"/></svg>概念</button><div class=body aria-labelledby=card34 role=region id=card34-body><ul role=tree aria-expanded=true class=leaf-section aria-labelledby=card34><li role=none><a role=treeitem title="介绍 Istio,它要解决的问题,高层面的架构和设计目标。" href=/v1.5/zh/docs/concepts/what-is-istio/>Istio 是什么?</a></li><li role=none><a role=treeitem title="描述 Istio 多样的流量路由和控制特性。" href=/v1.5/zh/docs/concepts/traffic-management/>流量管理</a></li><li role=none><a role=treeitem title="讲述 Istio 的 WebAssembly 插件系统。" href=/v1.5/zh/docs/concepts/wasm/>扩展性</a></li><li role=none><a role=treeitem title="描述 Istio 的授权与认证功能。" href=/v1.5/zh/docs/concepts/security/>安全</a></li><li role=none><a role=treeitem title="描述 Istio 提供的遥测和监控特性。" href=/v1.5/zh/docs/concepts/observability/>可观察性</a></li></ul></div></div><div class=card><button class="header dynamic" id=card50 title="关于如何在 Kubernetes 集群中安装 Istio 控制平面和添加虚拟机到 mesh 中的说明。" aria-controls=card50-body><svg class="icon"><use xlink:href="/v1.5/img/icons.svg#setup"/></svg>安装</button><div class=body aria-labelledby=card50 role=region id=card50-body><ul role=tree aria-expanded=true aria-labelledby=card50><li role=none><a role=treeitem title="下载、安装并学习如何快速使用 Istio 的基本特性。" href=/v1.5/zh/docs/setup/getting-started/>开始</a></li><li role=treeitem aria-label=平台安装><button aria-hidden=true></button><a title="在安装 Istio 之前如何准备各种 Kubernetes 平台。" href=/v1.5/zh/docs/setup/platform-setup/>平台安装</a><ul role=group aria-expanded=false class=leaf-section><li role=none><a role=treeitem title="对阿里云 Kubernetes 集群进行配置以便安装运行 Istio。" href=/v1.5/zh/docs/setup/platform-setup/alicloud/>阿里云</a></li><li role=none><a role=treeitem title="为 Istio 设置一个 Azure 集群的指令。" href=/v1.5/zh/docs/setup/platform-setup/azure/>Azure</a></li><li role=none><a role=treeitem title="在 Docker Desktop 中运行 Istio 的设置说明。" href=/v1.5/zh/docs/setup/platform-setup/docker/>Docker Desktop</a></li><li role=none><a role=treeitem title="在 Google Kubernetes Engine (GKE) 上快速搭建 Istio 服务。" href=/v1.5/zh/docs/setup/platform-setup/gke/>使用 Google Kubernetes Engine 快速开始</a></li><li role=none><a role=treeitem title="在 IBM 公有云或私有云上快速搭建 Istio 服务。" href=/v1.5/zh/docs/setup/platform-setup/ibm/>IBM Cloud 快速开始</a></li><li role=none><a role=treeitem title="为 Istio 设置 kind 的说明。" href=/v1.5/zh/docs/setup/platform-setup/kind/>kind</a></li><li role=none><a role=treeitem title="使用 Gardener 快速搭建 Istio 服务。" href=/v1.5/zh/docs/setup/platform-setup/gardener/>Kubernetes Gardener 快速开始</a></li><li role=none><a role=treeitem title="配置 MicroK8s 以便使用 Istio。" href=/v1.5/zh/docs/setup/platform-setup/microk8s/>MicroK8s</a></li><li role=none><a role=treeitem title="在 Minikube 上配置 Istio。" href=/v1.5/zh/docs/setup/platform-setup/minikube/>Minikube</a></li><li role=none><a role=treeitem title="对 OpenShift 集群进行配置以便安装运行 Istio。" href=/v1.5/zh/docs/setup/platform-setup/openshift/>OpenShift</a></li><li role=none><a role=treeitem title="为 Istio 配置 OKE 集群环境的说明。" href=/v1.5/zh/docs/setup/platform-setup/oci/>Oracle Cloud Infrastructure</a></li></ul></li><li role=treeitem aria-label=安装><button aria-hidden=true></button><a title=选择最适合您的需求和平台的指南。 href=/v1.5/zh/docs/setup/install/>安装</a><ul role=group aria-expanded=false><li role=none><a role=treeitem title="安装和自定义任何 Istio 配置文件以进行深入评估或用于生产。" href=/v1.5/zh/docs/setup/install/istioctl/>使用 Istioctl 安装</a></li><li role=none><a role=treeitem title="安装和配置 Istio 以进行深入评估或用于生产。" href=/v1.5/zh/docs/setup/install/helm/>使用 Helm 自定义安装</a></li><li role=none><a role=treeitem title="使用 Istio operator 在 Kubernetes 集群中安装 Istio 指南。" href=/v1.5/zh/docs/setup/install/standalone-operator/>安装独立 Operator [实验]</a></li><li role=treeitem aria-label=多集群安装><button aria-hidden=true></button><a title="配置跨越多个 Kubernetes 集群的 Istio 服务网格。" href=/v1.5/zh/docs/setup/install/multicluster/>多集群安装</a><ul role=group aria-expanded=false class=leaf-section><li role=none><a role=treeitem title="配置一个跨多个 Kubernetes 集群的 Istio 网格。" href=/v1.5/zh/docs/setup/install/multicluster/simplified/>简化地多集群安装[实验性]</a></li><li role=none><a role=treeitem title="通过控制平面副本集实例,在多个 Kubernetes 集群上安装 Istio 网格。" href=/v1.5/zh/docs/setup/install/multicluster/gateways/>控制平面副本集</a></li><li role=none><a role=treeitem title="安装一个跨多个 Kubernetes 集群的 Istio 网格,多集群共享控制平面,并且集群间通过 VPN 互连。" href=/v1.5/zh/docs/setup/install/multicluster/shared-vpn/>共享控制平面(单一网络)</a></li><li role=none><a role=treeitem title="跨多个 Kubernetes 集群安装一个 Istio 网格,使互不联通的集群网络共享同一个控制平面。" href=/v1.5/zh/docs/setup/install/multicluster/shared-gateways/>共享的控制平面(多网络)</a></li></ul></li></ul></li><li role=treeitem aria-label=升级><button aria-hidden=true></button><a title="选择与您先前用于安装 Istio 的方法相对应的升级指南。" href=/v1.5/zh/docs/setup/upgrade/>升级</a><ul role=group aria-expanded=false class=leaf-section><li role=none><a role=treeitem title="使用 istioctl 命令来升级或降级 Istio。" href=/v1.5/zh/docs/setup/upgrade/istioctl-upgrade/>使用 istioctl 命令升级 Istio [实验中]</a></li><li role=none><a role=treeitem title="升级 Istio 控制平面,可以选择使用 Helm 升级 CNI 插件。" href=/v1.5/zh/docs/setup/upgrade/cni-helm-upgrade/>使用 Helm 升级</a></li></ul></li><li role=treeitem aria-label=更多指南><button aria-hidden=true></button><a title=有关其他设置任务的更多信息。 href=/v1.5/zh/docs/setup/additional-setup/>更多指南</a><ul role=group aria-expanded=false class=leaf-section><li role=none><a role=treeitem title="描述 Istio 内置的安装配置文件。" href=/v1.5/zh/docs/setup/additional-setup/config-profiles/>安装配置</a></li><li role=none><a role=treeitem title="在应用程序 Pod 中使用 sidecar injector webhook 自动安装或使用 istioctl CLI 手动安装 Istio sidecar。" href=/v1.5/zh/docs/setup/additional-setup/sidecar-injection/>设置 Sidecar</a></li><li role=none><a role=treeitem title="安装并使用 Istio CNI 插件,可以让运维人员用更低的权限来部署服务。" href=/v1.5/zh/docs/setup/additional-setup/cni/>安装 Istio CNI 插件</a></li></ul></li></ul></div></div><div class=card><button class="header dynamic" id=card66 title="如何用 Istio 系统实现特定目标的行为。" aria-controls=card66-body><svg class="icon"><use xlink:href="/v1.5/img/icons.svg#tasks"/></svg>任务</button><div class="body default" aria-labelledby=card66 role=region id=card66-body><ul role=tree aria-expanded=true aria-labelledby=card66><li role=treeitem aria-label=流量管理><button aria-hidden=true></button><a title="演示 Istio 的流量路由功能的任务。" href=/v1.5/zh/docs/tasks/traffic-management/>流量管理</a><ul role=group aria-expanded=false><li role=none><a role=treeitem title=此任务将展示如何将请求动态路由到微服务的多个版本。 href=/v1.5/zh/docs/tasks/traffic-management/request-routing/>配置请求路由</a></li><li role=none><a role=treeitem title=此任务说明如何注入故障并测试应用程序的弹性。 href=/v1.5/zh/docs/tasks/traffic-management/fault-injection/>故障注入</a></li><li role=none><a role=treeitem title=展示如何将流量从旧版本迁移到新版本的服务。 href=/v1.5/zh/docs/tasks/traffic-management/traffic-shifting/>流量转移</a></li><li role=none><a role=treeitem title="展示如何将一个服务的 TCP 流量从旧版本迁移到新版本。" href=/v1.5/zh/docs/tasks/traffic-management/tcp-traffic-shifting/>TCP 流量转移</a></li><li role=none><a role=treeitem title="本任务用于示范如何使用 Istio 在 Envoy 中设置请求超时。" href=/v1.5/zh/docs/tasks/traffic-management/request-timeouts/>设置请求超时</a></li><li role=none><a role=treeitem title=本任务展示如何为连接、请求以及异常检测配置熔断。 href=/v1.5/zh/docs/tasks/traffic-management/circuit-breaking/>熔断</a></li><li role=none><a role=treeitem title="此任务演示了 Istio 的流量镜像/影子功能。" href=/v1.5/zh/docs/tasks/traffic-management/mirroring/>镜像</a></li><li role=treeitem aria-label=Ingress><button aria-hidden=true></button><a title="控制 Istio 服务网格的入口流量。" href=/v1.5/zh/docs/tasks/traffic-management/ingress/>Ingress</a><ul role=group aria-expanded=false class=leaf-section><li role=none><a role=treeitem title="描述如何配置 Istio gateway,以将服务暴露至服务网格之外。" href=/v1.5/zh/docs/tasks/traffic-management/ingress/ingress-control/>Ingress Gateway</a></li><li role=none><a role=treeitem title="使用文件挂载的证书并通过 TLS 或 mTLS 将服务暴露至服务网格之外。" href=/v1.5/zh/docs/tasks/traffic-management/ingress/secure-ingress-mount/>安全网关(文件挂载)</a></li><li role=none><a role=treeitem title="使用 Secret 发现服务(SDS) 通过 TLS 或者 mTLS 把服务暴露给服务网格外部。" href=/v1.5/zh/docs/tasks/traffic-management/ingress/secure-ingress-sds/>使用 SDS 为 Gateway 提供 HTTPS 加密支持</a></li><li role=none><a role=treeitem title="说明了如何为一个 ingress gateway 配置 SNI 透传。" href=/v1.5/zh/docs/tasks/traffic-management/ingress/ingress-sni-passthrough/>无 TLS 终止的 Ingress Gateway</a></li><li role=none><a role=treeitem title="演示如何使用 Cert-Manager 为 Kubernetes Ingress 自动获取 Let's Encrypt TLS 证书。" href=/v1.5/zh/docs/tasks/traffic-management/ingress/ingress-certmgr/>使用 Cert-Manager 加密 Kubernetes Ingress</a></li></ul></li><li role=treeitem aria-label=Egress><button aria-hidden=true></button><a title="控制 Istio 服务网格的出口流量。" href=/v1.5/zh/docs/tasks/traffic-management/egress/>Egress</a><ul role=group aria-expanded=false class=leaf-section><li role=none><a role=treeitem title="描述如何配置 Istio 以将流量从网格中的服务路由到外部服务。" href=/v1.5/zh/docs/tasks/traffic-management/egress/egress-control/>访问外部服务</a></li><li role=none><a role=treeitem title="描述如何配置 Istio 对来自外部服务的流量执行 TLS 发起。" href=/v1.5/zh/docs/tasks/traffic-management/egress/egress-tls-origination/>Egress TLS Origination</a></li><li role=none><a role=treeitem title="描述如何配置 Istio 通过专用网关服务将流量定向到外部服务。" href=/v1.5/zh/docs/tasks/traffic-management/egress/egress-gateway/>Egress Gateway</a></li><li role=none><a role=treeitem title="描述如何配置一个 Egress 网关,来向外部服务发起 TLS 连接。" href=/v1.5/zh/docs/tasks/traffic-management/egress/egress-gateway-tls-origination/>Egress 网关的 TLS 发起过程</a></li><li role=none><a role=treeitem title="描述如何开启通用域中一组主机的 egress,无需单独配置每一台主机。" href=/v1.5/zh/docs/tasks/traffic-management/egress/wildcard-egress-hosts/>Wildcard 主机的 egress</a></li><li role=none><a role=treeitem title="描述如何在 TLS Egress 上配置 SNI 监控和策略。" href=/v1.5/zh/docs/tasks/traffic-management/egress/egress_sni_monitoring_and_policies/>TLS Egress 监控和策略配置</a></li><li role=none><a role=treeitem title="展示如何配置 Istio Kubernetes 外部服务。" href=/v1.5/zh/docs/tasks/traffic-management/egress/egress-kubernetes-services/>Kubernetes Egress 流量服务</a></li><li role=none><a role=treeitem title="描述如何配置 Istio 以允许应用程序使用外部 HTTPS 代理。" href=/v1.5/zh/docs/tasks/traffic-management/egress/http-proxy/>使用外部 HTTPS 代理</a></li></ul></li></ul></li><li role=treeitem aria-label=安全><button aria-hidden=true></button><a title=演示如何保护网格。 href=/v1.5/zh/docs/tasks/security/>安全</a><ul role=group aria-expanded=false><li role=treeitem aria-label=认证><button aria-hidden=true></button><a title="管控网格服务间的双向 TLS 和终端用户的身份认证。" href=/v1.5/zh/docs/tasks/security/authentication/>认证</a><ul role=group aria-expanded=false class=leaf-section><li role=none><a role=treeitem title="通过一个简化的工作流和最小化配置实现双向 TLS。" href=/v1.5/zh/docs/tasks/security/authentication/auto-mtls/>自动双向 TLS</a></li><li role=none><a role=treeitem title="为您展示如何使用 Istio 认证策略设置双向 TLS 和基础终端用户认证。" href=/v1.5/zh/docs/tasks/security/authentication/authn-policy/>认证策略</a></li><li role=none><a role=treeitem title="对 Istio 双向 TLS 认证功能进行体验和测试。" href=/v1.5/zh/docs/tasks/security/authentication/mutual-tls/>深入了解双向 TLS</a></li><li role=none><a role=treeitem title="展示如何在 HTTPS 服务上启用双向 TLS。" href=/v1.5/zh/docs/tasks/security/authentication/https-overlay/>通过 HTTPS 进行 TLS</a></li><li role=none><a role=treeitem title="阐述如何将 Istio 服务逐步迁移至双向 TLS 通信模式。" href=/v1.5/zh/docs/tasks/security/authentication/mtls-migration/>双向 TLS 迁移</a></li></ul></li><li role=treeitem aria-label="Citadel 配置"><button aria-hidden=true></button><a title="定制 Citadel 证书颁发机构。" href=/v1.5/zh/docs/tasks/security/citadel-config/>Citadel 配置</a><ul role=group aria-expanded=false class=leaf-section><li role=none><a role=treeitem title="运维人员如何使用现有根证书配置 Citadel 进行证书以及密钥的签发。" href=/v1.5/zh/docs/tasks/security/citadel-config/plugin-ca-cert/>插入外部 CA 密钥和证书</a></li><li role=none><a role=treeitem title="如何在 Kubernetes 中启用 Citadel 的健康检查。" href=/v1.5/zh/docs/tasks/security/citadel-config/health-check/>Citadel 的健康检查</a></li><li role=none><a role=treeitem title="Istio 中如何通过启用 SDS (密钥发现服务)来进行身份认证。" href=/v1.5/zh/docs/tasks/security/citadel-config/auth-sds/>通过 SDS 进行身份认证</a></li><li role=none><a role=treeitem title="配置 Citadel 应该为哪一个命名空间生成 service account secret。" href=/v1.5/zh/docs/tasks/security/citadel-config/ca-namespace-targeting/>配置 Citadel 的 Service Account Secret 生成</a></li></ul></li><li role=treeitem aria-label=授权><button aria-hidden=true></button><a title="展示如何控制到 Istio 服务的访问。" href=/v1.5/zh/docs/tasks/security/authorization/>授权</a><ul role=group aria-expanded=false class=leaf-section><li role=none><a role=treeitem title="有关如何在 Istio 中配置基于组的授权和列表类型声明的授权的教程。" href=/v1.5/zh/docs/tasks/security/authorization/rbac-groups/>基于组和列表声明的授权</a></li><li role=none><a role=treeitem title="展示如何设置基于角色的 HTTP 流量访问控制。" href=/v1.5/zh/docs/tasks/security/authorization/authz-http/>HTTP 流量授权</a></li><li role=none><a role=treeitem title="展示如何设置 TCP 流量的访问控制。" href=/v1.5/zh/docs/tasks/security/authorization/authz-tcp/>TCP 流量的授权</a></li><li role=none><a role=treeitem title=阐述如何在不更改授权策略的前提下从一个信任域迁移到另一个。 href=/v1.5/zh/docs/tasks/security/authorization/authz-td-migration/>授权策略信任域迁移</a></li></ul></li><li role=none><a role=treeitem title="展示如何准备和管理 Istio DNS 证书。" href=/v1.5/zh/docs/tasks/security/dns-cert/>Istio DNS 证书管理</a></li></ul></li><li role=treeitem aria-label=策略><button aria-hidden=true></button><a title=演示策略执行功能。 href=/v1.5/zh/docs/tasks/policy-enforcement/>策略</a><ul role=group aria-expanded=false class=leaf-section><li role=none><a role=treeitem title="这个任务将告诉你如何开启 Istio 的策略检查功能。" href=/v1.5/zh/docs/tasks/policy-enforcement/enabling-policy/>启用策略检查功能</a></li><li role=none><a role=treeitem title="这部分内容将向您展示如何使用 Istio 去动态限制服务间的流量。" href=/v1.5/zh/docs/tasks/policy-enforcement/rate-limiting/>启用速率限制</a></li><li role=none><a role=treeitem title=演示如何使用策略适配器修改请求头和路由。 href=/v1.5/zh/docs/tasks/policy-enforcement/control-headers/>请求头和路由控制</a></li><li role=none><a role=treeitem title="描述如何使用简单的 denials 或黑白名单来控制对服务的访问。" href=/v1.5/zh/docs/tasks/policy-enforcement/denial-and-list/>Denials 和黑白名单</a></li></ul></li><li role=treeitem aria-label=可观察性><button class=show aria-hidden=true></button><a title=演示如何从网格收集遥测信息。 href=/v1.5/zh/docs/tasks/observability/>可观察性</a><ul role=group aria-expanded=true><li role=treeitem aria-label=指标度量><button aria-hidden=true></button><a title="演示 Istio 网格指标度量的配置、收集和处理。" href=/v1.5/zh/docs/tasks/observability/metrics/>指标度量</a><ul role=group aria-expanded=false class=leaf-section><li role=none><a role=treeitem title="此任务向您展示如何配置 Istio 以采集和自定义指标。" href=/v1.5/zh/docs/tasks/observability/metrics/collecting-metrics/>采集指标</a></li><li role=none><a role=treeitem title="本任务展示了如何配置 Istio 进行 TCP 服务的指标收集。" href=/v1.5/zh/docs/tasks/observability/metrics/tcp-metrics/>收集 TCP 服务指标</a></li><li role=none><a role=treeitem title="本任务介绍如何通过 Prometheus 查询 Istio 度量指标。" href=/v1.5/zh/docs/tasks/observability/metrics/querying-metrics/>通过 Prometheus 查询度量指标</a></li><li role=none><a role=treeitem title="此任务展示了如何设置和使用 Istio Dashboard 监控网格流量。" href=/v1.5/zh/docs/tasks/observability/metrics/using-istio-dashboard/>使用 Grafana 可视化指标</a></li></ul></li><li role=treeitem aria-label=日志><button aria-hidden=true></button><a title="演示 Istio 网格日志的配置、收集和处理。" href=/v1.5/zh/docs/tasks/observability/logs/>日志</a><ul role=group aria-expanded=false class=leaf-section><li role=none><a role=treeitem title="此任务向您展示如何配置 Envoy 代理将访问日志打印到其标准输出。" href=/v1.5/zh/docs/tasks/observability/logs/access-log/>获取 Envoy 访问日志</a></li><li role=none><a role=treeitem title="本任务向您展示如何配置 Istio 来收集和定制日志。" href=/v1.5/zh/docs/tasks/observability/logs/collecting-logs/>收集日志</a></li><li role=none><a role=treeitem title="此任务向您展示如何配置 Istio 以连接到 Fluentd 守护程序进行日志收集。" href=/v1.5/zh/docs/tasks/observability/logs/fluentd/>使用 Fluentd 进行日志收集</a></li></ul></li><li role=treeitem aria-label=分布式追踪><button aria-hidden=true></button><a title="该任务展示了如何为启用了 Istio 支持的应用进行追踪。" href=/v1.5/zh/docs/tasks/observability/distributed-tracing/>分布式追踪</a><ul role=group aria-expanded=false class=leaf-section><li role=none><a role=treeitem title="Istio 分布式追踪的概述。" href=/v1.5/zh/docs/tasks/observability/distributed-tracing/overview/>概述</a></li><li role=none><a role=treeitem title="了解如何通过配置代理以将追踪请求发送到 Zipkin。" href=/v1.5/zh/docs/tasks/observability/distributed-tracing/zipkin/>Zipkin</a></li><li role=none><a role=treeitem title="了解如何配置代理以向 Jaeger 发送追踪请求。" href=/v1.5/zh/docs/tasks/observability/distributed-tracing/jaeger/>Jaeger</a></li><li role=none><a role=treeitem title="怎样配置代理才能把追踪请求发送到 LightStep。" href=/v1.5/zh/docs/tasks/observability/distributed-tracing/lightstep/>LightStep</a></li></ul></li><li role=none><span role=treeitem class=current title="此任务向您展示如何在 Istio 网格中可视化服务。">网络可视化</span></li><li role=none><a role=treeitem title="此任务向您展示如何配置从外部访问 Istio 遥测插件。" href=/v1.5/zh/docs/tasks/observability/gateways/>远程访问遥测插件</a></li></ul></li></ul></div></div><div class=card><button class="header dynamic" id=card118 title="这里包括多个可供 Istio 使用的可完整工作的示例,你可以用来亲自部署和体验这些示例。" aria-controls=card118-body><svg class="icon"><use xlink:href="/v1.5/img/icons.svg#examples"/></svg>示例</button><div class=body aria-labelledby=card118 role=region id=card118-body><ul role=tree aria-expanded=true aria-labelledby=card118><li role=none><a role=treeitem title="部署一个用于演示多种 Istio 特性的应用,由四个单独的微服务构成。" href=/v1.5/zh/docs/examples/bookinfo/>Bookinfo 应用</a></li><li role=treeitem aria-label=虚拟机><button aria-hidden=true></button><a title="将虚拟机中运行的工作负载添加到 Istio 网格的示例。" href=/v1.5/zh/docs/examples/virtual-machines/>虚拟机</a><ul role=group aria-expanded=false class=leaf-section><li role=none><a role=treeitem title="学习如何新增一个服务,使其运行在单网络 Istio 网格的虚拟机上。" href=/v1.5/zh/docs/examples/virtual-machines/single-network/>单个网络网格中的虚拟机</a></li><li role=none><a role=treeitem title="学习怎样添加运行在虚拟机上的服务到您的多网络 Istio 网格中。" href=/v1.5/zh/docs/examples/virtual-machines/multi-network/>多网络网格中的虚拟机</a></li><li role=none><a role=treeitem title="使用在网格内的虚拟机上运行的 MySQL 服务运行 Bookinfo 应用程序。" href=/v1.5/zh/docs/examples/virtual-machines/bookinfo/>在虚拟机上部署 Bookinfo 应用程序</a></li></ul></li><li role=treeitem aria-label="使用 Kubernetes 和 Istio 学习微服务"><button aria-hidden=true></button><a title="该模块化教程为新用户提供了一步步将 Istio 应用于常见微服务场景的动手经验。" href=/v1.5/zh/docs/examples/microservices-istio/>使用 Kubernetes 和 Istio 学习微服务</a><ul role=group aria-expanded=false class=leaf-section><li role=none><a role=treeitem href=/v1.5/zh/docs/examples/microservices-istio/prereq/>前提条件</a></li><li role=none><a role=treeitem href=/v1.5/zh/docs/examples/microservices-istio/setup-kubernetes-cluster/>设置 Kubernetes 集群</a></li><li role=none><a role=treeitem href=/v1.5/zh/docs/examples/microservices-istio/setup-local-computer/>设置本地计算机</a></li><li role=none><a role=treeitem href=/v1.5/zh/docs/examples/microservices-istio/single/>本地运行微服务</a></li><li role=none><a role=treeitem href=/v1.5/zh/docs/examples/microservices-istio/package-service/>在 Docker 中运行 ratings 服务</a></li><li role=none><a role=treeitem href=/v1.5/zh/docs/examples/microservices-istio/bookinfo-kubernetes/>使用 Kubernetes 运行 Bookinfo</a></li><li role=none><a role=treeitem href=/v1.5/zh/docs/examples/microservices-istio/production-testing/>生产测试</a></li></ul></li></ul></div></div><div class=card><button class="header dynamic" id=card125 title="关于部署和管理 Istio 网格的概念、工具和技术。" aria-controls=card125-body><svg class="icon"><use xlink:href="/v1.5/img/icons.svg#guide"/></svg>运维</button><div class=body aria-labelledby=card125 role=region id=card125-body><ul role=tree aria-expanded=true aria-labelledby=card125><li role=treeitem aria-label=部署><button aria-hidden=true></button><a title="设置 Istio 部署的要求、概念和注意事项。" href=/v1.5/zh/docs/ops/deployment/>部署</a><ul role=group aria-expanded=false class=leaf-section><li role=none><a role=treeitem title="描述 Istio 的整体架构与设计目标。" href=/v1.5/zh/docs/ops/deployment/architecture/>架构</a></li><li role=none><a role=treeitem title="描述 Istio 部署中的选择和建议。" href=/v1.5/zh/docs/ops/deployment/deployment-models/>部署模型</a></li><li role=none><a role=treeitem title="介绍 Istio 的性能和可扩展性。" href=/v1.5/zh/docs/ops/deployment/performance-and-scalability/>性能和可扩展性</a></li><li role=none><a role=treeitem title="在启用了 Istio 的集群中运行 Kubernetes 的 Pod 和 Service,您需要做些准备。" href=/v1.5/zh/docs/ops/deployment/requirements/>Pod 和 Service</a></li></ul></li><li role=treeitem aria-label=配置><button aria-hidden=true></button><a title="配置运行中的 Istio 网格的高级概念和功能。" href=/v1.5/zh/docs/ops/configuration/>配置</a><ul role=group aria-expanded=false><li role=treeitem aria-label=网格配置><button aria-hidden=true></button><a title=帮助您管理全局网格配置。 href=/v1.5/zh/docs/ops/configuration/mesh/>网格配置</a><ul role=group aria-expanded=false class=leaf-section><li role=none><a role=treeitem title="简要描述 Istio 对 Kubernetes webhook 的使用以及可能出现的相关问题。" href=/v1.5/zh/docs/ops/configuration/mesh/webhook/>动态准入 Webhook 概述</a></li><li role=none><a role=treeitem title="介绍 Istio 是如何通过 Kubernetes 的 webhooks 机制来实现 Sidecar 自动注入。" href=/v1.5/zh/docs/ops/configuration/mesh/injection-concepts/>Sidecar 自动注入</a></li><li role=none><a role=treeitem title="描述 Citadel 如何确定是否创建服务账号 secret。" href=/v1.5/zh/docs/ops/configuration/mesh/secret-creation/>创建服务账号 Secret</a></li><li role=none><a role=treeitem title="为您展示如何对 Istio 服务做健康检查。" href=/v1.5/zh/docs/ops/configuration/mesh/app-health-check/>Istio 服务的健康检查</a></li></ul></li><li role=treeitem aria-label=流量管理><button aria-hidden=true></button><a title=帮助您管理正在运行的网格的网络方面。 href=/v1.5/zh/docs/ops/configuration/traffic-management/>流量管理</a><ul role=group aria-expanded=false class=leaf-section><li role=none><a role=treeitem title=关于怎么声明协议的信息。 href=/v1.5/zh/docs/ops/configuration/traffic-management/protocol-selection/>协议选择</a></li><li role=none><a role=treeitem title=有关如何启用和理解地域负载平衡。 href=/v1.5/zh/docs/ops/configuration/traffic-management/locality-load-balancing/>地域负载均衡</a></li></ul></li><li role=treeitem aria-label=安全><button aria-hidden=true></button><a title=帮助您管理正在运行的网格的安全性方面。 href=/v1.5/zh/docs/ops/configuration/security/>安全</a><ul role=group aria-expanded=false class=leaf-section><li role=none><a role=treeitem title="使用加固的容器镜像来减小 Istio 的攻击面。" href=/v1.5/zh/docs/ops/configuration/security/harden-docker-images/>加固 Docker 容器镜像</a></li><li role=none><a role=treeitem title="学习如何延长 Istio 自签名根证书的寿命。" href=/v1.5/zh/docs/ops/configuration/security/root-transition/>延长自签名证书的寿命</a></li></ul></li><li role=treeitem aria-label=可观测性><button aria-hidden=true></button><a title=帮助您管理正在运行的网格中的遥测收集和可视化。 href=/v1.5/zh/docs/ops/configuration/telemetry/>可观测性</a><ul role=group aria-expanded=false class=leaf-section><li role=none><a role=treeitem title="精细化控制 Envoy 的统计信息。" href=/v1.5/zh/docs/ops/configuration/telemetry/envoy-stats/>Envoy 的统计信息</a></li><li role=none><a role=treeitem title=怎样使用代理生成服务级别的指标。 href=/v1.5/zh/docs/ops/configuration/telemetry/in-proxy-service-telemetry/>不使用 Mixer 生成 Istio 指标 [Alpha]</a></li></ul></li></ul></li><li role=treeitem aria-label=最佳实践><button aria-hidden=true></button><a title="设置和管理 Istio 服务网格的最佳实践。" href=/v1.5/zh/docs/ops/best-practices/>最佳实践</a><ul role=group aria-expanded=false class=leaf-section><li role=none><a role=treeitem title="设置 Istio 服务网格时的最佳实践。" href=/v1.5/zh/docs/ops/best-practices/deployment/>Deployment 最佳实践</a></li><li role=none><a role=treeitem title=避免网络或流量管理问题的配置最佳实践。 href=/v1.5/zh/docs/ops/best-practices/traffic-management/>流量管理最佳实践</a></li><li role=none><a role=treeitem title="使用 Istio 保护应用的最佳实践。" href=/v1.5/zh/docs/ops/best-practices/security/>安全最佳实践</a></li></ul></li><li role=treeitem aria-label=常见问题><button aria-hidden=true></button><a title="描述如何辨认和解决 Istio 中的常见问题。" href=/v1.5/zh/docs/ops/common-problems/>常见问题</a><ul role=group aria-expanded=false class=leaf-section><li role=none><a role=treeitem title="定位常见的 Istio 流量管理和网络问题的技术。" href=/v1.5/zh/docs/ops/common-problems/network-issues/>流量管理问题</a></li><li role=none><a role=treeitem title="定位常见 Istio 认证、授权、安全相关问题的技巧。" href=/v1.5/zh/docs/ops/common-problems/security-issues/>安全问题</a></li><li role=none><a role=treeitem title="处理 Telemetry 收集问题。" href=/v1.5/zh/docs/ops/common-problems/observability-issues/>可观测性问题</a></li><li role=none><a role=treeitem title="解决 Istio 使用 Kubernetes Webhooks 进行 sidecar 自动注入的常见问题。" href=/v1.5/zh/docs/ops/common-problems/injection/>Sidecar 自动注入问题</a></li><li role=none><a role=treeitem title=如何解决配置验证的问题。 href=/v1.5/zh/docs/ops/common-problems/validation/>配置验证的问题</a></li></ul></li><li role=treeitem aria-label=诊断工具><button aria-hidden=true></button><a title="帮助解决 Istio 网格问题的工具和技术。" href=/v1.5/zh/docs/ops/diagnostic-tools/>诊断工具</a><ul role=group aria-expanded=false class=leaf-section><li role=none><a role=treeitem title="Istio 自带的一个可以为服务网格部署提供调试和诊断的补充工具。" href=/v1.5/zh/docs/ops/diagnostic-tools/istioctl/>使用 Istioctl 命令行工具</a></li><li role=none><a role=treeitem title="描述诊断与流量管理相关的 Envoy 配置问题的工具和技术。" href=/v1.5/zh/docs/ops/diagnostic-tools/proxy-cmd/>调试 Envoy 和 Pilot</a></li><li role=none><a role=treeitem title="向您展示如何使用 istioctl describe 来验证您的网格中的 pod 的配置。" href=/v1.5/zh/docs/ops/diagnostic-tools/istioctl-describe/>通过 Istioctl Describe 理解您的网格</a></li><li role=none><a role=treeitem title="演示如何使用 istioctl analyze 来识别配置中的潜在问题。" href=/v1.5/zh/docs/ops/diagnostic-tools/istioctl-analyze/>使用 Istioctl Analyze 诊断配置</a></li><li role=none><a role=treeitem title="介绍如何使用 ControlZ 深入了解各个运行组件。" href=/v1.5/zh/docs/ops/diagnostic-tools/controlz/>组件自检</a></li><li role=none><a role=treeitem title=如何使用组件的级别日志来记录正在运行中的组件的行为。 href=/v1.5/zh/docs/ops/diagnostic-tools/component-logging/>组件日志记录</a></li></ul></li></ul></div></div><div class=card><button class="header dynamic" id=card162 title="参考部分包含详细的权威参考资料,如命令行选项、配置选项和 API 调用参数。" aria-controls=card162-body><svg class="icon"><use xlink:href="/v1.5/img/icons.svg#reference"/></svg>参考</button><div class=body aria-labelledby=card162 role=region id=card162-body><ul role=tree aria-expanded=true aria-labelledby=card162><li role=treeitem aria-label=配置><button aria-hidden=true></button><a title=关于配置选项的详细信息。 href=/v1.5/zh/docs/reference/config/>配置</a><ul role=group aria-expanded=false><li role=none><a role=treeitem title="Configuration affecting the service mesh as a whole." href=/v1.5/zh/docs/reference/config/istio.mesh.v1alpha1/>Service Mesh</a></li><li role=none><a role=treeitem title="Configuration for Istio control plane installation through the Operator." href=/v1.5/zh/docs/reference/config/istio.operator.v1alpha12.pb/>Operator Installation</a></li><li role=none><a role=treeitem title="描述使用 Helm chart 安装 Istio 时的可选项。" href=/v1.5/zh/docs/reference/config/installation-options/>安装选项(Helm)</a></li><li role=none><a role=treeitem title="Configuration affecting Istio control plane installation version and shape." href=/v1.5/zh/docs/reference/config/istio.operator.v1alpha1/>IstioOperator Options</a></li><li role=none><a role=treeitem title="Resource annotations used by Istio." href=/v1.5/zh/docs/reference/config/annotations/>Resource Annotations</a></li><li role=treeitem aria-label=流量管理><button aria-hidden=true></button><a title="描述如何配置 HTTP/TCP 路由功能。" href=/v1.5/zh/docs/reference/config/networking/>流量管理</a><ul role=group aria-expanded=false class=leaf-section><li role=none><a role=treeitem title="Configuration affecting load balancing, outlier detection, etc." href=/v1.5/zh/docs/reference/config/networking/destination-rule/>Destination Rule</a></li><li role=none><a role=treeitem title="Customizing Envoy configuration generated by Istio." href=/v1.5/zh/docs/reference/config/networking/envoy-filter/>Envoy Filter</a></li><li role=none><a role=treeitem title="Configuration affecting edge load balancer." href=/v1.5/zh/docs/reference/config/networking/gateway/>Gateway</a></li><li role=none><a role=treeitem title="Configuration affecting label/content routing, sni routing, etc." href=/v1.5/zh/docs/reference/config/networking/virtual-service/>Virtual Service</a></li><li role=none><a role=treeitem title="Configuration affecting network reachability of a sidecar." href=/v1.5/zh/docs/reference/config/networking/sidecar/>Sidecar</a></li><li role=none><a role=treeitem title="Configuration affecting service registry." href=/v1.5/zh/docs/reference/config/networking/service-entry/>Service Entry</a></li></ul></li><li role=treeitem aria-label=Security><button aria-hidden=true></button><a title="如何配置 Istio 的安全功能。" href=/v1.5/zh/docs/reference/config/security/>Security</a><ul role=group aria-expanded=false class=leaf-section><li role=none><a role=treeitem title="Configuration to validate JWT." href=/v1.5/zh/docs/reference/config/security/jwt/>JWTRule</a></li><li role=none><a role=treeitem title="Request authentication configuration for workloads." href=/v1.5/zh/docs/reference/config/security/request_authentication/>RequestAuthentication</a></li><li role=none><a role=treeitem title="Peer authentication configuration for workloads." href=/v1.5/zh/docs/reference/config/security/peer_authentication/>PeerAuthentication</a></li><li role=none><a role=treeitem title="Authentication policy for Istio services." href=/v1.5/zh/docs/reference/config/security/istio.authentication.v1alpha1/>Authentication Policy</a></li><li role=none><a role=treeitem title="Configuration for access control on workloads." href=/v1.5/zh/docs/reference/config/security/authorization-policy/>Authorization Policy</a></li><li role=none><a role=treeitem title=授权策略中支持的条件。 href=/v1.5/zh/docs/reference/config/security/conditions/>授权策略</a></li><li role=none><a role=treeitem title="Configuration for Role Based Access Control." href=/v1.5/zh/docs/reference/config/security/istio.rbac.v1alpha1/>RBAC (deprecated)</a></li><li role=none><a role=treeitem title=受支持的约束条件和属性。 href=/v1.5/zh/docs/reference/config/security/constraints-and-properties/>RBAC 约束和属性(不建议使用)</a></li></ul></li><li role=treeitem aria-label="Telemetry V2"><button aria-hidden=true></button><a title="Describes how to configure Istio telemetry V2." href=/v1.5/zh/docs/reference/config/telemetry/>Telemetry V2</a><ul role=group aria-expanded=false class=leaf-section><li role=none><a role=treeitem title="Istio standard metrics exported by Istio telemetry." href=/v1.5/zh/docs/reference/config/telemetry/metrics/>Istio Standard Metrics</a></li><li role=none><a role=treeitem title="How to configure v2 metrics (experimental)." href=/v1.5/zh/docs/reference/config/telemetry/configurable_metrics/>Configurable Metrics (Experimental)</a></li><li role=none><a role=treeitem title="How to enable Telemetry V2 with Wasm runtime (experimental)." href=/v1.5/zh/docs/reference/config/telemetry/telemetry_v2_with_wasm/>Telemetry V2 with Wasm runtime (Experimental)</a></li></ul></li><li role=treeitem aria-label=策略和遥测><button aria-hidden=true></button><a title="描述如何配置 Istio 的策略和遥测功能。" href=/v1.5/zh/docs/reference/config/policy-and-telemetry/>策略和遥测</a><ul role=group aria-expanded=false><li role=none><a role=treeitem title="Configuration state for the Mixer client library." href=/v1.5/zh/docs/reference/config/policy-and-telemetry/istio.mixer.v1.config.client/>Mixer Client</a></li><li role=none><a role=treeitem title="Describes the rules used to configure Mixer's policy and telemetry features." href=/v1.5/zh/docs/reference/config/policy-and-telemetry/istio.policy.v1beta1/>Rules</a></li><li role=none><a role=treeitem title="描述 Istio 策略执行和遥测机制的配置模型。" href=/v1.5/zh/docs/reference/config/policy-and-telemetry/mixer-overview/>Mixer 配置模型</a></li><li role=none><a role=treeitem title=描述用于策略和控制的基本属性词汇表。 href=/v1.5/zh/docs/reference/config/policy-and-telemetry/attribute-vocabulary/>属性词汇</a></li><li role=none><a role=treeitem title="Mixer 配置表达式语言手册。" href=/v1.5/zh/docs/reference/config/policy-and-telemetry/expression-language/>表达式语言</a></li><li role=treeitem aria-label=适配器><button aria-hidden=true></button><a title="Mixer 适配器能够让 Istio 连接各种基础设施后端以完成类似指标和日志这样的功能。" href=/v1.5/zh/docs/reference/config/policy-and-telemetry/adapters/>适配器</a><ul role=group aria-expanded=false class=leaf-section><li role=none><a role=treeitem title="Adapter to deliver metrics to Apache SkyWalking." href=/v1.5/zh/docs/reference/config/policy-and-telemetry/adapters/apache-skywalking/>Apache SkyWalking</a></li><li role=none><a role=treeitem title="Adapter for Apigee's distributed policy checks and analytics." href=/v1.5/zh/docs/reference/config/policy-and-telemetry/adapters/apigee/>Apigee</a></li><li role=none><a role=treeitem title="Adapter to enforce authentication and authorization policies for web apps and APIs." href=/v1.5/zh/docs/reference/config/policy-and-telemetry/adapters/app-identity-access-adapter/>App Identity and Access</a></li><li role=none><a role=treeitem title="Adapter for circonus.com's monitoring solution." href=/v1.5/zh/docs/reference/config/policy-and-telemetry/adapters/circonus/>Circonus</a></li><li role=none><a role=treeitem title="Adapter for cloudmonitor metrics." href=/v1.5/zh/docs/reference/config/policy-and-telemetry/adapters/cloudmonitor/>CloudMonitor</a></li><li role=none><a role=treeitem title="Adapter for cloudwatch metrics." href=/v1.5/zh/docs/reference/config/policy-and-telemetry/adapters/cloudwatch/>CloudWatch</a></li><li role=none><a role=treeitem title="Adapter to deliver metrics to a dogstatsd agent for delivery to DataDog." href=/v1.5/zh/docs/reference/config/policy-and-telemetry/adapters/datadog/>Datadog</a></li><li role=none><a role=treeitem title="Adapter to deliver tracing data to Zipkin." href=/v1.5/zh/docs/reference/config/policy-and-telemetry/adapters/zipkin/>Zipkin</a></li><li role=none><a role=treeitem title="Adapter that always returns a precondition denial." href=/v1.5/zh/docs/reference/config/policy-and-telemetry/adapters/denier/>Denier</a></li><li role=none><a role=treeitem title="Adapter that delivers logs to a Fluentd daemon." href=/v1.5/zh/docs/reference/config/policy-and-telemetry/adapters/fluentd/>Fluentd</a></li><li role=none><a role=treeitem title="Adapter that extracts information from a Kubernetes environment." href=/v1.5/zh/docs/reference/config/policy-and-telemetry/adapters/kubernetesenv/>Kubernetes Env</a></li><li role=none><a role=treeitem title="Adapter that performs whitelist or blacklist checks." href=/v1.5/zh/docs/reference/config/policy-and-telemetry/adapters/list/>List</a></li><li role=none><a role=treeitem title="Adapter for a simple in-memory quota management system." href=/v1.5/zh/docs/reference/config/policy-and-telemetry/adapters/memquota/>Memory quota</a></li><li role=none><a role=treeitem title="An Istio Mixer adapter to send telemetry data to New Relic." href=/v1.5/zh/docs/reference/config/policy-and-telemetry/adapters/newrelic/>New Relic</a></li><li role=none><a role=treeitem title="Adapter to deliver metrics to Wavefront by VMware." href=/v1.5/zh/docs/reference/config/policy-and-telemetry/adapters/wavefront/>Wavefront by VMware</a></li><li role=none><a role=treeitem title="Adapter to locally output logs and metrics." href=/v1.5/zh/docs/reference/config/policy-and-telemetry/adapters/stdio/>Stdio</a></li><li role=none><a role=treeitem title="Adapter to deliver metrics to a StatsD backend." href=/v1.5/zh/docs/reference/config/policy-and-telemetry/adapters/statsd/>StatsD</a></li><li role=none><a role=treeitem title="Adapter to deliver logs, metrics, and traces to Stackdriver." href=/v1.5/zh/docs/reference/config/policy-and-telemetry/adapters/stackdriver/>Stackdriver</a></li><li role=none><a role=treeitem title="Adapter to deliver logs and metrics to Papertrail and AppOptics backends." href=/v1.5/zh/docs/reference/config/policy-and-telemetry/adapters/solarwinds/>SolarWinds</a></li><li role=none><a role=treeitem title="Adapter for a Redis-based quota management system." href=/v1.5/zh/docs/reference/config/policy-and-telemetry/adapters/redisquota/>Redis Quota</a></li><li role=none><a role=treeitem title="Adapter that exposes Istio metrics for ingestion by a Prometheus harvester." href=/v1.5/zh/docs/reference/config/policy-and-telemetry/adapters/prometheus/>Prometheus</a></li><li role=none><a role=treeitem title="Adapter that implements an Open Policy Agent engine." href=/v1.5/zh/docs/reference/config/policy-and-telemetry/adapters/opa/>OPA</a></li></ul></li><li role=none><a role=treeitem title="通过 Mixer 从 Istio 导出的默认监控指标。" href=/v1.5/zh/docs/reference/config/policy-and-telemetry/metrics/>默认监控指标</a></li><li role=treeitem aria-label=模板><button aria-hidden=true></button><a title="Mixer 模板用于将数据发送到各个适配器。" href=/v1.5/zh/docs/reference/config/policy-and-telemetry/templates/>模板</a><ul role=group aria-expanded=false class=leaf-section><li role=none><a role=treeitem title="The Analytics template is used to dispatch runtime telemetry to Apigee." href=/v1.5/zh/docs/reference/config/policy-and-telemetry/templates/analytics/>Analytics</a></li><li role=none><a role=treeitem title="A template that represents a single API key." href=/v1.5/zh/docs/reference/config/policy-and-telemetry/templates/apikey/>API Key</a></li><li role=none><a role=treeitem title="A template used to represent an access control query." href=/v1.5/zh/docs/reference/config/policy-and-telemetry/templates/authorization/>Authorization</a></li><li role=none><a role=treeitem title="A template that carries no data, useful for testing." href=/v1.5/zh/docs/reference/config/policy-and-telemetry/templates/checknothing/>Check Nothing</a></li><li role=none><a role=treeitem title="A template designed to report observed communication edges between workloads." href=/v1.5/zh/docs/reference/config/policy-and-telemetry/templates/edge/>Edge</a></li><li role=none><a role=treeitem title="A template that is used to control the production of Kubernetes-specific attributes." href=/v1.5/zh/docs/reference/config/policy-and-telemetry/templates/kubernetes/>Kubernetes</a></li><li role=none><a role=treeitem title="A template designed to let you perform list checking operations." href=/v1.5/zh/docs/reference/config/policy-and-telemetry/templates/listentry/>List Entry</a></li><li role=none><a role=treeitem title="A template that represents a single runtime log entry." href=/v1.5/zh/docs/reference/config/policy-and-telemetry/templates/logentry/>Log Entry</a></li><li role=none><a role=treeitem title="A template that represents a single runtime metric." href=/v1.5/zh/docs/reference/config/policy-and-telemetry/templates/metric/>Metric</a></li><li role=none><a role=treeitem title="A template that represents an individual span within a distributed trace." href=/v1.5/zh/docs/reference/config/policy-and-telemetry/templates/tracespan/>Trace Span</a></li><li role=none><a role=treeitem title="A template that carries no data, useful for testing." href=/v1.5/zh/docs/reference/config/policy-and-telemetry/templates/reportnothing/>Report Nothing</a></li><li role=none><a role=treeitem title="A template that represents a quota allocation request." href=/v1.5/zh/docs/reference/config/policy-and-telemetry/templates/quota/>Quota</a></li></ul></li></ul></li><li role=treeitem aria-label=配置分析消息><button aria-hidden=true></button><a title=记录配置分析期间产生的各个错误和警告消息。 href=/v1.5/zh/docs/reference/config/analysis/>配置分析消息</a><ul role=group aria-expanded=false class=leaf-section><li role=none><a role=treeitem href=/v1.5/zh/docs/reference/config/analysis/message-format/>Analyzer Message Format</a></li><li role=none><a role=treeitem href=/v1.5/zh/docs/reference/config/analysis/ist0109/>ConflictingMeshGatewayVirtualServiceHosts</a></li><li role=none><a role=treeitem href=/v1.5/zh/docs/reference/config/analysis/ist0110/>ConflictingSidecarWorkloadSelectors</a></li><li role=none><a role=treeitem href=/v1.5/zh/docs/reference/config/analysis/ist0002/>Deprecated</a></li><li role=none><a role=treeitem href=/v1.5/zh/docs/reference/config/analysis/ist0104/>GatewayPortNotOnWorkload</a></li><li role=none><a role=treeitem href=/v1.5/zh/docs/reference/config/analysis/ist0001/>InternalError</a></li><li role=none><a role=treeitem href=/v1.5/zh/docs/reference/config/analysis/ist0105/>IstioProxyImageMismatch</a></li><li role=none><a role=treeitem href=/v1.5/zh/docs/reference/config/analysis/ist0119/>JwtFailureDueToInvalidServicePortPrefix</a></li><li role=none><a role=treeitem href=/v1.5/zh/docs/reference/config/analysis/ist0107/>MisplacedAnnotation</a></li><li role=none><a role=treeitem href=/v1.5/zh/docs/reference/config/analysis/ist0113/>MTLSPolicyConflict</a></li><li role=none><a role=treeitem href=/v1.5/zh/docs/reference/config/analysis/ist0111/>MultipleSidecarsWithoutWorkloadSelectors</a></li><li role=none><a role=treeitem href=/v1.5/zh/docs/reference/config/analysis/ist0102/>NamespaceNotInjected</a></li><li role=none><a role=treeitem href=/v1.5/zh/docs/reference/config/analysis/ist0106/>SchemaValidationError</a></li><li role=none><a role=treeitem href=/v1.5/zh/docs/reference/config/analysis/ist0112/>VirtualServiceDestinationPortSelectorRequired</a></li><li role=none><a role=treeitem href=/v1.5/zh/docs/reference/config/analysis/ist0108/>UnknownAnnotation</a></li><li role=none><a role=treeitem href=/v1.5/zh/docs/reference/config/analysis/ist0101/>ReferencedResourceNotFound</a></li><li role=none><a role=treeitem href=/v1.5/zh/docs/reference/config/analysis/ist0118/>PortNameIsNotUnderNamingConvention</a></li><li role=none><a role=treeitem href=/v1.5/zh/docs/reference/config/analysis/ist0103/>PodMissingProxy</a></li></ul></li></ul></li><li role=treeitem aria-label=命令><button aria-hidden=true></button><a title="描述 Istio 命令和工具的用法及选项。" href=/v1.5/zh/docs/reference/commands/>命令</a><ul role=group aria-expanded=false class=leaf-section><li role=none><a role=treeitem title="Galley provides configuration management services for Istio." href=/v1.5/zh/docs/reference/commands/galley/>galley</a></li><li role=none><a role=treeitem title="Istio Certificate Authority (CA)." href=/v1.5/zh/docs/reference/commands/istio_ca/>istio_ca</a></li><li role=none><a role=treeitem title="Istio control interface." href=/v1.5/zh/docs/reference/commands/istioctl/>istioctl</a></li><li role=none><a role=treeitem title="Mixer is Istio's abstraction on top of infrastructure backends." href=/v1.5/zh/docs/reference/commands/mixs/>mixs</a></li><li role=none><a role=treeitem title="Istio security per-node agent." href=/v1.5/zh/docs/reference/commands/node_agent/>node_agent</a></li><li role=none><a role=treeitem title="Kubernetes webhook for automatic Istio sidecar injection." href=/v1.5/zh/docs/reference/commands/sidecar-injector/>sidecar-injector</a></li><li role=none><a role=treeitem title="The Istio operator." href=/v1.5/zh/docs/reference/commands/operator/>operator</a></li><li role=none><a role=treeitem title="Istio Pilot." href=/v1.5/zh/docs/reference/commands/pilot-discovery/>pilot-discovery</a></li><li role=none><a role=treeitem title="Istio Pilot agent." href=/v1.5/zh/docs/reference/commands/pilot-agent/>pilot-agent</a></li></ul></li><li role=none><a role=treeitem title="Istio 常用术语的词汇表。" href=/v1.5/zh/docs/reference/glossary/>术语表</a></li></ul></div></div></div></nav></div><div class=article-container><button tabindex=-1 id=sidebar-toggler title=折叠导航栏><svg class="icon"><use xlink:href="/v1.5/img/icons.svg#pull"/></svg></button><nav aria-label=Breadcrumb><ol><li><a href=/v1.5/zh/ title=用于连接、保护、控制和观测服务。>Istio</a></li><li><a href=/v1.5/zh/docs/ title="了解如何部署、使用和运维 Istio。">文档</a></li><li><a href=/v1.5/zh/docs/tasks/ title="如何用 Istio 系统实现特定目标的行为。">任务</a></li><li><a href=/v1.5/zh/docs/tasks/observability/ title=演示如何从网格收集遥测信息。>可观察性</a></li><li>网络可视化</li></ol></nav><article aria-labelledby=title><div class=title-area><div style=width:100%><h1 id=title>网络可视化</h1><p class=byline><span title="754 字"><svg class="icon"><use xlink:href="/v1.5/img/icons.svg#clock"/></svg><span> </span>阅读大约需要 4 分钟</span></p></div></div><nav class=toc-inlined aria-label="Table of Contents"><div><hr><ol><li role=none aria-label=开始之前><a href=#before-you-begin>开始之前</a><ol><li role=none aria-label="创建 secret"><a href=#create-a-secret>创建 secret</a><li role=none aria-label="通过 istioctl 安装"><a href=#install-Via-%60istioctl%60>通过 <code>istioctl</code> 安装</a><li role=none aria-label="运行在 OpenShift"><a href=#running-on-OpenShift>运行在 OpenShift</a></ol></li><li role=none aria-label=生成服务图><a href=#generating-a-service-graph>生成服务图</a><li role=none aria-label="检查 Istio 配置"><a href=#examining-Istio-configuration>检查 Istio 配置</a><li role=none aria-label=创建加权路由><a href=#creating-weighted-routes>创建加权路由</a><li role=none aria-label="验证 Istio 配置"><a href=#validating-Istio-configuration>验证 Istio 配置</a><li role=none aria-label="查看并编辑 Istio YAML 文件配置"><a href=#viewing-and-editing-Istio-configuration-YAML>查看并编辑 Istio YAML 文件配置</a><li role=none aria-label="关于 Kiali Public API"><a href=#about-the-Kiali-Public-API>关于 Kiali Public API</a><li role=none aria-label=清理><a href=#cleanup>清理</a><li role=none aria-label=相关内容><a href=#see-also>相关内容</a></li></ol><hr></div></nav><p>此任务向您展示如何可视化 Istio 网格的不同方面。</p><p>作为此任务的一部分,您将安装 <a href=https://www.kiali.io>Kiali</a> 附加组件,并使用基于 Web 的图形用户界面来查看网格和 Istio 配置对象的服务图。
|
||
最后,您使用 Kiali Public API 返回的 JSON 数据生成图形数据。</p><div><aside class="callout idea"><div class=type><svg class="large-icon"><use xlink:href="/v1.5/img/icons.svg#callout-idea"/></svg></div><div class=content>这个任务并不包括 Kiali 提供的所有特性。要了解它所支持的全部功能,请查看 <a href=http://kiali.io/documentation/features/>Kiali 官网</a>。</div></aside></div><p>此任务始终将 <a href=/v1.5/zh/docs/examples/bookinfo/>Bookinfo</a> 示例应用程序作为示例。</p><h2 id=before-you-begin>开始之前</h2><div><aside class="callout tip"><div class=type><svg class="large-icon"><use xlink:href="/v1.5/img/icons.svg#callout-tip"/></svg></div><div class=content>以下说明假设您已安装过 <code>istioctl</code> 并使用它来安装 Kiali。
|
||
不使用 <code>istioctl</code> 来安装 Kiali, 请参考 <a href=https://www.kiali.io/documentation/getting-started/>Kiali 安装说明</a>。</div></aside></div><h3 id=create-a-secret>创建 secret</h3><div><aside class="callout tip"><div class=type><svg class="large-icon"><use xlink:href="/v1.5/img/icons.svg#callout-tip"/></svg></div><div class=content>如果您打算按照 <a href=/v1.5/zh/docs/setup/getting-started/>Istio 快速入门</a>说明使用 Istio 演示配置文件安装 Kiali,则会为您创建一个默认 secret,用户名为 <code>admin</code> ,密码为 <code>admin</code>。 因此,您可以跳过此部分。</div></aside></div><p>在 Istio 命名空间中创建一个 Secret,作为 Kiali 的身份验证凭据。</p><p>首先,定义要用作 Kiali 用户名和密码的凭据。</p><p>当提示出现时输入 Kiali 用户名:</p><pre><code class=language-bash data-expandlinks=true data-repo=istio>$ KIALI_USERNAME=$(read -p 'Kiali Username: ' uval && echo -n $uval | base64)
|
||
</code></pre><p>当提示出现时输入 Kiali 密码:</p><pre><code class=language-bash data-expandlinks=true data-repo=istio>$ KIALI_PASSPHRASE=$(read -sp 'Kiali Passphrase: ' pval && echo -n $pval | base64)
|
||
</code></pre><p>如果使用的是 Z Shell <code>zsh</code>,请使用以下内容定义凭据:</p><pre><code class=language-bash data-expandlinks=true data-repo=istio>$ KIALI_USERNAME=$(read '?Kiali Username: ' uval && echo -n $uval | base64)
|
||
$ KIALI_PASSPHRASE=$(read -s "?Kiali Passphrase: " pval && echo -n $pval | base64)
|
||
</code></pre><p>运行以下命令创建 secret:</p><pre><code class=language-bash data-expandlinks=true data-repo=istio>$ NAMESPACE=istio-system
|
||
$ kubectl create namespace $NAMESPACE
|
||
</code></pre><pre><code class=language-bash data-expandlinks=true data-repo=istio>$ cat <<EOF | kubectl apply -f -
|
||
apiVersion: v1
|
||
kind: Secret
|
||
metadata:
|
||
name: kiali
|
||
namespace: $NAMESPACE
|
||
labels:
|
||
app: kiali
|
||
type: Opaque
|
||
data:
|
||
username: $KIALI_USERNAME
|
||
passphrase: $KIALI_PASSPHRASE
|
||
EOF
|
||
</code></pre><h3 id="install-Via-`istioctl`">通过 <code>istioctl</code> 安装</h3><p>创建 Kiali secret 后,请参照 <code>istioctl</code> <a href=/v1.5/zh/docs/setup/install/istioctl/>安装说明</a>来安装 Kiali。
|
||
例如:</p><pre><code class=language-bash data-expandlinks=true data-repo=istio>$ istioctl manifest apply --set values.kiali.enabled=true
|
||
</code></pre><div><aside class="callout idea"><div class=type><svg class="large-icon"><use xlink:href="/v1.5/img/icons.svg#callout-idea"/></svg></div><div class=content><p>该任务不讨论 Jaeger 和 Grafana。 如果已经在集群中安装了它们,并且想了解 Kiali 如何与它们集成,则必须将其他参数传递给 <code>helm</code> 命令,例如:</p><pre><code class=language-bash data-expandlinks=true data-repo=istio>$ istioctl manifest apply \
|
||
--set values.kiali.enabled=true \
|
||
--set "values.kiali.dashboard.jaegerURL=http://jaeger-query:16686" \
|
||
--set "values.kiali.dashboard.grafanaURL=http://grafana:3000"
|
||
</code></pre></div></aside></div><p>安装 Istio 和 Kiali 后,部署 <a href=/v1.5/zh/docs/examples/bookinfo/>Bookinfo</a> 示例应用程序。</p><h3 id=running-on-OpenShift>运行在 OpenShift</h3><p>当 Kiali 在 OpenShift 上运行时,它需要访问一些 OpenShift 特定的资源才能正常运行,
|
||
在安装 Kiali 之后,可以使用以下命令完成此操作:</p><pre><code class=language-bash data-expandlinks=true data-repo=istio>$ oc patch clusterrole kiali -p '[{"op":"add", "path":"/rules/-", "value":{"apiGroups":["apps.openshift.io"], "resources":["deploymentconfigs"],"verbs": ["get", "list", "watch"]}}]' --type json
|
||
$ oc patch clusterrole kiali -p '[{"op":"add", "path":"/rules/-", "value":{"apiGroups":["project.openshift.io"], "resources":["projects"],"verbs": ["get"]}}]' --type json
|
||
$ oc patch clusterrole kiali -p '[{"op":"add", "path":"/rules/-", "value":{"apiGroups":["route.openshift.io"], "resources":["routes"],"verbs": ["get"]}}]' --type json
|
||
</code></pre><h2 id=generating-a-service-graph>生成服务图</h2><ol><li><p>要验证服务是否在您的群集中运行,请运行以下命令:</p><pre><code class=language-bash data-expandlinks=true data-repo=istio>$ kubectl -n istio-system get svc kiali
|
||
</code></pre></li><li><p>要确定 Bookinfo URL,请按照说明确定 <a href=/v1.5/zh/docs/examples/bookinfo/#determine-the-ingress-IP-and-port>Bookinfo ingress <code>GATEWAY_URL</code></a>.</p></li><li><p>要将流量发送到网格,您有三种选择</p><ul><li><p>在浏览器中访问 <code>http://$GATEWAY_URL/productpage</code></p></li><li><p>多次使用以下命令:</p><pre><code class=language-bash data-expandlinks=true data-repo=istio>$ curl http://$GATEWAY_URL/productpage
|
||
</code></pre></li><li><p>如果您在系统中安装了 <code>watch</code> 命令,请通过以下方式连续发送请求:</p><pre><code class=language-bash data-expandlinks=true data-repo=istio>$ watch -n 1 curl -o /dev/null -s -w %{http_code} $GATEWAY_URL/productpage
|
||
</code></pre></li></ul></li><li><p>要打开 Kiali UI,请在您的 Kubernetes 环境中执行以下命令:</p><pre><code class=language-bash data-expandlinks=true data-repo=istio>$ istioctl dashboard kiali
|
||
</code></pre></li><li><p>要登录 Kiali UI,请到 Kiali 登录界面,然后输入存储在 Kiali secret 中的用户名和密码。</p></li><li><p>登录后立即显示的 <strong>Overview</strong> 页面中查看网格的概述。<strong>Overview</strong> 页面显示了网格中具有服务的所有名称空间。以下屏幕截图显示了类似的页面:</p><figure style=width:75%><div class=wrapper-with-intrinsic-ratio style=padding-bottom:27.84313725490196%><a data-skipendnotes=true href=/v1.5/zh/docs/tasks/observability/kiali/kiali-overview.png title="Example Overview"><img class=element-to-stretch src=/v1.5/zh/docs/tasks/observability/kiali/kiali-overview.png alt="Example Overview"></a></div><figcaption>Example Overview</figcaption></figure></li><li><p>要查看名称空间图,请单击 Bookinfo 名称空间卡中的 <code>bookinfo</code> 图标。 图形图标位于名称空间卡的左下角,看起来像是一组相连的圈子,页面类似于:</p><figure style=width:75%><div class=wrapper-with-intrinsic-ratio style=padding-bottom:67.74703557312253%><a data-skipendnotes=true href=/v1.5/zh/docs/tasks/observability/kiali/kiali-graph.png title="Example Graph"><img class=element-to-stretch src=/v1.5/zh/docs/tasks/observability/kiali/kiali-graph.png alt="Example Graph"></a></div><figcaption>Example Graph</figcaption></figure></li><li><p>要查看度量标准摘要,请选择图中的任何节点或边,以便在右侧的 summary details 面板中显示其度量的详细信息。</p></li><li><p>要使用不同的图形类型查看服务网格,请从 <strong>Graph Type</strong> 下拉菜单中选择一种图形类型。有几种图形类型可供选择: <strong>App</strong>, <strong>Versioned App</strong>, <strong>Workload</strong>, <strong>Service</strong>。</p><ul><li><p><strong>App</strong> 图形类型将一个应用程序的所有版本聚合到一个图形节点中。以下示例显示了一个单独的 <strong>reviews</strong> 节点,它代表了评论应用程序的三个版本。</p><figure style=width:75%><div class=wrapper-with-intrinsic-ratio style=padding-bottom:47.56521739130435%><a data-skipendnotes=true href=/v1.5/zh/docs/tasks/observability/kiali/kiali-app.png title="Example App Graph"><img class=element-to-stretch src=/v1.5/zh/docs/tasks/observability/kiali/kiali-app.png alt="Example App Graph"></a></div><figcaption>Example App Graph</figcaption></figure></li><li><p><strong>Versioned App</strong> 图类型显示每个应用程序版本的节点,但是特定应用程序的所有版本都组合在一起。
|
||
下面的示例显示 <strong>reviews</strong> 组框,其中包含三个节点,这些节点代表了评论应用程序的三个版本。</p><figure style=width:75%><div class=wrapper-with-intrinsic-ratio style=padding-bottom:97.953216374269%><a data-skipendnotes=true href=/v1.5/zh/docs/tasks/observability/kiali/kiali-versionedapp.png title="Example Versioned App Graph"><img class=element-to-stretch src=/v1.5/zh/docs/tasks/observability/kiali/kiali-versionedapp.png alt="Example Versioned App Graph"></a></div><figcaption>Example Versioned App Graph</figcaption></figure></li><li><p><strong>Workload</strong> 图类型显示了服务网格中每个工作负载的节点。
|
||
这种图类型不需要您使用 <code>app</code> 和 <code>version</code> 标签,因此,如果您选择在组件上不使用这些标签, 这是您将使用的图形类型。</p><figure style=width:70%><div class=wrapper-with-intrinsic-ratio style=padding-bottom:82.94270833333334%><a data-skipendnotes=true href=/v1.5/zh/docs/tasks/observability/kiali/kiali-workload.png title="Example Workload Graph"><img class=element-to-stretch src=/v1.5/zh/docs/tasks/observability/kiali/kiali-workload.png alt="Example Workload Graph"></a></div><figcaption>Example Workload Graph</figcaption></figure></li><li><p><strong>Service</strong> 图类型显示网格中每个服务的节点,但从图中排除所有应用程序和工作负载。</p><figure style=width:70%><div class=wrapper-with-intrinsic-ratio style=padding-bottom:61.206896551724135%><a data-skipendnotes=true href=/v1.5/zh/docs/tasks/observability/kiali/kiali-service-graph.png title="Example Service Graph"><img class=element-to-stretch src=/v1.5/zh/docs/tasks/observability/kiali/kiali-service-graph.png alt="Example Service Graph"></a></div><figcaption>Example Service Graph</figcaption></figure></li></ul></li></ol><h2 id=examining-Istio-configuration>检查 Istio 配置</h2><ol><li><p>要检查有关 Istio 配置的详细信息,请单击左侧菜单栏上的 <strong>Applications</strong>,<strong>Workloads</strong> 和 <strong>Services</strong> 菜单图标。
|
||
以下屏幕截图显示了 Bookinfo 应用程序信息:</p><figure style=width:80%><div class=wrapper-with-intrinsic-ratio style=padding-bottom:42.132982225148126%><a data-skipendnotes=true href=/v1.5/zh/docs/tasks/observability/kiali/kiali-services.png title="Example Details"><img class=element-to-stretch src=/v1.5/zh/docs/tasks/observability/kiali/kiali-services.png alt="Example Details"></a></div><figcaption>Example Details</figcaption></figure></li></ol><h2 id=creating-weighted-routes>创建加权路由</h2><p>您可以使用 Kiali 加权路由转发来定义特定百分比的请求流量以路由到两个或多个工作负载。</p><ol><li><p>查看 <code>bookinfo</code> 图的 <strong>Versioned app graph</strong>。</p><ul><li><p>确保已经在 <strong>Edge Labels</strong> 下拉菜单中选择了 <strong>Requests percentage</strong> ,以查看路由到每个工作负载的流量百分比。</p></li><li><p>确保已经选中 <strong>Display</strong> 下拉菜单中的 <strong>Service Nodes</strong> 复选框,以便在图中查看服务节点。</p></li></ul><figure style=width:80%><div class=wrapper-with-intrinsic-ratio style=padding-bottom:86.45980253878702%><a data-skipendnotes=true href=/v1.5/zh/docs/tasks/observability/kiali/kiali-wiz0-graph-options.png title="Bookinfo Graph Options"><img class=element-to-stretch src=/v1.5/zh/docs/tasks/observability/kiali/kiali-wiz0-graph-options.png alt="Bookinfo Graph Options"></a></div><figcaption>Bookinfo Graph Options</figcaption></figure></li><li><p>通过单击 <code>ratings</code> 服务 (triangle) 节点,将关注点放在 <code>bookinfo</code> 图内的 <code>ratings</code> 服务上。
|
||
注意,<code>ratings</code> 服务流量平均分配给两个 <code>ratings</code> 服务 <code>v1</code> 和 <code>v2</code>(每台服务被路由 50% 的请求)。</p><figure style=width:80%><div class=wrapper-with-intrinsic-ratio style=padding-bottom:48.18604651162791%><a data-skipendnotes=true href=/v1.5/zh/docs/tasks/observability/kiali/kiali-wiz1-graph-ratings-percent.png title="Graph Showing Percentage of Traffic"><img class=element-to-stretch src=/v1.5/zh/docs/tasks/observability/kiali/kiali-wiz1-graph-ratings-percent.png alt="Graph Showing Percentage of Traffic"></a></div><figcaption>Graph Showing Percentage of Traffic</figcaption></figure></li><li><p>点击侧面板上的 <strong>ratings</strong> 链接,进入 <code>ratings</code> 服务的服务视图。</p></li><li><p>从 <strong>Action</strong> 下拉菜单中,选择 <strong>Create Weighted Routing</strong> 以访问加权路由向导。</p><figure style=width:80%><div class=wrapper-with-intrinsic-ratio style=padding-bottom:50.46296296296296%><a data-skipendnotes=true href=/v1.5/zh/docs/tasks/observability/kiali/kiali-wiz2-ratings-service-action-menu.png title="Service Action Menu"><img class=element-to-stretch src=/v1.5/zh/docs/tasks/observability/kiali/kiali-wiz2-ratings-service-action-menu.png alt="Service Action Menu"></a></div><figcaption>Service Action Menu</figcaption></figure></li><li><p>拖动滑块以指定要路由到每个服务的流量百分比。
|
||
对于 <code>ratings-v1</code>,将其设置为 10%; 对于 <code>ratings-v2</code> ,请将其设置为 90%。</p><figure style=width:80%><div class=wrapper-with-intrinsic-ratio style=padding-bottom:59.5639246778989%><a data-skipendnotes=true href=/v1.5/zh/docs/tasks/observability/kiali/kiali-wiz3-weighted-routing-wizard.png title="Weighted Routing Wizard"><img class=element-to-stretch src=/v1.5/zh/docs/tasks/observability/kiali/kiali-wiz3-weighted-routing-wizard.png alt="Weighted Routing Wizard"></a></div><figcaption>Weighted Routing Wizard</figcaption></figure></li><li><p>单击 <strong>Create</strong> 按钮以创建新的路由。</p></li><li><p>点击左侧导航栏中的 <strong>Graph</strong> 以返回到 <code>bookinfo</code> 图表。</p></li><li><p>发送请求到 <code>bookinfo</code> 应用程序。例如,要每秒发送一个请求,如果您的系统上装有 <code>watch</code>,则可以执行以下命令:</p><pre><code class=language-bash data-expandlinks=true data-repo=istio>$ watch -n 1 curl -o /dev/null -s -w %{http_code} $GATEWAY_URL/productpage
|
||
</code></pre></li><li><p>几分钟后,您会注意到流量百分比将反映新的流量路由,从而确认您的新流量路由已成功将所有流量请求的 90% 路由到 <code>ratings-v2</code>。</p><figure style=width:80%><div class=wrapper-with-intrinsic-ratio style=padding-bottom:71.63120567375887%><a data-skipendnotes=true href=/v1.5/zh/docs/tasks/observability/kiali/kiali-wiz4-ratings-weighted-route-90-10.png title="90% Ratings Traffic Routed to ratings-v2"><img class=element-to-stretch src=/v1.5/zh/docs/tasks/observability/kiali/kiali-wiz4-ratings-weighted-route-90-10.png alt="90% Ratings Traffic Routed to ratings-v2"></a></div><figcaption>90% Ratings Traffic Routed to ratings-v2</figcaption></figure></li></ol><h2 id=validating-Istio-configuration>验证 Istio 配置</h2><p>Kiali 可以验证您的 Istio 资源,以确保它们遵循正确的约定和语义。根据错误配置的严重程度,在 Istio 资源的配置中检测到的任何问题都可以标记为错误或警告。有关 Kiali 执行的所有验证检查的列表,请参考 <a href=http://kiali.io/documentation/validations/>Kiali Validations page</a>。</p><div><aside class="callout idea"><div class=type><svg class="large-icon"><use xlink:href="/v1.5/img/icons.svg#callout-idea"/></svg></div><div class=content>Istio 1.4 引入了 <code>istioctl analyze</code>,它使您能够以在 CI 管道中使用的方式执行类似的分析。</div></aside></div><p>强制对服务端口名称进行无效配置,以查看 Kiali 如何报告验证错误。</p><ol><li><p>将 <code>details</code> 服务的端口名从 <code>http</code> 更改为 <code>foo</code>:</p><pre><code class=language-bash data-expandlinks=true data-repo=istio>$ kubectl patch service details -n bookinfo --type json -p '[{"op":"replace","path":"/spec/ports/0/name", "value":"foo"}]'
|
||
</code></pre></li><li><p>通过单击左侧导航栏上的 <strong>Services</strong>,导航到 <strong>Services</strong> 列表。</p></li><li><p>如果尚未选择,请从 <strong>Namespace</strong> 下拉菜单中选择 <code>bookinfo</code>。</p></li><li><p>注意在 <code>details</code> 行的 <strong>Configuration</strong> 列中显示的错误图标。</p><figure style=width:80%><div class=wrapper-with-intrinsic-ratio style=padding-bottom:53.205128205128204%><a data-skipendnotes=true href=/v1.5/zh/docs/tasks/observability/kiali/kiali-validate1-list.png title="Services List Showing Invalid Configuration"><img class=element-to-stretch src=/v1.5/zh/docs/tasks/observability/kiali/kiali-validate1-list.png alt="Services List Showing Invalid Configuration"></a></div><figcaption>Services List Showing Invalid Configuration</figcaption></figure></li><li><p>单击 <strong>Name</strong> 列中的 <strong>details</strong> 链接,以导航到服务详细信息视图。</p></li><li><p>将鼠标悬停在错误图标上可以显示描述错误的提示。</p><figure style=width:80%><div class=wrapper-with-intrinsic-ratio style=padding-bottom:70.66402378592666%><a data-skipendnotes=true href=/v1.5/zh/docs/tasks/observability/kiali/kiali-validate2-errormsg.png title="Service Details Describing the Invalid Configuration"><img class=element-to-stretch src=/v1.5/zh/docs/tasks/observability/kiali/kiali-validate2-errormsg.png alt="Service Details Describing the Invalid Configuration"></a></div><figcaption>Service Details Describing the Invalid Configuration</figcaption></figure></li><li><p>将端口名称改回 <code>http</code> 以更正配置,并将 <code>bookinfo</code> 返回其正常状态。</p><pre><code class=language-bash data-expandlinks=true data-repo=istio>$ kubectl patch service details -n bookinfo --type json -p '[{"op":"replace","path":"/spec/ports/0/name", "value":"http"}]'
|
||
</code></pre><figure style=width:80%><div class=wrapper-with-intrinsic-ratio style=padding-bottom:69.77205153617443%><a data-skipendnotes=true href=/v1.5/zh/docs/tasks/observability/kiali/kiali-validate3-ok.png title="Service Details Showing Valid Configuration"><img class=element-to-stretch src=/v1.5/zh/docs/tasks/observability/kiali/kiali-validate3-ok.png alt="Service Details Showing Valid Configuration"></a></div><figcaption>Service Details Showing Valid Configuration</figcaption></figure></li></ol><h2 id=viewing-and-editing-Istio-configuration-YAML>查看并编辑 Istio YAML 文件配置</h2><p>Kiali 提供了一个 YAML 编辑器,用于查看和编辑 Istio 配置资源。当检测到错误的配置时,YAML 编辑器还将提供验证消息。</p><ol><li><p>创建 Bookinfo 目标规则:</p><div><a data-skipendnotes=true style=display:none href=https://raw.githubusercontent.com/istio/istio/release-1.5/samples/bookinfo/networking/destination-rule-all.yaml>Zip</a><pre><code class=language-bash data-expandlinks=true data-repo=istio>$ kubectl apply -f @samples/bookinfo/networking/destination-rule-all.yaml@
|
||
</code></pre></div></li><li><p>单击左侧导航栏上的 <code>Istio Config</code> 以导航到 Istio 配置列表。</p></li><li><p>如果尚未选择,请从 <strong>Namespace</strong> 下拉菜单中选择 <code>bookinfo</code>。</p></li><li><p>请注意错误消息以及错误警告图标,它们会警告您一些配置问题。</p><figure style=width:80%><div class=wrapper-with-intrinsic-ratio style=padding-bottom:59.37007874015748%><a data-skipendnotes=true href=/v1.5/zh/docs/tasks/observability/kiali/kiali-istioconfig0-errormsgs.png title="Istio Config List Incorrect Configuration Messages"><img class=element-to-stretch src=/v1.5/zh/docs/tasks/observability/kiali/kiali-istioconfig0-errormsgs.png alt="Istio Config List Incorrect Configuration Messages"></a></div><figcaption>Istio Config List Incorrect Configuration Messages</figcaption></figure></li><li><p>将鼠标悬停在 <code>details</code> 行的 <strong>Configuration</strong> 列中的错误图标上,以查看其他消息。</p><figure style=width:80%><div class=wrapper-with-intrinsic-ratio style=padding-bottom:59.523809523809526%><a data-skipendnotes=true href=/v1.5/zh/docs/tasks/observability/kiali/kiali-istioconfig1-tooltip.png title="Istio Config List Incorrect Configuration Tool Tips"><img class=element-to-stretch src=/v1.5/zh/docs/tasks/observability/kiali/kiali-istioconfig1-tooltip.png alt="Istio Config List Incorrect Configuration Tool Tips"></a></div><figcaption>Istio Config List Incorrect Configuration Tool Tips</figcaption></figure></li><li><p>单击 <strong>Name</strong> 列中的 <strong>details</strong> 链接,以导航到 <code>details</code> 目标规则视图。</p></li><li><p>请注意消息和图标,它们提醒您一些失败的验证规则。</p><figure style=width:80%><div class=wrapper-with-intrinsic-ratio style=padding-bottom:65.98746081504702%><a data-skipendnotes=true href=/v1.5/zh/docs/tasks/observability/kiali/kiali-istioconfig2-details-errormsgs.png title="Istio Configuration Details View Showing Errors"><img class=element-to-stretch src=/v1.5/zh/docs/tasks/observability/kiali/kiali-istioconfig2-details-errormsgs.png alt="Istio Configuration Details View Showing Errors"></a></div><figcaption>Istio Configuration Details View Showing Errors</figcaption></figure></li><li><p>单击 <strong>YAML</strong> 选项卡以查看此 Istio 目标规则资源的 YAML。</p></li><li><p>请注意未通过验证检查的行颜色会突出显示和异常图标。</p><figure style=width:80%><div class=wrapper-with-intrinsic-ratio style=padding-bottom:86.39760837070254%><a data-skipendnotes=true href=/v1.5/zh/docs/tasks/observability/kiali/kiali-istioconfig3-details-yaml1.png title="YAML Editor Showing Validation Errors and Warnings"><img class=element-to-stretch src=/v1.5/zh/docs/tasks/observability/kiali/kiali-istioconfig3-details-yaml1.png alt="YAML Editor Showing Validation Errors and Warnings"></a></div><figcaption>YAML Editor Showing Validation Errors and Warnings</figcaption></figure></li><li><p>将鼠标悬停在黄色图标上可以查看工具提示消息,该消息提示您触发了警告的验证检查。
|
||
有关警告起因和解决方法的更多详细信息,请在 <a href=http://kiali.io/documentation/validations/>Kiali Validations page</a> 上查找验证警告消息。</p><figure style=width:80%><div class=wrapper-with-intrinsic-ratio style=padding-bottom:86.57817109144543%><a data-skipendnotes=true href=/v1.5/zh/docs/tasks/observability/kiali/kiali-istioconfig3-details-yaml2.png title="YAML Editor Showing Warning Tool Tip"><img class=element-to-stretch src=/v1.5/zh/docs/tasks/observability/kiali/kiali-istioconfig3-details-yaml2.png alt="YAML Editor Showing Warning Tool Tip"></a></div><figcaption>YAML Editor Showing Warning Tool Tip</figcaption></figure></li><li><p>将鼠标悬停在红色图标上可以查看工具提示消息,该消息提示您触发错误的验证检查。有关错误原因和解决方法的更多详细信息,请在 <a href=http://kiali.io/documentation/validations/>Kiali Validations page</a> 上查找验证错误消息。</p><figure style=width:80%><div class=wrapper-with-intrinsic-ratio style=padding-bottom:86.15611192930781%><a data-skipendnotes=true href=/v1.5/zh/docs/tasks/observability/kiali/kiali-istioconfig3-details-yaml3.png title="YAML Editor Showing Error Tool Tip"><img class=element-to-stretch src=/v1.5/zh/docs/tasks/observability/kiali/kiali-istioconfig3-details-yaml3.png alt="YAML Editor Showing Error Tool Tip"></a></div><figcaption>YAML Editor Showing Error Tool Tip</figcaption></figure></li><li><p>删除目标规则,使 <code>bookinfo</code> 返回其原始状态。</p><pre><code class=language-bash data-expandlinks=true data-repo=istio>$ kubectl delete -f samples/bookinfo/networking/destination-rule-all.yaml
|
||
</code></pre></li></ol><h2 id=about-the-Kiali-Public-API>关于 Kiali Public API</h2><p>要生成代表图表和其他指标,运行状况和配置信息的 JSON 文件,您可以访问
|
||
<a href=https://www.kiali.io/api>Kiali Public API</a>。
|
||
例如,将浏览器指向 <code>$KIALI_URL/api/namespaces/graph?namespaces=bookinfo&graphType=app</code> 以使用 <code>app</code> 图形类型获取图形的 JSON 表示形式。</p><p>Kiali Public API 建立在 Prometheus 查询之上,并且取决于标准的 Istio 度量配置。
|
||
它还会调用 Kubernetes API 以获取有关您的服务的其他详细信息。
|
||
为了获得使用 Kiali 的最佳体验,请在应用程序组件上使用元数据标签 <code>app</code> 和 <code>version</code>。 作为模板,Bookinfo 示例应用程序遵循此约定。</p><h2 id=cleanup>清理</h2><p>如果您不计划任何后续任务,请从群集中删除 Bookinfo 示例应用程序和 Kiali。</p><ol><li><p>要删除 Bookinfo 应用程序,请参阅 <a href=/v1.5/zh/docs/examples/bookinfo/#cleanup>Bookinfo cleanup</a> 说明。</p></li><li><p>要从 Kubernetes 环境中删除 Kiali,请删除所有带有 <code>app=kiali</code> 标签的组件:</p></li></ol><pre><code class=language-bash data-expandlinks=true data-repo=istio>$ kubectl delete all,secrets,sa,configmaps,deployments,ingresses,clusterroles,clusterrolebindings,customresourcedefinitions --selector=app=kiali -n istio-system
|
||
</code></pre><nav id=see-also><h2>相关内容</h2><div class=see-also><div class=entry><p class=link><a data-skipendnotes=true href=/v1.5/zh/docs/tasks/observability/metrics/using-istio-dashboard/>使用 Grafana 可视化指标</a></p><p class=desc>此任务展示了如何设置和使用 Istio Dashboard 监控网格流量。</p></div><div class=entry><p class=link><a data-skipendnotes=true href=/v1.5/zh/blog/2017/mixer-spof-myth/>Mixer 和 SPOF 神话</a></p><p class=desc>提高可用,降低延迟。</p></div><div class=entry><p class=link><a data-skipendnotes=true href=/v1.5/zh/blog/2017/adapter-model/>Mixer 适配器模型</a></p><p class=desc>概要说明 Mixer 的插件架构。</p></div><div class=entry><p class=link><a data-skipendnotes=true href=/v1.5/zh/docs/tasks/observability/distributed-tracing/jaeger/>Jaeger</a></p><p class=desc>了解如何配置代理以向 Jaeger 发送追踪请求。</p></div><div class=entry><p class=link><a data-skipendnotes=true href=/v1.5/zh/docs/tasks/observability/distributed-tracing/lightstep/>LightStep</a></p><p class=desc>怎样配置代理才能把追踪请求发送到 LightStep。</p></div><div class=entry><p class=link><a data-skipendnotes=true href=/v1.5/zh/docs/reference/config/policy-and-telemetry/mixer-overview/>Mixer 配置模型</a></p><p class=desc>描述 Istio 策略执行和遥测机制的配置模型。</p></div></div></nav></article><nav class=pagenav><div class=left></div><div class=right><a title="此任务向您展示如何配置从外部访问 Istio 遥测插件。" href=/v1.5/zh/docs/tasks/observability/gateways/>远程访问遥测插件<svg class="icon"><use xlink:href="/v1.5/img/icons.svg#right-arrow"/></svg></a></div></nav><div id=feedback><div id=feedback-initial>这些信息有用吗?<br><button class="btn feedback" onclick="sendFeedback('zh',1)">是的</button>
|
||
<button class="btn feedback" onclick="sendFeedback('zh',0)">没有</button></div><div id=feedback-comment>Do you have any suggestions for improvement?<br><br><input id=feedback-textbox type=text placeholder="Help us improve..." data-lang=zh></div><div id=feedback-thankyou>Thanks for your feedback!</div></div><div id=endnotes-container aria-hidden=true><h2>链接</h2><ol id=endnotes></ol></div></div><div class=toc-container><nav class=toc aria-label="Table of Contents"><div id=toc><ol><li role=none aria-label=开始之前><a href=#before-you-begin>开始之前</a><ol><li role=none aria-label="创建 secret"><a href=#create-a-secret>创建 secret</a><li role=none aria-label="通过 istioctl 安装"><a href=#install-Via-%60istioctl%60>通过 <code>istioctl</code> 安装</a><li role=none aria-label="运行在 OpenShift"><a href=#running-on-OpenShift>运行在 OpenShift</a></ol></li><li role=none aria-label=生成服务图><a href=#generating-a-service-graph>生成服务图</a><li role=none aria-label="检查 Istio 配置"><a href=#examining-Istio-configuration>检查 Istio 配置</a><li role=none aria-label=创建加权路由><a href=#creating-weighted-routes>创建加权路由</a><li role=none aria-label="验证 Istio 配置"><a href=#validating-Istio-configuration>验证 Istio 配置</a><li role=none aria-label="查看并编辑 Istio YAML 文件配置"><a href=#viewing-and-editing-Istio-configuration-YAML>查看并编辑 Istio YAML 文件配置</a><li role=none aria-label="关于 Kiali Public API"><a href=#about-the-Kiali-Public-API>关于 Kiali Public API</a><li role=none aria-label=清理><a href=#cleanup>清理</a><li role=none aria-label=相关内容><a href=#see-also>相关内容</a></li></ol></div></nav></div></main><footer><div class=user-links><a class=channel title="立刻下载 Istio 1.5.4" href=/v1.5/docs/setup/getting-started/#download aria-label="Download Istio"><span>download</span><svg class="icon"><use xlink:href="/v1.5/img/icons.svg#download"/></svg>
|
||
</a><a class=channel title="加入 Istio discussion board 参与讨论获取帮助" href=https://discuss.istio.io aria-label="Istio discussion board"><span>discuss</span><svg class="icon"><use xlink:href="/v1.5/img/icons.svg#discourse"/></svg></a>
|
||
<a class=channel title="Stack Overflow 中列举了针对实际问题以及部署、配置和使用 Istio 的各项回答" href=https://stackoverflow.com/questions/tagged/istio aria-label="Stack Overflow"><span>stack overflow</span><svg class="icon"><use xlink:href="/v1.5/img/icons.svg#stackoverflow"/></svg></a>
|
||
<a class=channel title="在 Slack 上与 Istio 社区交互讨论开发问题(仅限邀请)" href=https://istio.slack.com aria-label=slack><span>slack</span><svg class="icon"><use xlink:href="/v1.5/img/icons.svg#slack"/></svg></a>
|
||
<a class=channel title="关注我们的 Twitter 来获取最新信息" href=https://twitter.com/IstioMesh aria-label=Twitter><span>twitter</span><svg class="icon"><use xlink:href="/v1.5/img/icons.svg#twitter"/></svg></a><div class=tag>对于用户</div></div><div class=info><p class=copyright>中文内容由 ServiceMesher 社区维护,部分文档可能稍微滞后于英文版本,同步工作持续进行中<br>Istio 归档
|
||
1.5.4<br>© 2020 Istio Authors, <a href=https://policies.google.com/privacy>隐私政策</a><br>归档于 2020年5月21日</p></div><div class=dev-links><a class=channel title="Istio 的代码在 GitHub 上开发" href=https://github.com/istio/community aria-label=GitHub><span>github</span><svg class="icon"><use xlink:href="/v1.5/img/icons.svg#github"/></svg></a>
|
||
<a class=channel title="如果您想深入了解 Istio 的技术细节,请查看我们日益完善的设计文档" href=https://groups.google.com/forum/#!forum/istio-team-drive-access aria-label="team drive"><span>drive</span><svg class="icon"><use xlink:href="/v1.5/img/icons.svg#drive"/></svg></a>
|
||
<a class=channel title="如果您想为 Istio 项目做出贡献,请考虑加入我们的工作组" href=https://github.com/istio/community/blob/master/WORKING-GROUPS.md aria-label="working groups"><span>working groups</span><svg class="icon"><use xlink:href="/v1.5/img/icons.svg#working-groups"/></svg></a><div class=tag>对于开发者</div></div></footer><div id=scroll-to-top-container aria-hidden=true><button id=scroll-to-top title=回到顶部><svg class="icon"><use xlink:href="/v1.5/img/icons.svg#top"/></svg></button></div></body></html> |