{"id":43652,"date":"2023-12-11T12:05:21","date_gmt":"2023-05-01T10:28:23","guid":{"rendered":"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8-istio%e3%80%81prometheus-%e5%92%8c-zipkin-%e8%bf%9b%e8%a1%8c%e5%af%b9%e5%be%ae%e6%9c%8d%e5%8a%a1%e7%9a%84%e7%9b%91%e6%8e%a7%e5%92%8c%e5%88%86%e5%b8%83%e5%bc%8f%e8%bf%bd%e8%b8%aa\/"},"modified":"2025-07-30T05:02:22","modified_gmt":"2025-07-29T21:02:22","slug":"%e4%bd%bf%e7%94%a8-istio%e3%80%81prometheus-%e5%92%8c-zipkin-%e8%bf%9b%e8%a1%8c%e5%af%b9%e5%be%ae%e6%9c%8d%e5%8a%a1%e7%9a%84%e7%9b%91%e6%8e%a7%e5%92%8c%e5%88%86%e5%b8%83%e5%bc%8f%e8%bf%bd%e8%b8%aa","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8-istio%e3%80%81prometheus-%e5%92%8c-zipkin-%e8%bf%9b%e8%a1%8c%e5%af%b9%e5%be%ae%e6%9c%8d%e5%8a%a1%e7%9a%84%e7%9b%91%e6%8e%a7%e5%92%8c%e5%88%86%e5%b8%83%e5%bc%8f%e8%bf%bd%e8%b8%aa\/","title":{"rendered":"\u4f7f\u7528 Istio\u3001Prometheus \u548c Zipkin \u8fdb\u884c\u5bf9\u5fae\u670d\u52a1\u7684\u76d1\u63a7\u548c\u5206\u5e03\u5f0f\u8ffd\u8e2a"},"content":{"rendered":"<p>\u6211\u4f7f\u7528Istio\u3001Prometheus\u548cZipkin\u6765\u76d1\u63a7\u548c\u6d4b\u8bd5Kubernetes\u96c6\u7fa4\u4e0a\u7684\u5fae\u670d\u52a1\u5206\u5e03\u5f0f\u8ffd\u8e2a\u3002\u8be5Kubernetes\u96c6\u7fa4\u662f\u5728IBM Cloud\u4e0a\u642d\u5efa\u7684\u3002<\/p>\n<p>Istio\u662f\u7531Google\u3001IBM\u548cLyft\u5f00\u53d1\uff0c\u5e76\u4e8e2017\u5e745\u6708\u5f00\u6e90\u7684\u8f6f\u4ef6\u3002\u5b83\u901a\u8fc7\u7edf\u4e00\u7684\u673a\u5236\u6765\u63a7\u5236\u5fae\u670d\u52a1\u4e4b\u95f4\u7684\u901a\u4fe1\uff0c\u4ee5\u5b9e\u73b0\u79f0\u4e3a&#8221;\u670d\u52a1\u7f51\u683c&#8221;\u7684\u529f\u80fd\u3002\u901a\u8fc7Istio\uff0c\u53ef\u4ee5\u5b9e\u73b0\u7ec6\u7c92\u5ea6\u7684\u5b89\u5168\u4fdd\u969c\u3001\u6d41\u91cf\u63a7\u5236\u3001\u6545\u969c\u8f6c\u79fb\u3001\u84dd\/\u7eff\u90e8\u7f72\u548c\u91d1\u4e1d\u96c0\u53d1\u5e03\u7b49\u529f\u80fd\u3002<\/p>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d53c837434c4406cd09c9\/2-0.png\" alt=\"istio.png\" \/><\/div>\n<h1>\u521b\u5efa\u548c\u914d\u7f6eKubernetes\u96c6\u7fa4<\/h1>\n<p>\u5728\u521b\u5efaIBM Cloud\u5e10\u6237\u540e\uff0c\u4ece\u4ee5\u4e0b\u94fe\u63a5\u4e2d\u70b9\u51fb[\u521b\u5efa\u96c6\u7fa4]\u3002<br \/>\nhttps:\/\/console.bluemix.net\/containers-kubernetes\/overview<\/p>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d53c837434c4406cd09c9\/5-0.png\" alt=\"Screen Shot 2018-05-18 at 13.52.00-fullpage.png\" \/><\/div>\n<p>\u5728\u8fd9\u91cc\uff0c\u6211\u4eec\u4f7f\u7528\u4ee5\u4e0b\u89c4\u683c\u8fdb\u884c\u4e86\u521b\u5efa\u3002\u5728IBM Cloud\u7684\u60c5\u51b5\u4e0b\uff0c\u60a8\u53ef\u4ee5\u9009\u62e9\u4f7f\u7528\u5de5\u4f5c\u8282\u70b9\u4f5c\u4e3a\u865a\u62df\u670d\u52a1\u5668\uff0c\u4e5f\u53ef\u4ee5\u9009\u62e9\u4f7f\u7528\u88f8\u91d1\u5c5e\u670d\u52a1\u5668\u3002<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u9818\u57df\uff1a\u6771\u4eac<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u30af\u30e9\u30b9\u30bf\u30fc\u30fb\u30bf\u30a4\u30d7\uff1a\u6a19\u6e96<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u30ed\u30b1\u30fc\u30b7\u30e7\u30f3\uff1atok02<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Kubernetes\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\uff1a1.9.7<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u30cf\u30fc\u30c9\u30a6\u30a7\u30a2\u306e\u5206\u96e2\uff1a\u4eee\u60f3-\u5171\u6709 u2c.2&#215;4 (2 CPU, 4 GB RAM)<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u30ed\u30fc\u30ab\u30eb\u30c7\u30a3\u30b9\u30af\u306e\u6697\u53f7\u5316\uff1aYes<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u30ef\u30fc\u30ab\u30fc\u30ce\u30fc\u30c9\uff1a3<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u30d7\u30e9\u30a4\u30d9\u30fc\u30c8VLAN\uff1a\u4efb\u610f\u306eVLAN\u3092\u9078\u629e<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u30d1\u30d6\u30ea\u30c3\u30afVLAN\uff1a\u4efb\u610f\u306eVLAN\u3092\u9078\u629e<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\u30af\u30e9\u30b9\u30bf\u30fc\u540d\uff1amycluster<\/ul>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d53c837434c4406cd09c9\/8-0.png\" alt=\"Screen Shot 2018-05-18 at 13.48.23-fullpage.png\" \/><\/div>\n<p>\u5927\u7ea6\u9700\u89815\u5206\u949f\u65f6\u95f4\u6765\u90e8\u7f72\u96c6\u7fa4\u3002<\/p>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d53c837434c4406cd09c9\/10-0.png\" alt=\"Screen Shot 2018-05-18 at 14.04.35-fullpage.png\" \/><\/div>\n<p>\u786e\u8ba4\u5df2\u521b\u5efa\u7684mycluster\u96c6\u7fa4\u7684\u5de5\u4f5c\u8282\u70b9\u3002<\/p>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d53c837434c4406cd09c9\/12-0.png\" alt=\"Screen Shot 2018-05-18 at 14.08.58-fullpage.png\" \/><\/div>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d53c837434c4406cd09c9\/13-0.png\" alt=\"Screen Shot 2018-05-22 at 10.49.16-fullpage.png\" \/><\/div>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d53c837434c4406cd09c9\/14-0.png\" alt=\"Screen Shot 2018-05-22 at 10.56.02-fullpage.png\" \/><\/div>\n<p>\u6211\u4eec\u53ef\u4ee5\u770b\u5230\u6bcf\u4e2a\u5de5\u4f5c\u8282\u70b9\u90fd\u5206\u914d\u4e86\u79c1\u6709IP\u548c\u516c\u5171IP\u3002<\/p>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d53c837434c4406cd09c9\/16-0.png\" alt=\"Screen Shot 2018-05-18 at 14.10.46-fullpage.png\" \/><\/div>\n<p>\u70b9\u51fb[Kubernetes\u4eea\u8868\u677f]\u540e\uff0c\u60a8\u4e5f\u53ef\u4ee5\u4f7f\u7528\u6807\u51c6\u7684Kubernetes\u63a7\u5236\u53f0\u3002<\/p>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d53c837434c4406cd09c9\/18-0.png\" alt=\"Screen Shot 2018-05-18 at 14.17.10-fullpage.png\" \/><\/div>\n<p>\u5b89\u88c5IBM Cloud CLI\u540e\uff0c\u60a8\u8fd8\u53ef\u4ee5\u4f7f\u7528Kubernetes CLI\u8fdb\u884c\u64cd\u4f5c\u3002\u6709\u5173\u8be6\u7ec6\u4fe1\u606f\uff0c\u8bf7\u53c2\u8003kubectl\u901f\u67e5\u8868\u3002<\/p>\n<pre class=\"post-pre\"><code>$ bx login -sso -a https:\/\/api.au-syd.bluemix.net\r\n$ bx cs region-set ap-north\r\n$ bx cs cluster-config mycluster\r\n$ export KUBECONFIG=\/Users\/ibm\/.bluemix\/plugins\/container-service\/clusters\/mycluster\/kube-config-tok02-mycluster.yml\r\n\r\n$ kubectl get nodes\r\nNAME            STATUS    AGE       VERSION\r\n10.129.50.227   Ready     30m       v1.9.7-2+231cc32d0a1119\r\n10.129.50.230   Ready     32m       v1.9.7-2+231cc32d0a1119\r\n10.129.50.231   Ready     31m       v1.9.7-2+231cc32d0a1119\r\n\r\n$ kubectl get services\r\nNAME         CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE\r\nkubernetes   172.21.0.1   &lt;none&gt;        443\/TCP   42m\r\n<\/code><\/pre>\n<h1>\u5b89\u88c5Istio<\/h1>\n<p>\u5728\u53c2\u8003Istio\uff1a\u5fae\u670d\u52a1\u7684\u6d41\u91cf\u7ba1\u7406\u4e00\u4e66\u4e2d\uff0c\u5c06Istio\u5b89\u88c5\u5230\u793a\u4f8b\u5e94\u7528\u7a0b\u5e8f\u7684bookinfo\u4e2d\uff0c\u4ee5\u4fbf\u7ba1\u7406\u6d41\u91cf\u3002\u6574\u4f53\u60c5\u51b5\u5982\u4e0b\u56fe\u6240\u793a\u3002<\/p>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d53c837434c4406cd09c9\/23-0.png\" alt=\"istio-architecture.png\" \/><\/div>\n<p>\u521b\u5efa\u4e00\u4e2a\u5de5\u4f5c\u76ee\u5f55\uff0c\u5c06\u4ed3\u5e93\u514b\u9686\u5230\u5ba2\u6237\u7aef\u5e76\u4e0b\u8f7dIstio\u3002<\/p>\n<pre class=\"post-pre\"><code>$ mkdir ibm\r\n$ cd ibm\r\n$ git clone https:\/\/github.com\/IBM\/traffic-management-for-your-microservices-using-istio.git demo\r\n<\/code><\/pre>\n<p>\u4e0b\u8f7d\u6700\u65b0\u7248\u672c\u7684Istio\uff08istio-0.7.1-osx.tar.gz\uff09\u7ed9\u5ba2\u6237\u7aef\u3002<\/p>\n<pre class=\"post-pre\"><code>$ curl -L https:\/\/git.io\/getLatestIstio | sh -\r\n  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current\r\n                                 Dload  Upload   Total   Spent    Left  Speed\r\n  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0\r\n100  1448  100  1448    0     0   1290      0  0:00:01  0:00:01 --:--:--  1290\r\nDownloading istio-0.7.1 from https:\/\/github.com\/istio\/istio\/releases\/download\/0.7.1\/istio-0.7.1-osx.tar.gz ...\r\n  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current\r\n                                 Dload  Upload   Total   Spent    Left  Speed\r\n100   612    0   612    0     0    696      0 --:--:-- --:--:-- --:--:--   754\r\n100 11.2M  100 11.2M    0     0   417k      0  0:00:27  0:00:27 --:--:--  374k\r\nDownloaded into istio-0.7.1:\r\nLICENSE     bin     istio.VERSION   tools\r\nREADME.md   install     samples\r\nAdd \/Users\/asasaki\/ibm\/istio-0.7.1\/bin to your path; e.g copy paste in your shell and\/or ~\/.profile:\r\nexport PATH=\"$PATH:\/Users\/asasaki\/ibm\/istio-0.7.1\/bin\"\r\n$ mv istio-0.7.1 istio\r\n$ export PATH=$PWD\/istio\/bin:$PATH\r\n<\/code><\/pre>\n<p>\u5728\u4e4b\u524d\u7684\u6b65\u9aa4\u4e2d\uff0c\u5728IBM Cloud\u4e0a\u90e8\u7f72\u5df2\u521b\u5efa\u7684Kubernetes\u96c6\u7fa4\u4e0a\u90e8\u7f72Istio\u3002<\/p>\n<pre class=\"post-pre\"><code>$ kubectl apply -f istio\/install\/kubernetes\/istio.yaml\r\nnamespace \"istio-system\" created\r\nclusterrole \"istio-pilot-istio-system\" created\r\nclusterrole \"istio-sidecar-injector-istio-system\" created\r\nclusterrole \"istio-mixer-istio-system\" created\r\nclusterrole \"istio-mixer-validator-istio-system\" created\r\nclusterrole \"istio-ca-istio-system\" created\r\nclusterrole \"istio-sidecar-istio-system\" created\r\nclusterrolebinding \"istio-pilot-admin-role-binding-istio-system\" created\r\nclusterrolebinding \"istio-sidecar-injector-admin-role-binding-istio-system\" created\r\nclusterrolebinding \"istio-ca-role-binding-istio-system\" created\r\nclusterrolebinding \"istio-ingress-admin-role-binding-istio-system\" created\r\nclusterrolebinding \"istio-sidecar-role-binding-istio-system\" created\r\nclusterrolebinding \"istio-mixer-admin-role-binding-istio-system\" created\r\nclusterrolebinding \"istio-mixer-validator-admin-role-binding-istio-system\" created\r\nconfigmap \"istio-mixer\" created\r\nservice \"istio-mixer\" created\r\nserviceaccount \"istio-mixer-service-account\" created\r\ndeployment \"istio-mixer\" created\r\ncustomresourcedefinition \"rules.config.istio.io\" created\r\ncustomresourcedefinition \"attributemanifests.config.istio.io\" created\r\ncustomresourcedefinition \"circonuses.config.istio.io\" created\r\ncustomresourcedefinition \"deniers.config.istio.io\" created\r\ncustomresourcedefinition \"fluentds.config.istio.io\" created\r\ncustomresourcedefinition \"kubernetesenvs.config.istio.io\" created\r\ncustomresourcedefinition \"listcheckers.config.istio.io\" created\r\ncustomresourcedefinition \"memquotas.config.istio.io\" created\r\ncustomresourcedefinition \"noops.config.istio.io\" created\r\ncustomresourcedefinition \"opas.config.istio.io\" created\r\ncustomresourcedefinition \"prometheuses.config.istio.io\" created\r\ncustomresourcedefinition \"rbacs.config.istio.io\" created\r\ncustomresourcedefinition \"servicecontrols.config.istio.io\" created\r\ncustomresourcedefinition \"solarwindses.config.istio.io\" created\r\ncustomresourcedefinition \"stackdrivers.config.istio.io\" created\r\ncustomresourcedefinition \"statsds.config.istio.io\" created\r\ncustomresourcedefinition \"stdios.config.istio.io\" created\r\ncustomresourcedefinition \"apikeys.config.istio.io\" created\r\ncustomresourcedefinition \"authorizations.config.istio.io\" created\r\ncustomresourcedefinition \"checknothings.config.istio.io\" created\r\ncustomresourcedefinition \"kuberneteses.config.istio.io\" created\r\ncustomresourcedefinition \"listentries.config.istio.io\" created\r\ncustomresourcedefinition \"logentries.config.istio.io\" created\r\ncustomresourcedefinition \"metrics.config.istio.io\" created\r\ncustomresourcedefinition \"quotas.config.istio.io\" created\r\ncustomresourcedefinition \"reportnothings.config.istio.io\" created\r\ncustomresourcedefinition \"servicecontrolreports.config.istio.io\" created\r\ncustomresourcedefinition \"tracespans.config.istio.io\" created\r\ncustomresourcedefinition \"serviceroles.config.istio.io\" created\r\ncustomresourcedefinition \"servicerolebindings.config.istio.io\" created\r\nattributemanifest \"istioproxy\" created\r\nattributemanifest \"kubernetes\" created\r\nstdio \"handler\" created\r\nlogentry \"accesslog\" created\r\nrule \"stdio\" created\r\nmetric \"requestcount\" created\r\nmetric \"requestduration\" created\r\nmetric \"requestsize\" created\r\nmetric \"responsesize\" created\r\nmetric \"tcpbytesent\" created\r\nmetric \"tcpbytereceived\" created\r\nprometheus \"handler\" created\r\nrule \"promhttp\" created\r\nrule \"promtcp\" created\r\nkubernetesenv \"handler\" created\r\nrule \"kubeattrgenrulerule\" created\r\nrule \"tcpkubeattrgenrulerule\" created\r\nkubernetes \"attributes\" created\r\nconfigmap \"istio\" created\r\ncustomresourcedefinition \"destinationpolicies.config.istio.io\" created\r\ncustomresourcedefinition \"egressrules.config.istio.io\" created\r\ncustomresourcedefinition \"routerules.config.istio.io\" created\r\ncustomresourcedefinition \"virtualservices.networking.istio.io\" created\r\ncustomresourcedefinition \"destinationrules.networking.istio.io\" created\r\ncustomresourcedefinition \"externalservices.networking.istio.io\" created\r\nservice \"istio-pilot\" created\r\nserviceaccount \"istio-pilot-service-account\" created\r\ndeployment \"istio-pilot\" created\r\nservice \"istio-ingress\" created\r\nserviceaccount \"istio-ingress-service-account\" created\r\ndeployment \"istio-ingress\" created\r\nserviceaccount \"istio-ca-service-account\" created\r\ndeployment \"istio-ca\" created\r\n<\/code><\/pre>\n<p>istilo.yaml\u6587\u4ef6\u5982\u4e0b\u6240\u793a\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"s\">$ cat istio\/install\/kubernetes\/istio.yaml<\/span>\r\n<span class=\"c1\"># GENERATED FILE. Use with Kubernetes 1.5+<\/span>\r\n<span class=\"c1\"># TO UPDATE, modify files in install\/kubernetes\/templates and run install\/updateVersion.sh<\/span>\r\n<span class=\"c1\"># Mixer<\/span>\r\n<span class=\"na\">apiVersion<\/span><span class=\"pi\">:<\/span> <span class=\"s\">v1<\/span>\r\n<span class=\"na\">kind<\/span><span class=\"pi\">:<\/span> <span class=\"s\">Service<\/span>\r\n<span class=\"na\">metadata<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">istio-mixer<\/span>\r\n  <span class=\"na\">labels<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"na\">istio<\/span><span class=\"pi\">:<\/span> <span class=\"s\">mixer<\/span>\r\n<span class=\"na\">spec<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">ports<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"pi\">-<\/span> <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">tcp<\/span>\r\n    <span class=\"na\">port<\/span><span class=\"pi\">:<\/span> <span class=\"m\">9091<\/span>\r\n  <span class=\"pi\">-<\/span> <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">configapi<\/span>\r\n    <span class=\"na\">port<\/span><span class=\"pi\">:<\/span> <span class=\"m\">9094<\/span>\r\n  <span class=\"pi\">-<\/span> <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">prometheus<\/span>\r\n    <span class=\"na\">port<\/span><span class=\"pi\">:<\/span> <span class=\"m\">42422<\/span>\r\n  <span class=\"na\">selector<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"na\">istio<\/span><span class=\"pi\">:<\/span> <span class=\"s\">mixer<\/span>\r\n<span class=\"nn\">---<\/span>\r\n<span class=\"na\">apiVersion<\/span><span class=\"pi\">:<\/span> <span class=\"s\">extensions\/v1beta1<\/span>\r\n<span class=\"na\">kind<\/span><span class=\"pi\">:<\/span> <span class=\"s\">Deployment<\/span>\r\n<span class=\"na\">metadata<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">istio-mixer<\/span>\r\n<span class=\"na\">spec<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">replicas<\/span><span class=\"pi\">:<\/span> <span class=\"m\">1<\/span>\r\n  <span class=\"na\">template<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"na\">metadata<\/span><span class=\"pi\">:<\/span>\r\n      <span class=\"na\">annotations<\/span><span class=\"pi\">:<\/span>\r\n        <span class=\"s\">alpha.istio.io\/sidecar<\/span><span class=\"pi\">:<\/span> <span class=\"s\">ignore<\/span>\r\n      <span class=\"na\">labels<\/span><span class=\"pi\">:<\/span>\r\n        <span class=\"na\">istio<\/span><span class=\"pi\">:<\/span> <span class=\"s\">mixer<\/span>\r\n    <span class=\"na\">spec<\/span><span class=\"pi\">:<\/span>\r\n      <span class=\"na\">containers<\/span><span class=\"pi\">:<\/span>\r\n      <span class=\"pi\">-<\/span> <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">mixer<\/span>\r\n        <span class=\"na\">image<\/span><span class=\"pi\">:<\/span> <span class=\"s\">docker.io\/istio\/mixer:0.1.6<\/span>\r\n        <span class=\"na\">imagePullPolicy<\/span><span class=\"pi\">:<\/span> <span class=\"s\">Always<\/span>\r\n        <span class=\"na\">ports<\/span><span class=\"pi\">:<\/span>\r\n        <span class=\"pi\">-<\/span> <span class=\"na\">containerPort<\/span><span class=\"pi\">:<\/span> <span class=\"m\">9091<\/span>\r\n        <span class=\"pi\">-<\/span> <span class=\"na\">containerPort<\/span><span class=\"pi\">:<\/span> <span class=\"m\">9094<\/span>\r\n        <span class=\"pi\">-<\/span> <span class=\"na\">containerPort<\/span><span class=\"pi\">:<\/span> <span class=\"m\">42422<\/span>\r\n        <span class=\"na\">args<\/span><span class=\"pi\">:<\/span>\r\n          <span class=\"pi\">-<\/span> <span class=\"s\">--configStoreURL=fs:\/\/\/etc\/opt\/mixer\/configroot<\/span>\r\n          <span class=\"pi\">-<\/span> <span class=\"s\">--logtostderr<\/span>\r\n          <span class=\"pi\">-<\/span> <span class=\"s\">-v<\/span>\r\n          <span class=\"pi\">-<\/span> <span class=\"s2\">\"<\/span><span class=\"s\">3\"<\/span>\r\n<span class=\"nn\">---<\/span>\r\n<span class=\"c1\"># Pilot service for discovery<\/span>\r\n<span class=\"na\">apiVersion<\/span><span class=\"pi\">:<\/span> <span class=\"s\">v1<\/span>\r\n<span class=\"na\">kind<\/span><span class=\"pi\">:<\/span> <span class=\"s\">ConfigMap<\/span>\r\n<span class=\"na\">metadata<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">istio<\/span>\r\n<span class=\"na\">data<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">mesh<\/span><span class=\"pi\">:<\/span> <span class=\"pi\">|-<\/span>\r\n    <span class=\"s\"># Uncomment the following line to enable mutual TLS between proxies<\/span>\r\n    <span class=\"s\"># authPolicy: MUTUAL_TLS<\/span>\r\n    <span class=\"s\">mixerAddress: istio-mixer:9091<\/span>\r\n    <span class=\"s\">discoveryAddress: istio-pilot:8080<\/span>\r\n    <span class=\"s\">ingressService: istio-ingress<\/span>\r\n    <span class=\"s\">zipkinAddress: zipkin:9411<\/span>\r\n<span class=\"s\">---<\/span>\r\n<span class=\"na\">apiVersion<\/span><span class=\"pi\">:<\/span> <span class=\"s\">v1<\/span>\r\n<span class=\"na\">kind<\/span><span class=\"pi\">:<\/span> <span class=\"s\">Service<\/span>\r\n<span class=\"na\">metadata<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">istio-pilot<\/span>\r\n  <span class=\"na\">labels<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"na\">istio<\/span><span class=\"pi\">:<\/span> <span class=\"s\">pilot<\/span>\r\n<span class=\"na\">spec<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">ports<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"pi\">-<\/span> <span class=\"na\">port<\/span><span class=\"pi\">:<\/span> <span class=\"m\">8080<\/span>\r\n    <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">http-discovery<\/span>\r\n  <span class=\"pi\">-<\/span> <span class=\"na\">port<\/span><span class=\"pi\">:<\/span> <span class=\"m\">8081<\/span>\r\n    <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">http-apiserver<\/span>\r\n  <span class=\"na\">selector<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"na\">istio<\/span><span class=\"pi\">:<\/span> <span class=\"s\">pilot<\/span>\r\n<span class=\"nn\">---<\/span>\r\n<span class=\"na\">apiVersion<\/span><span class=\"pi\">:<\/span> <span class=\"s\">v1<\/span>\r\n<span class=\"na\">kind<\/span><span class=\"pi\">:<\/span> <span class=\"s\">ServiceAccount<\/span>\r\n<span class=\"na\">metadata<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">istio-pilot-service-account<\/span>\r\n<span class=\"nn\">---<\/span>\r\n<span class=\"na\">apiVersion<\/span><span class=\"pi\">:<\/span> <span class=\"s\">extensions\/v1beta1<\/span>\r\n<span class=\"na\">kind<\/span><span class=\"pi\">:<\/span> <span class=\"s\">Deployment<\/span>\r\n<span class=\"na\">metadata<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">istio-pilot<\/span>\r\n<span class=\"na\">spec<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">replicas<\/span><span class=\"pi\">:<\/span> <span class=\"m\">1<\/span>\r\n  <span class=\"na\">template<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"na\">metadata<\/span><span class=\"pi\">:<\/span>\r\n      <span class=\"na\">annotations<\/span><span class=\"pi\">:<\/span>\r\n        <span class=\"s\">alpha.istio.io\/sidecar<\/span><span class=\"pi\">:<\/span> <span class=\"s\">ignore<\/span>\r\n      <span class=\"na\">labels<\/span><span class=\"pi\">:<\/span>\r\n        <span class=\"na\">istio<\/span><span class=\"pi\">:<\/span> <span class=\"s\">pilot<\/span>\r\n    <span class=\"na\">spec<\/span><span class=\"pi\">:<\/span>\r\n      <span class=\"na\">serviceAccountName<\/span><span class=\"pi\">:<\/span> <span class=\"s\">istio-pilot-service-account<\/span>\r\n      <span class=\"na\">containers<\/span><span class=\"pi\">:<\/span>\r\n      <span class=\"pi\">-<\/span> <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">discovery<\/span>\r\n        <span class=\"na\">image<\/span><span class=\"pi\">:<\/span> <span class=\"s\">docker.io\/istio\/pilot:0.1.6<\/span>\r\n        <span class=\"na\">imagePullPolicy<\/span><span class=\"pi\">:<\/span> <span class=\"s\">Always<\/span>\r\n        <span class=\"na\">args<\/span><span class=\"pi\">:<\/span> <span class=\"pi\">[<\/span><span class=\"s2\">\"<\/span><span class=\"s\">discovery\"<\/span><span class=\"pi\">,<\/span> <span class=\"s2\">\"<\/span><span class=\"s\">-v\"<\/span><span class=\"pi\">,<\/span> <span class=\"s2\">\"<\/span><span class=\"s\">2\"<\/span><span class=\"pi\">]<\/span>\r\n        <span class=\"na\">ports<\/span><span class=\"pi\">:<\/span>\r\n        <span class=\"pi\">-<\/span> <span class=\"na\">containerPort<\/span><span class=\"pi\">:<\/span> <span class=\"m\">8080<\/span>\r\n        <span class=\"na\">env<\/span><span class=\"pi\">:<\/span>\r\n        <span class=\"pi\">-<\/span> <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">POD_NAMESPACE<\/span>\r\n          <span class=\"na\">valueFrom<\/span><span class=\"pi\">:<\/span>\r\n            <span class=\"na\">fieldRef<\/span><span class=\"pi\">:<\/span>\r\n              <span class=\"na\">apiVersion<\/span><span class=\"pi\">:<\/span> <span class=\"s\">v1<\/span>\r\n              <span class=\"na\">fieldPath<\/span><span class=\"pi\">:<\/span> <span class=\"s\">metadata.namespace<\/span>\r\n      <span class=\"pi\">-<\/span> <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">apiserver<\/span>\r\n        <span class=\"na\">image<\/span><span class=\"pi\">:<\/span> <span class=\"s\">docker.io\/istio\/pilot:0.1.6<\/span>\r\n        <span class=\"na\">imagePullPolicy<\/span><span class=\"pi\">:<\/span> <span class=\"s\">Always<\/span>\r\n        <span class=\"na\">args<\/span><span class=\"pi\">:<\/span> <span class=\"pi\">[<\/span><span class=\"s2\">\"<\/span><span class=\"s\">apiserver\"<\/span><span class=\"pi\">,<\/span> <span class=\"s2\">\"<\/span><span class=\"s\">-v\"<\/span><span class=\"pi\">,<\/span> <span class=\"s2\">\"<\/span><span class=\"s\">2\"<\/span><span class=\"pi\">]<\/span>\r\n        <span class=\"na\">ports<\/span><span class=\"pi\">:<\/span>\r\n        <span class=\"pi\">-<\/span> <span class=\"na\">containerPort<\/span><span class=\"pi\">:<\/span> <span class=\"m\">8081<\/span>\r\n        <span class=\"na\">env<\/span><span class=\"pi\">:<\/span>\r\n        <span class=\"pi\">-<\/span> <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">POD_NAMESPACE<\/span>\r\n          <span class=\"na\">valueFrom<\/span><span class=\"pi\">:<\/span>\r\n            <span class=\"na\">fieldRef<\/span><span class=\"pi\">:<\/span>\r\n              <span class=\"na\">apiVersion<\/span><span class=\"pi\">:<\/span> <span class=\"s\">v1<\/span>\r\n              <span class=\"na\">fieldPath<\/span><span class=\"pi\">:<\/span> <span class=\"s\">metadata.namespace<\/span>\r\n<span class=\"nn\">---<\/span>\r\n<span class=\"c1\">################################<\/span>\r\n<span class=\"c1\"># Istio ingress controller<\/span>\r\n<span class=\"c1\">################################<\/span>\r\n<span class=\"na\">apiVersion<\/span><span class=\"pi\">:<\/span> <span class=\"s\">v1<\/span>\r\n<span class=\"na\">kind<\/span><span class=\"pi\">:<\/span> <span class=\"s\">Service<\/span>\r\n<span class=\"na\">metadata<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">istio-ingress<\/span>\r\n  <span class=\"na\">labels<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"na\">istio<\/span><span class=\"pi\">:<\/span> <span class=\"s\">ingress<\/span>\r\n<span class=\"na\">spec<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">type<\/span><span class=\"pi\">:<\/span> <span class=\"s\">LoadBalancer<\/span>\r\n  <span class=\"na\">ports<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"pi\">-<\/span> <span class=\"na\">port<\/span><span class=\"pi\">:<\/span> <span class=\"m\">80<\/span>\r\n<span class=\"c1\">#   nodePort: 32000<\/span>\r\n    <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">http<\/span>\r\n  <span class=\"pi\">-<\/span> <span class=\"na\">port<\/span><span class=\"pi\">:<\/span> <span class=\"m\">443<\/span>\r\n    <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">https<\/span>\r\n  <span class=\"na\">selector<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"na\">istio<\/span><span class=\"pi\">:<\/span> <span class=\"s\">ingress<\/span>\r\n<span class=\"nn\">---<\/span>\r\n<span class=\"na\">apiVersion<\/span><span class=\"pi\">:<\/span> <span class=\"s\">v1<\/span>\r\n<span class=\"na\">kind<\/span><span class=\"pi\">:<\/span> <span class=\"s\">ServiceAccount<\/span>\r\n<span class=\"na\">metadata<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">istio-ingress-service-account<\/span>\r\n<span class=\"nn\">---<\/span>\r\n<span class=\"na\">apiVersion<\/span><span class=\"pi\">:<\/span> <span class=\"s\">extensions\/v1beta1<\/span>\r\n<span class=\"na\">kind<\/span><span class=\"pi\">:<\/span> <span class=\"s\">Deployment<\/span>\r\n<span class=\"na\">metadata<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">istio-ingress<\/span>\r\n<span class=\"na\">spec<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">replicas<\/span><span class=\"pi\">:<\/span> <span class=\"m\">1<\/span>\r\n  <span class=\"na\">template<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"na\">metadata<\/span><span class=\"pi\">:<\/span>\r\n      <span class=\"na\">annotations<\/span><span class=\"pi\">:<\/span>\r\n        <span class=\"s\">alpha.istio.io\/sidecar<\/span><span class=\"pi\">:<\/span> <span class=\"s\">ignore<\/span>\r\n      <span class=\"na\">labels<\/span><span class=\"pi\">:<\/span>\r\n        <span class=\"na\">istio<\/span><span class=\"pi\">:<\/span> <span class=\"s\">ingress<\/span>\r\n    <span class=\"na\">spec<\/span><span class=\"pi\">:<\/span>\r\n      <span class=\"na\">serviceAccountName<\/span><span class=\"pi\">:<\/span> <span class=\"s\">istio-ingress-service-account<\/span>\r\n      <span class=\"na\">containers<\/span><span class=\"pi\">:<\/span>\r\n      <span class=\"pi\">-<\/span> <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">istio-ingress<\/span>\r\n        <span class=\"na\">image<\/span><span class=\"pi\">:<\/span> <span class=\"s\">docker.io\/istio\/proxy_debug:0.1.6<\/span>\r\n        <span class=\"na\">args<\/span><span class=\"pi\">:<\/span> <span class=\"pi\">[<\/span><span class=\"s2\">\"<\/span><span class=\"s\">proxy\"<\/span><span class=\"pi\">,<\/span> <span class=\"s2\">\"<\/span><span class=\"s\">ingress\"<\/span><span class=\"pi\">,<\/span> <span class=\"s2\">\"<\/span><span class=\"s\">-v\"<\/span><span class=\"pi\">,<\/span> <span class=\"s2\">\"<\/span><span class=\"s\">2\"<\/span><span class=\"pi\">]<\/span>\r\n        <span class=\"na\">imagePullPolicy<\/span><span class=\"pi\">:<\/span> <span class=\"s\">Always<\/span>\r\n        <span class=\"na\">ports<\/span><span class=\"pi\">:<\/span>\r\n        <span class=\"pi\">-<\/span> <span class=\"na\">containerPort<\/span><span class=\"pi\">:<\/span> <span class=\"m\">80<\/span>\r\n        <span class=\"pi\">-<\/span> <span class=\"na\">containerPort<\/span><span class=\"pi\">:<\/span> <span class=\"m\">443<\/span>\r\n        <span class=\"na\">env<\/span><span class=\"pi\">:<\/span>\r\n        <span class=\"pi\">-<\/span> <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">POD_NAMESPACE<\/span>\r\n          <span class=\"na\">valueFrom<\/span><span class=\"pi\">:<\/span>\r\n            <span class=\"na\">fieldRef<\/span><span class=\"pi\">:<\/span>\r\n              <span class=\"na\">apiVersion<\/span><span class=\"pi\">:<\/span> <span class=\"s\">v1<\/span>\r\n              <span class=\"na\">fieldPath<\/span><span class=\"pi\">:<\/span> <span class=\"s\">metadata.namespace<\/span>\r\n<span class=\"nn\">---<\/span>\r\n\r\n<span class=\"c1\">################################<\/span>\r\n<span class=\"c1\"># Istio egress envoy<\/span>\r\n<span class=\"c1\">################################<\/span>\r\n<span class=\"na\">apiVersion<\/span><span class=\"pi\">:<\/span> <span class=\"s\">v1<\/span>\r\n<span class=\"na\">kind<\/span><span class=\"pi\">:<\/span> <span class=\"s\">Service<\/span>\r\n<span class=\"na\">metadata<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">istio-egress<\/span>\r\n<span class=\"na\">spec<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">ports<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"pi\">-<\/span> <span class=\"na\">port<\/span><span class=\"pi\">:<\/span> <span class=\"m\">80<\/span>\r\n  <span class=\"na\">selector<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"na\">istio<\/span><span class=\"pi\">:<\/span> <span class=\"s\">egress<\/span>\r\n<span class=\"nn\">---<\/span>\r\n<span class=\"na\">apiVersion<\/span><span class=\"pi\">:<\/span> <span class=\"s\">extensions\/v1beta1<\/span>\r\n<span class=\"na\">kind<\/span><span class=\"pi\">:<\/span> <span class=\"s\">Deployment<\/span>\r\n<span class=\"na\">metadata<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">istio-egress<\/span>\r\n<span class=\"na\">spec<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">replicas<\/span><span class=\"pi\">:<\/span> <span class=\"m\">1<\/span>\r\n  <span class=\"na\">template<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"na\">metadata<\/span><span class=\"pi\">:<\/span>\r\n      <span class=\"na\">labels<\/span><span class=\"pi\">:<\/span>\r\n        <span class=\"na\">istio<\/span><span class=\"pi\">:<\/span> <span class=\"s\">egress<\/span>\r\n    <span class=\"na\">spec<\/span><span class=\"pi\">:<\/span>\r\n      <span class=\"na\">containers<\/span><span class=\"pi\">:<\/span>\r\n      <span class=\"pi\">-<\/span> <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">proxy<\/span>\r\n        <span class=\"na\">image<\/span><span class=\"pi\">:<\/span> <span class=\"s\">docker.io\/istio\/proxy_debug:0.1.6<\/span>\r\n        <span class=\"na\">imagePullPolicy<\/span><span class=\"pi\">:<\/span> <span class=\"s\">Always<\/span>\r\n        <span class=\"na\">args<\/span><span class=\"pi\">:<\/span> <span class=\"pi\">[<\/span><span class=\"s2\">\"<\/span><span class=\"s\">proxy\"<\/span><span class=\"pi\">,<\/span> <span class=\"s2\">\"<\/span><span class=\"s\">egress\"<\/span><span class=\"pi\">,<\/span> <span class=\"s2\">\"<\/span><span class=\"s\">-v\"<\/span><span class=\"pi\">,<\/span> <span class=\"s2\">\"<\/span><span class=\"s\">2\"<\/span><span class=\"pi\">]<\/span>\r\n        <span class=\"na\">env<\/span><span class=\"pi\">:<\/span>\r\n        <span class=\"pi\">-<\/span> <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">POD_NAMESPACE<\/span>\r\n          <span class=\"na\">valueFrom<\/span><span class=\"pi\">:<\/span>\r\n            <span class=\"na\">fieldRef<\/span><span class=\"pi\">:<\/span>\r\n              <span class=\"na\">apiVersion<\/span><span class=\"pi\">:<\/span> <span class=\"s\">v1<\/span>\r\n              <span class=\"na\">fieldPath<\/span><span class=\"pi\">:<\/span> <span class=\"s\">metadata.namespace<\/span>\r\n<span class=\"nn\">---<\/span>\r\n<\/code><\/pre>\n<h1>\u90e8\u7f72\u5e26\u6709Istio Sidecar\u7684\u793a\u4f8b\u5e94\u7528\u7a0b\u5e8fBookInfo\u3002<\/h1>\n<p>\u90e8\u7f72\u793a\u4f8b\u5e94\u7528\u7a0b\u5e8fBookInfo\u3002<\/p>\n<pre class=\"post-pre\"><code>$ kubectl apply -f &lt;(istioctl kube-inject -f istio\/samples\/bookinfo\/kube\/bookinfo.yaml)\r\nservice \"details\" created\r\ndeployment \"details-v1\" created\r\nservice \"ratings\" created\r\ndeployment \"ratings-v1\" created\r\nservice \"reviews\" created\r\ndeployment \"reviews-v1\" created\r\ndeployment \"reviews-v2\" created\r\ndeployment \"reviews-v3\" created\r\nservice \"productpage\" created\r\ndeployment \"productpage-v1\" created\r\ningress \"gateway\" created\r\n<\/code><\/pre>\n<p>\u4ee5\u4e0b\u662f\u4e00\u4e2a\u540d\u4e3aBookInfo\u7684\u793a\u4f8b\u5e94\u7528\u7a0b\u5e8f\uff0c\u5b83\u662f\u7531Python\u3001Java\u3001Ruby\u548cNode.js\u8fd9\u56db\u79cd\u4e0d\u540c\u7684\u7f16\u7a0b\u8bed\u8a00\u7ec4\u6210\u7684\u5fae\u670d\u52a1\u3002bookinfo.yaml\u6587\u4ef6\u7684\u5185\u5bb9\u5982\u4e0b\uff1a<\/p>\n<pre class=\"post-pre\"><code><span class=\"s\">$ cat istio\/samples\/bookinfo\/kube\/bookinfo.yaml<\/span>\r\n<span class=\"c1\"># Copyright 2017 Istio Authors<\/span>\r\n<span class=\"c1\">#<\/span>\r\n<span class=\"c1\">#   Licensed under the Apache License, Version 2.0 (the \"License\");<\/span>\r\n<span class=\"c1\">#   you may not use this file except in compliance with the License.<\/span>\r\n<span class=\"c1\">#   You may obtain a copy of the License at<\/span>\r\n<span class=\"c1\">#<\/span>\r\n<span class=\"c1\">#       http:\/\/www.apache.org\/licenses\/LICENSE-2.0<\/span>\r\n<span class=\"c1\">#<\/span>\r\n<span class=\"c1\">#   Unless required by applicable law or agreed to in writing, software<\/span>\r\n<span class=\"c1\">#   distributed under the License is distributed on an \"AS IS\" BASIS,<\/span>\r\n<span class=\"c1\">#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<\/span>\r\n<span class=\"c1\">#   See the License for the specific language governing permissions and<\/span>\r\n<span class=\"c1\">#   limitations under the License.<\/span>\r\n\r\n<span class=\"c1\">##################################################################################################<\/span>\r\n<span class=\"c1\"># Details service<\/span>\r\n<span class=\"c1\">##################################################################################################<\/span>\r\n<span class=\"na\">apiVersion<\/span><span class=\"pi\">:<\/span> <span class=\"s\">v1<\/span>\r\n<span class=\"na\">kind<\/span><span class=\"pi\">:<\/span> <span class=\"s\">Service<\/span>\r\n<span class=\"na\">metadata<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">details<\/span>\r\n  <span class=\"na\">labels<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"na\">app<\/span><span class=\"pi\">:<\/span> <span class=\"s\">details<\/span>\r\n<span class=\"na\">spec<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">ports<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"pi\">-<\/span> <span class=\"na\">port<\/span><span class=\"pi\">:<\/span> <span class=\"m\">9080<\/span>\r\n    <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">http<\/span>\r\n  <span class=\"na\">selector<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"na\">app<\/span><span class=\"pi\">:<\/span> <span class=\"s\">details<\/span>\r\n<span class=\"nn\">---<\/span>\r\n<span class=\"na\">apiVersion<\/span><span class=\"pi\">:<\/span> <span class=\"s\">extensions\/v1beta1<\/span>\r\n<span class=\"na\">kind<\/span><span class=\"pi\">:<\/span> <span class=\"s\">Deployment<\/span>\r\n<span class=\"na\">metadata<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">details-v1<\/span>\r\n<span class=\"na\">spec<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">replicas<\/span><span class=\"pi\">:<\/span> <span class=\"m\">1<\/span>\r\n  <span class=\"na\">template<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"na\">metadata<\/span><span class=\"pi\">:<\/span>\r\n      <span class=\"na\">labels<\/span><span class=\"pi\">:<\/span>\r\n        <span class=\"na\">app<\/span><span class=\"pi\">:<\/span> <span class=\"s\">details<\/span>\r\n        <span class=\"na\">version<\/span><span class=\"pi\">:<\/span> <span class=\"s\">v1<\/span>\r\n    <span class=\"na\">spec<\/span><span class=\"pi\">:<\/span>\r\n      <span class=\"na\">containers<\/span><span class=\"pi\">:<\/span>\r\n      <span class=\"pi\">-<\/span> <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">details<\/span>\r\n        <span class=\"na\">image<\/span><span class=\"pi\">:<\/span> <span class=\"s\">istio\/examples-bookinfo-details-v1:1.5.0<\/span>\r\n        <span class=\"na\">imagePullPolicy<\/span><span class=\"pi\">:<\/span> <span class=\"s\">IfNotPresent<\/span>\r\n        <span class=\"na\">ports<\/span><span class=\"pi\">:<\/span>\r\n        <span class=\"pi\">-<\/span> <span class=\"na\">containerPort<\/span><span class=\"pi\">:<\/span> <span class=\"m\">9080<\/span>\r\n<span class=\"nn\">---<\/span>\r\n<span class=\"c1\">##################################################################################################<\/span>\r\n<span class=\"c1\"># Ratings service<\/span>\r\n<span class=\"c1\">##################################################################################################<\/span>\r\n<span class=\"na\">apiVersion<\/span><span class=\"pi\">:<\/span> <span class=\"s\">v1<\/span>\r\n<span class=\"na\">kind<\/span><span class=\"pi\">:<\/span> <span class=\"s\">Service<\/span>\r\n<span class=\"na\">metadata<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">ratings<\/span>\r\n  <span class=\"na\">labels<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"na\">app<\/span><span class=\"pi\">:<\/span> <span class=\"s\">ratings<\/span>\r\n<span class=\"na\">spec<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">ports<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"pi\">-<\/span> <span class=\"na\">port<\/span><span class=\"pi\">:<\/span> <span class=\"m\">9080<\/span>\r\n    <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">http<\/span>\r\n  <span class=\"na\">selector<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"na\">app<\/span><span class=\"pi\">:<\/span> <span class=\"s\">ratings<\/span>\r\n<span class=\"nn\">---<\/span>\r\n<span class=\"na\">apiVersion<\/span><span class=\"pi\">:<\/span> <span class=\"s\">extensions\/v1beta1<\/span>\r\n<span class=\"na\">kind<\/span><span class=\"pi\">:<\/span> <span class=\"s\">Deployment<\/span>\r\n<span class=\"na\">metadata<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">ratings-v1<\/span>\r\n<span class=\"na\">spec<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">replicas<\/span><span class=\"pi\">:<\/span> <span class=\"m\">1<\/span>\r\n  <span class=\"na\">template<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"na\">metadata<\/span><span class=\"pi\">:<\/span>\r\n      <span class=\"na\">labels<\/span><span class=\"pi\">:<\/span>\r\n        <span class=\"na\">app<\/span><span class=\"pi\">:<\/span> <span class=\"s\">ratings<\/span>\r\n        <span class=\"na\">version<\/span><span class=\"pi\">:<\/span> <span class=\"s\">v1<\/span>\r\n    <span class=\"na\">spec<\/span><span class=\"pi\">:<\/span>\r\n      <span class=\"na\">containers<\/span><span class=\"pi\">:<\/span>\r\n      <span class=\"pi\">-<\/span> <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">ratings<\/span>\r\n        <span class=\"na\">image<\/span><span class=\"pi\">:<\/span> <span class=\"s\">istio\/examples-bookinfo-ratings-v1:1.5.0<\/span>\r\n        <span class=\"na\">imagePullPolicy<\/span><span class=\"pi\">:<\/span> <span class=\"s\">IfNotPresent<\/span>\r\n        <span class=\"na\">ports<\/span><span class=\"pi\">:<\/span>\r\n        <span class=\"pi\">-<\/span> <span class=\"na\">containerPort<\/span><span class=\"pi\">:<\/span> <span class=\"m\">9080<\/span>\r\n<span class=\"nn\">---<\/span>\r\n<span class=\"c1\">##################################################################################################<\/span>\r\n<span class=\"c1\"># Reviews service<\/span>\r\n<span class=\"c1\">##################################################################################################<\/span>\r\n<span class=\"na\">apiVersion<\/span><span class=\"pi\">:<\/span> <span class=\"s\">v1<\/span>\r\n<span class=\"na\">kind<\/span><span class=\"pi\">:<\/span> <span class=\"s\">Service<\/span>\r\n<span class=\"na\">metadata<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">reviews<\/span>\r\n  <span class=\"na\">labels<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"na\">app<\/span><span class=\"pi\">:<\/span> <span class=\"s\">reviews<\/span>\r\n<span class=\"na\">spec<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">ports<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"pi\">-<\/span> <span class=\"na\">port<\/span><span class=\"pi\">:<\/span> <span class=\"m\">9080<\/span>\r\n    <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">http<\/span>\r\n  <span class=\"na\">selector<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"na\">app<\/span><span class=\"pi\">:<\/span> <span class=\"s\">reviews<\/span>\r\n<span class=\"nn\">---<\/span>\r\n<span class=\"na\">apiVersion<\/span><span class=\"pi\">:<\/span> <span class=\"s\">extensions\/v1beta1<\/span>\r\n<span class=\"na\">kind<\/span><span class=\"pi\">:<\/span> <span class=\"s\">Deployment<\/span>\r\n<span class=\"na\">metadata<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">reviews-v1<\/span>\r\n<span class=\"na\">spec<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">replicas<\/span><span class=\"pi\">:<\/span> <span class=\"m\">1<\/span>\r\n  <span class=\"na\">template<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"na\">metadata<\/span><span class=\"pi\">:<\/span>\r\n      <span class=\"na\">labels<\/span><span class=\"pi\">:<\/span>\r\n        <span class=\"na\">app<\/span><span class=\"pi\">:<\/span> <span class=\"s\">reviews<\/span>\r\n        <span class=\"na\">version<\/span><span class=\"pi\">:<\/span> <span class=\"s\">v1<\/span>\r\n    <span class=\"na\">spec<\/span><span class=\"pi\">:<\/span>\r\n      <span class=\"na\">containers<\/span><span class=\"pi\">:<\/span>\r\n      <span class=\"pi\">-<\/span> <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">reviews<\/span>\r\n        <span class=\"na\">image<\/span><span class=\"pi\">:<\/span> <span class=\"s\">istio\/examples-bookinfo-reviews-v1:1.5.0<\/span>\r\n        <span class=\"na\">imagePullPolicy<\/span><span class=\"pi\">:<\/span> <span class=\"s\">IfNotPresent<\/span>\r\n        <span class=\"na\">ports<\/span><span class=\"pi\">:<\/span>\r\n        <span class=\"pi\">-<\/span> <span class=\"na\">containerPort<\/span><span class=\"pi\">:<\/span> <span class=\"m\">9080<\/span>\r\n<span class=\"nn\">---<\/span>\r\n<span class=\"na\">apiVersion<\/span><span class=\"pi\">:<\/span> <span class=\"s\">extensions\/v1beta1<\/span>\r\n<span class=\"na\">kind<\/span><span class=\"pi\">:<\/span> <span class=\"s\">Deployment<\/span>\r\n<span class=\"na\">metadata<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">reviews-v2<\/span>\r\n<span class=\"na\">spec<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">replicas<\/span><span class=\"pi\">:<\/span> <span class=\"m\">1<\/span>\r\n  <span class=\"na\">template<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"na\">metadata<\/span><span class=\"pi\">:<\/span>\r\n      <span class=\"na\">labels<\/span><span class=\"pi\">:<\/span>\r\n        <span class=\"na\">app<\/span><span class=\"pi\">:<\/span> <span class=\"s\">reviews<\/span>\r\n        <span class=\"na\">version<\/span><span class=\"pi\">:<\/span> <span class=\"s\">v2<\/span>\r\n    <span class=\"na\">spec<\/span><span class=\"pi\">:<\/span>\r\n      <span class=\"na\">containers<\/span><span class=\"pi\">:<\/span>\r\n      <span class=\"pi\">-<\/span> <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">reviews<\/span>\r\n        <span class=\"na\">image<\/span><span class=\"pi\">:<\/span> <span class=\"s\">istio\/examples-bookinfo-reviews-v2:1.5.0<\/span>\r\n        <span class=\"na\">imagePullPolicy<\/span><span class=\"pi\">:<\/span> <span class=\"s\">IfNotPresent<\/span>\r\n        <span class=\"na\">ports<\/span><span class=\"pi\">:<\/span>\r\n        <span class=\"pi\">-<\/span> <span class=\"na\">containerPort<\/span><span class=\"pi\">:<\/span> <span class=\"m\">9080<\/span>\r\n<span class=\"nn\">---<\/span>\r\n<span class=\"na\">apiVersion<\/span><span class=\"pi\">:<\/span> <span class=\"s\">extensions\/v1beta1<\/span>\r\n<span class=\"na\">kind<\/span><span class=\"pi\">:<\/span> <span class=\"s\">Deployment<\/span>\r\n<span class=\"na\">metadata<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">reviews-v3<\/span>\r\n<span class=\"na\">spec<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">replicas<\/span><span class=\"pi\">:<\/span> <span class=\"m\">1<\/span>\r\n  <span class=\"na\">template<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"na\">metadata<\/span><span class=\"pi\">:<\/span>\r\n      <span class=\"na\">labels<\/span><span class=\"pi\">:<\/span>\r\n        <span class=\"na\">app<\/span><span class=\"pi\">:<\/span> <span class=\"s\">reviews<\/span>\r\n        <span class=\"na\">version<\/span><span class=\"pi\">:<\/span> <span class=\"s\">v3<\/span>\r\n    <span class=\"na\">spec<\/span><span class=\"pi\">:<\/span>\r\n      <span class=\"na\">containers<\/span><span class=\"pi\">:<\/span>\r\n      <span class=\"pi\">-<\/span> <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">reviews<\/span>\r\n        <span class=\"na\">image<\/span><span class=\"pi\">:<\/span> <span class=\"s\">istio\/examples-bookinfo-reviews-v3:1.5.0<\/span>\r\n        <span class=\"na\">imagePullPolicy<\/span><span class=\"pi\">:<\/span> <span class=\"s\">IfNotPresent<\/span>\r\n        <span class=\"na\">ports<\/span><span class=\"pi\">:<\/span>\r\n        <span class=\"pi\">-<\/span> <span class=\"na\">containerPort<\/span><span class=\"pi\">:<\/span> <span class=\"m\">9080<\/span>\r\n<span class=\"nn\">---<\/span>\r\n<span class=\"c1\">##################################################################################################<\/span>\r\n<span class=\"c1\"># Productpage services<\/span>\r\n<span class=\"c1\">##################################################################################################<\/span>\r\n<span class=\"na\">apiVersion<\/span><span class=\"pi\">:<\/span> <span class=\"s\">v1<\/span>\r\n<span class=\"na\">kind<\/span><span class=\"pi\">:<\/span> <span class=\"s\">Service<\/span>\r\n<span class=\"na\">metadata<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">productpage<\/span>\r\n  <span class=\"na\">labels<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"na\">app<\/span><span class=\"pi\">:<\/span> <span class=\"s\">productpage<\/span>\r\n<span class=\"na\">spec<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">ports<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"pi\">-<\/span> <span class=\"na\">port<\/span><span class=\"pi\">:<\/span> <span class=\"m\">9080<\/span>\r\n    <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">http<\/span>\r\n  <span class=\"na\">selector<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"na\">app<\/span><span class=\"pi\">:<\/span> <span class=\"s\">productpage<\/span>\r\n<span class=\"nn\">---<\/span>\r\n<span class=\"na\">apiVersion<\/span><span class=\"pi\">:<\/span> <span class=\"s\">extensions\/v1beta1<\/span>\r\n<span class=\"na\">kind<\/span><span class=\"pi\">:<\/span> <span class=\"s\">Deployment<\/span>\r\n<span class=\"na\">metadata<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">productpage-v1<\/span>\r\n<span class=\"na\">spec<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">replicas<\/span><span class=\"pi\">:<\/span> <span class=\"m\">1<\/span>\r\n  <span class=\"na\">template<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"na\">metadata<\/span><span class=\"pi\">:<\/span>\r\n      <span class=\"na\">labels<\/span><span class=\"pi\">:<\/span>\r\n        <span class=\"na\">app<\/span><span class=\"pi\">:<\/span> <span class=\"s\">productpage<\/span>\r\n        <span class=\"na\">version<\/span><span class=\"pi\">:<\/span> <span class=\"s\">v1<\/span>\r\n    <span class=\"na\">spec<\/span><span class=\"pi\">:<\/span>\r\n      <span class=\"na\">containers<\/span><span class=\"pi\">:<\/span>\r\n      <span class=\"pi\">-<\/span> <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">productpage<\/span>\r\n        <span class=\"na\">image<\/span><span class=\"pi\">:<\/span> <span class=\"s\">istio\/examples-bookinfo-productpage-v1:1.5.0<\/span>\r\n        <span class=\"na\">imagePullPolicy<\/span><span class=\"pi\">:<\/span> <span class=\"s\">IfNotPresent<\/span>\r\n        <span class=\"na\">ports<\/span><span class=\"pi\">:<\/span>\r\n        <span class=\"pi\">-<\/span> <span class=\"na\">containerPort<\/span><span class=\"pi\">:<\/span> <span class=\"m\">9080<\/span>\r\n<span class=\"nn\">---<\/span>\r\n<span class=\"c1\">###########################################################################<\/span>\r\n<span class=\"c1\"># Ingress resource (gateway)<\/span>\r\n<span class=\"c1\">##########################################################################<\/span>\r\n<span class=\"na\">apiVersion<\/span><span class=\"pi\">:<\/span> <span class=\"s\">extensions\/v1beta1<\/span>\r\n<span class=\"na\">kind<\/span><span class=\"pi\">:<\/span> <span class=\"s\">Ingress<\/span>\r\n<span class=\"na\">metadata<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">gateway<\/span>\r\n  <span class=\"na\">annotations<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"s\">kubernetes.io\/ingress.class<\/span><span class=\"pi\">:<\/span> <span class=\"s2\">\"<\/span><span class=\"s\">istio\"<\/span>\r\n<span class=\"na\">spec<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">rules<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"pi\">-<\/span> <span class=\"na\">http<\/span><span class=\"pi\">:<\/span>\r\n      <span class=\"na\">paths<\/span><span class=\"pi\">:<\/span>\r\n      <span class=\"pi\">-<\/span> <span class=\"na\">path<\/span><span class=\"pi\">:<\/span> <span class=\"s\">\/productpage<\/span>\r\n        <span class=\"na\">backend<\/span><span class=\"pi\">:<\/span>\r\n          <span class=\"na\">serviceName<\/span><span class=\"pi\">:<\/span> <span class=\"s\">productpage<\/span>\r\n          <span class=\"na\">servicePort<\/span><span class=\"pi\">:<\/span> <span class=\"m\">9080<\/span>\r\n      <span class=\"pi\">-<\/span> <span class=\"na\">path<\/span><span class=\"pi\">:<\/span> <span class=\"s\">\/login<\/span>\r\n        <span class=\"na\">backend<\/span><span class=\"pi\">:<\/span>\r\n          <span class=\"na\">serviceName<\/span><span class=\"pi\">:<\/span> <span class=\"s\">productpage<\/span>\r\n          <span class=\"na\">servicePort<\/span><span class=\"pi\">:<\/span> <span class=\"m\">9080<\/span>\r\n      <span class=\"pi\">-<\/span> <span class=\"na\">path<\/span><span class=\"pi\">:<\/span> <span class=\"s\">\/logout<\/span>\r\n        <span class=\"na\">backend<\/span><span class=\"pi\">:<\/span>\r\n          <span class=\"na\">serviceName<\/span><span class=\"pi\">:<\/span> <span class=\"s\">productpage<\/span>\r\n          <span class=\"na\">servicePort<\/span><span class=\"pi\">:<\/span> <span class=\"m\">9080<\/span>\r\n      <span class=\"pi\">-<\/span> <span class=\"na\">path<\/span><span class=\"pi\">:<\/span> <span class=\"s\">\/api\/v1\/products.*<\/span>\r\n        <span class=\"na\">backend<\/span><span class=\"pi\">:<\/span>\r\n          <span class=\"na\">serviceName<\/span><span class=\"pi\">:<\/span> <span class=\"s\">productpage<\/span>\r\n          <span class=\"na\">servicePort<\/span><span class=\"pi\">:<\/span> <span class=\"m\">9080<\/span>\r\n<span class=\"nn\">---<\/span>\r\n<\/code><\/pre>\n<p>\u6211\u4f1a\u68c0\u67e5\u6b63\u5728\u8fd0\u884c\u7684\u793a\u4f8b\u5e94\u7528\u7a0b\u5e8fBookInfo\u7684Pod\u3002<\/p>\n<pre class=\"post-pre\"><code>$ kubectl get pods\r\nNAME                              READY     STATUS    RESTARTS   AGE\r\ndetails-v1-55496dcd64-72hhw       2\/2       Running   0          3m\r\nproductpage-v1-586897968d-7xlmx   2\/2       Running   0          3m\r\nratings-v1-6d9f5df564-zrbdb       2\/2       Running   0          3m\r\nreviews-v1-5985df7dd4-4nmch       2\/2       Running   0          3m\r\nreviews-v2-856d5b976-bn8vp        2\/2       Running   0          3m\r\nreviews-v3-c4fbb98d8-28lrh        2\/2       Running   0          3m\r\n<\/code><\/pre>\n<p>\u4e3a\u4e86\u8bbf\u95ee\u5e94\u7528\u7a0b\u5e8f\uff0c\u9700\u8981\u786e\u8ba4\u5e94\u7528\u7a0b\u5e8f\u7684\u516c\u5171IP\u5730\u5740\u3002\u8fd9\u91cc\uff0c\u7f51\u5173\u7684IP\u5730\u5740\u5982\u4e0b\u6240\u793a\u3002<\/p>\n<pre class=\"post-pre\"><code>$ kubectl get ingress -o wide\r\nNAME      HOSTS     ADDRESS        PORTS     AGE\r\ngateway   *         169.56.28.18   80        4m\r\n<\/code><\/pre>\n<p>\u5728\u5ba2\u6237\u7aef\u4e0a\u8bbe\u7f6e\u73af\u5883\u53d8\u91cf\u3002<\/p>\n<pre class=\"post-pre\"><code>$ export GATEWAY_URL=169.56.28.18:80\r\n<\/code><\/pre>\n<p>\u4f7f\u7528\u6d4f\u89c8\u5668\u6253\u5f00 http:\/\/169.56.28.18:80\/productpage\u3002\u5237\u65b0\u6d4f\u89c8\u5668\u540e\uff0c\u786e\u8ba4\u6837\u4f8b\u5e94\u7528\u7a0b\u5e8fBookinfo\u7684\u8bc4\u8bba\u90e8\u5206\u4f1a\u5728v1\u3001v2\u548cv3\u8fd9\u4e09\u4e2a\u7248\u672c\u4e4b\u95f4\u8f6e\u6d41\u5207\u6362\u3002<\/p>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d53c837434c4406cd09c9\/44-2.png\" alt=\"Screen Shot 2018-05-18 at 16.01.47-fullpage.png\" \/><\/div>\n<h1>\u4f7f\u7528Prometheus\u548cGrafana\u8fdb\u884c\u6307\u6807\u548c\u65e5\u5fd7\u7684\u6536\u96c6<\/h1>\n<p>\u63a5\u4e0b\u6765\uff0c\u6211\u4eec\u9700\u8981\u914d\u7f6eIstio Mixer\u4ee5\u6536\u96c6\u96c6\u7fa4\u5185\u670d\u52a1\u7684\u9065\u6d4b\u6570\u636e\u3002\u8bf7\u5728Kubernetes\u96c6\u7fa4\u4e0a\u5b89\u88c5Istio\u7684\u9644\u52a0\u7ec4\u4ef6\u3002<\/p>\n<p>\u6211\u5011\u5c07\u90e8\u7f72 Prometheus\u3002<\/p>\n<pre class=\"post-pre\"><code>$ kubectl apply -f istio\/install\/kubernetes\/addons\/prometheus.yaml\r\nconfigmap \"prometheus\" created\r\nservice \"prometheus\" created\r\ndeployment \"prometheus\" created\r\nserviceaccount \"prometheus\" created\r\nclusterrole \"prometheus\" created\r\nclusterrolebinding \"prometheus\" created\r\n<\/code><\/pre>\n<p>\u5c06Grafana\u90e8\u7f72\u5230Kubernetes\u96c6\u7fa4\u4e2d\u3002<\/p>\n<pre class=\"post-pre\"><code>$ kubectl apply -f istio\/install\/kubernetes\/addons\/grafana.yaml\r\nservice \"grafana\" created\r\ndeployment \"grafana\" created\r\nserviceaccount \"grafana\" created\r\n<\/code><\/pre>\n<p>\u5c06Grafana\u4eea\u8868\u76d8\u8f6c\u53d1\u5230http:\/\/localhost:3000\u3002<\/p>\n<pre class=\"post-pre\"><code>$ kubectl -n istio-system port-forward $(kubectl -n istio-system get pod -l app=grafana -o jsonpath='{.items[0].metadata.name}') 3000:3000\r\n<\/code><\/pre>\n<p>\u786e\u8ba4\u5728\u6d4f\u89c8\u5668\u4e0a\u663e\u793a Istio \u63a7\u5236\u9762\u677f\u3002<\/p>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d53c837434c4406cd09c9\/54-0.png\" alt=\"Screen Shot 2018-05-18 at 16.13.32-fullpage.png\" \/><\/div>\n<p>\u4e3a\u4e86\u6536\u96c6\u65b0\u7684\u9065\u6d4b\u6570\u636e\uff0c\u5c06\u5e94\u7528\u6df7\u97f3\u5668\u89c4\u5219\u3002\u8fd9\u91cc\uff0c\u6211\u4eec\u5c06\u751f\u6210\u7528\u4e8e\u5ba1\u67e5\u670d\u52a1\u54cd\u5e94\u5927\u5c0f\u7684\u65e5\u5fd7\u3002\u4f7f\u7528YAML\u6587\u4ef6new_telemetry.yaml\u8fdb\u884c\u914d\u7f6e\uff08\u53c2\u8003\uff1ahttps:\/\/istio.io\/docs\/tasks\/telemetry\/metrics-logs.html\uff09\u3002<\/p>\n<pre class=\"post-pre\"><code>$ istioctl create -f demo\/new_telemetry.yaml\r\nCreated config metric\/istio-system\/doublerequestcount at revision 7063\r\nCreated config prometheus\/istio-system\/doublehandler at revision 7064\r\nCreated config rule\/istio-system\/doubleprom at revision 7065\r\nCreated config logentry\/istio-system\/newlog at revision 7066\r\nCreated config stdio\/istio-system\/newhandler at revision 7067\r\nCreated config rule\/istio-system\/newlogstdio at revision 7068\r\n<\/code><\/pre>\n<p>\u4ee5\u4e0b\u662fnew_telemetry.yaml\u6587\u4ef6\u7684\u5185\u5bb9\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"c1\"># Configuration for metric instances<\/span>\r\n<span class=\"na\">apiVersion<\/span><span class=\"pi\">:<\/span> <span class=\"s2\">\"<\/span><span class=\"s\">config.istio.io\/v1alpha2\"<\/span>\r\n<span class=\"na\">kind<\/span><span class=\"pi\">:<\/span> <span class=\"s\">metric<\/span>\r\n<span class=\"na\">metadata<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">doublerequestcount<\/span>\r\n  <span class=\"na\">namespace<\/span><span class=\"pi\">:<\/span> <span class=\"s\">istio-system<\/span>\r\n<span class=\"na\">spec<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">value<\/span><span class=\"pi\">:<\/span> <span class=\"s2\">\"<\/span><span class=\"s\">2\"<\/span> <span class=\"c1\"># count each request twice<\/span>\r\n  <span class=\"na\">dimensions<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"na\">source<\/span><span class=\"pi\">:<\/span> <span class=\"s\">source.service | \"unknown\"<\/span>\r\n    <span class=\"na\">destination<\/span><span class=\"pi\">:<\/span> <span class=\"s\">destination.service | \"unknown\"<\/span>\r\n    <span class=\"na\">message<\/span><span class=\"pi\">:<\/span> <span class=\"s1\">'<\/span><span class=\"s\">\"twice<\/span> <span class=\"s\">the<\/span> <span class=\"s\">fun!\"'<\/span>\r\n  <span class=\"na\">monitored_resource_type<\/span><span class=\"pi\">:<\/span> <span class=\"s1\">'<\/span><span class=\"s\">\"UNSPECIFIED\"'<\/span>\r\n<span class=\"nn\">---<\/span>\r\n<span class=\"c1\"># Configuration for a Prometheus handler<\/span>\r\n<span class=\"na\">apiVersion<\/span><span class=\"pi\">:<\/span> <span class=\"s2\">\"<\/span><span class=\"s\">config.istio.io\/v1alpha2\"<\/span>\r\n<span class=\"na\">kind<\/span><span class=\"pi\">:<\/span> <span class=\"s\">prometheus<\/span>\r\n<span class=\"na\">metadata<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">doublehandler<\/span>\r\n  <span class=\"na\">namespace<\/span><span class=\"pi\">:<\/span> <span class=\"s\">istio-system<\/span>\r\n<span class=\"na\">spec<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">metrics<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"pi\">-<\/span> <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">double_request_count<\/span> <span class=\"c1\"># Prometheus metric name<\/span>\r\n    <span class=\"na\">instance_name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">doublerequestcount.metric.istio-system<\/span> <span class=\"c1\"># Mixer instance name (fully-qualified)<\/span>\r\n    <span class=\"na\">kind<\/span><span class=\"pi\">:<\/span> <span class=\"s\">COUNTER<\/span>\r\n    <span class=\"na\">label_names<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"pi\">-<\/span> <span class=\"s\">source<\/span>\r\n    <span class=\"pi\">-<\/span> <span class=\"s\">destination<\/span>\r\n    <span class=\"pi\">-<\/span> <span class=\"s\">message<\/span>\r\n<span class=\"nn\">---<\/span>\r\n<span class=\"c1\"># Rule to send metric instances to a Prometheus handler<\/span>\r\n<span class=\"na\">apiVersion<\/span><span class=\"pi\">:<\/span> <span class=\"s2\">\"<\/span><span class=\"s\">config.istio.io\/v1alpha2\"<\/span>\r\n<span class=\"na\">kind<\/span><span class=\"pi\">:<\/span> <span class=\"s\">rule<\/span>\r\n<span class=\"na\">metadata<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">doubleprom<\/span>\r\n  <span class=\"na\">namespace<\/span><span class=\"pi\">:<\/span> <span class=\"s\">istio-system<\/span>\r\n<span class=\"na\">spec<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">actions<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"pi\">-<\/span> <span class=\"na\">handler<\/span><span class=\"pi\">:<\/span> <span class=\"s\">doublehandler.prometheus<\/span>\r\n    <span class=\"na\">instances<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"pi\">-<\/span> <span class=\"s\">doublerequestcount.metric<\/span>\r\n<span class=\"nn\">---<\/span>\r\n<span class=\"c1\"># Configuration for logentry instances<\/span>\r\n<span class=\"na\">apiVersion<\/span><span class=\"pi\">:<\/span> <span class=\"s2\">\"<\/span><span class=\"s\">config.istio.io\/v1alpha2\"<\/span>\r\n<span class=\"na\">kind<\/span><span class=\"pi\">:<\/span> <span class=\"s\">logentry<\/span>\r\n<span class=\"na\">metadata<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">newlog<\/span>\r\n  <span class=\"na\">namespace<\/span><span class=\"pi\">:<\/span> <span class=\"s\">istio-system<\/span>\r\n<span class=\"na\">spec<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">severity<\/span><span class=\"pi\">:<\/span> <span class=\"s1\">'<\/span><span class=\"s\">\"warning\"'<\/span>\r\n  <span class=\"na\">timestamp<\/span><span class=\"pi\">:<\/span> <span class=\"s\">request.time<\/span>\r\n  <span class=\"na\">variables<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"na\">source<\/span><span class=\"pi\">:<\/span> <span class=\"s\">source.labels[\"app\"] | source.service | \"unknown\"<\/span>\r\n    <span class=\"na\">user<\/span><span class=\"pi\">:<\/span> <span class=\"s\">source.user | \"unknown\"<\/span>\r\n    <span class=\"na\">destination<\/span><span class=\"pi\">:<\/span> <span class=\"s\">destination.labels[\"app\"] | destination.service | \"unknown\"<\/span>\r\n    <span class=\"na\">responseCode<\/span><span class=\"pi\">:<\/span> <span class=\"s\">response.code | <\/span><span class=\"m\">0<\/span>\r\n    <span class=\"na\">responseSize<\/span><span class=\"pi\">:<\/span> <span class=\"s\">response.size | <\/span><span class=\"m\">0<\/span>\r\n    <span class=\"na\">latency<\/span><span class=\"pi\">:<\/span> <span class=\"s\">response.duration | \"0ms\"<\/span>\r\n  <span class=\"na\">monitored_resource_type<\/span><span class=\"pi\">:<\/span> <span class=\"s1\">'<\/span><span class=\"s\">\"UNSPECIFIED\"'<\/span>\r\n<span class=\"nn\">---<\/span>\r\n<span class=\"c1\"># Configuration for a stdio handler<\/span>\r\n<span class=\"na\">apiVersion<\/span><span class=\"pi\">:<\/span> <span class=\"s2\">\"<\/span><span class=\"s\">config.istio.io\/v1alpha2\"<\/span>\r\n<span class=\"na\">kind<\/span><span class=\"pi\">:<\/span> <span class=\"s\">stdio<\/span>\r\n<span class=\"na\">metadata<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">newhandler<\/span>\r\n  <span class=\"na\">namespace<\/span><span class=\"pi\">:<\/span> <span class=\"s\">istio-system<\/span>\r\n<span class=\"na\">spec<\/span><span class=\"pi\">:<\/span>\r\n <span class=\"na\">severity_levels<\/span><span class=\"pi\">:<\/span>\r\n   <span class=\"na\">warning<\/span><span class=\"pi\">:<\/span> <span class=\"m\">1<\/span> <span class=\"c1\"># Params.Level.WARNING<\/span>\r\n <span class=\"na\">outputAsJson<\/span><span class=\"pi\">:<\/span> <span class=\"no\">true<\/span>\r\n<span class=\"nn\">---<\/span>\r\n<span class=\"c1\"># Rule to send logentry instances to a stdio handler<\/span>\r\n<span class=\"na\">apiVersion<\/span><span class=\"pi\">:<\/span> <span class=\"s2\">\"<\/span><span class=\"s\">config.istio.io\/v1alpha2\"<\/span>\r\n<span class=\"na\">kind<\/span><span class=\"pi\">:<\/span> <span class=\"s\">rule<\/span>\r\n<span class=\"na\">metadata<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">newlogstdio<\/span>\r\n  <span class=\"na\">namespace<\/span><span class=\"pi\">:<\/span> <span class=\"s\">istio-system<\/span>\r\n<span class=\"na\">spec<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">match<\/span><span class=\"pi\">:<\/span> <span class=\"s2\">\"<\/span><span class=\"s\">true\"<\/span> <span class=\"c1\"># match for all requests<\/span>\r\n  <span class=\"na\">actions<\/span><span class=\"pi\">:<\/span>\r\n   <span class=\"pi\">-<\/span> <span class=\"na\">handler<\/span><span class=\"pi\">:<\/span> <span class=\"s\">newhandler.stdio<\/span>\r\n     <span class=\"na\">instances<\/span><span class=\"pi\">:<\/span>\r\n     <span class=\"pi\">-<\/span> <span class=\"s\">newlog.logentry<\/span>\r\n<span class=\"nn\">---<\/span>\r\n<\/code><\/pre>\n<p>\u4f7f\u7528for\u5faa\u73af\u5c06\u6d41\u91cf\u53d1\u9001\u5230\u6837\u672c\u5e94\u7528\u7a0b\u5e8fBookInfo\uff08http:\/\/169.56.28.18\/productpage\uff09\u3002<\/p>\n<pre class=\"post-pre\"><code>$ for i in {1..5}; do echo -n .; curl -s http:\/\/${GATEWAY_URL}\/productpage &gt; \/dev\/null; done\r\n<\/code><\/pre>\n<p>\u8bf7\u518d\u6b21\u8bbf\u95eeGrafana\u4eea\u8868\u677f\uff0c\u786e\u8ba4\u65b0\u7684\u6307\u6807\u5df2\u88ab\u6536\u96c6\u3002<\/p>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d53c837434c4406cd09c9\/62-0.png\" alt=\"image.png\" \/><\/div>\n<p>\u53ef\u4ee5\u786e\u8ba4\u5df2\u521b\u5efa\u65e5\u5fd7\u6d41\u548c\u751f\u6210\u8bf7\u6c42\u3002<\/p>\n<pre class=\"post-pre\"><code>$ kubectl -n istio-system logs $(kubectl -n istio-system get pods -l istio=mixer -o jsonpath='{.items[0].metadata.name}') mixer | grep \\\"instance\\\":\\\"newlog.logentry.istio-system\\\"\r\n\r\n{\"level\":\"warn\",\"time\":\"2018-05-18T08:03:45.072460Z\",\"instance\":\"newlog.logentry.istio-system\",\"destination\":\"reviews\",\"latency\":\"8.812174ms\",\"responseCode\":200,\"responseSize\":379,\"source\":\"productpage\",\"user\":\"unknown\"}\r\n{\"level\":\"warn\",\"time\":\"2018-05-18T08:03:45.163212Z\",\"instance\":\"newlog.logentry.istio-system\",\"destination\":\"reviews\",\"latency\":\"18.7925ms\",\"responseCode\":200,\"responseSize\":375,\"source\":\"productpage\",\"user\":\"unknown\"}\r\n{\"level\":\"warn\",\"time\":\"2018-05-18T08:03:45.151312Z\",\"instance\":\"newlog.logentry.istio-system\",\"destination\":\"istio-ingress.istio-system.svc.cluster.local\",\"latency\":\"34.802885ms\",\"responseCode\":200,\"responseSize\":5719,\"source\":\"unknown\",\"user\":\"unknown\"}\r\n<\/code><\/pre>\n<h1>\u4f7f\u7528Zipkin\u8fdb\u884c\u5206\u5e03\u5f0f\u8ffd\u8e2a<\/h1>\n<p>\u5c06Zipkin\u8fdb\u884c\u5b89\u88c5\u3002<\/p>\n<pre class=\"post-pre\"><code>$ kubectl apply -f istio\/install\/kubernetes\/addons\/zipkin.yaml\r\ndeployment \"zipkin\" created\r\nservice \"zipkin\" created\r\n<\/code><\/pre>\n<p>\u5c06Zipkin\u4eea\u8868\u677f\u8fdb\u884c\u7aef\u53e3\u8f6c\u53d1\u3002<\/p>\n<pre class=\"post-pre\"><code>$ kubectl port-forward -n istio-system $(kubectl get pod -n istio-system -l app=zipkin -o jsonpath='{.items[0].metadata.name}') 9411:9411\r\n<\/code><\/pre>\n<p>\u4f7f\u7528for\u5faa\u73af\u8bbf\u95ee\u793a\u4f8b\u5e94\u7528\u7a0b\u5e8fBookInfo\uff0c\u5e76\u5728\u6d4f\u89c8\u5668\u4e2d\u68c0\u67e5http:\/\/localhost:9411\/zipkin\/\u3002\u5c06\u663e\u793a\u53d1\u9001\u5230BookInfo\u7684\u6d41\u91cf\u7684\u8be6\u7ec6\u4fe1\u606f\u3002\u8fd9\u91cc\u663e\u793a\u4e86\u8bf7\u6c42\u5230http:\/\/169.56.28.18\/productpage\u7684\u65f6\u95f4\u3002<\/p>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d53c837434c4406cd09c9\/71-0.png\" alt=\"Screen Shot 2018-05-18 at 17.14.02-fullpage.png\" \/><\/div>\n<p>\u4ee5\u4e0a<br \/>\n&#8211; \u8fd9\u4e0a\u8ff0\u7684 (zh\u00e8 de)<br \/>\n&#8211; \u4e0a\u8ff0\u7684\u5185\u5bb9 de<br \/>\n&#8211; \u524d\u6587\u63d0\u5230\u7684 t\u00ed de)<br \/>\n&#8211; \u524d\u9762\u6240\u8ff0\u7684 su\u01d2 sh\u00f9 de)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u6211\u4f7f\u7528Istio\u3001Prometheus\u548cZipkin\u6765\u76d1\u63a7\u548c\u6d4b\u8bd5Kubernetes\u96c6\u7fa4\u4e0a\u7684\u5fae\u670d\u52a1\u5206\u5e03\u5f0f\u8ffd\u8e2a\u3002 [&hellip;]<\/p>\n","protected":false},"author":5,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[16,68,66,46,34,11,67,162,159,161,15,160,18],"class_list":["post-43652","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-devops","tag-distributed-tracing","tag-istio","tag-microservices","tag-monitoring","tag-prometheus","tag-zipkin","tag-162","tag-159","tag-161","tag-15","tag-160","tag-18"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Istio\u3001Prometheus\u548cZipkin\u5fae\u670d\u52a1\u76d1\u63a7\u4e0e\u5206\u5e03\u5f0f\u8ffd\u8e2a\u5b8c\u5168\u6307\u5357<\/title>\n<meta name=\"description\" content=\"\u672c\u6559\u7a0b\u8be6\u7ec6\u4ecb\u7ecd\u5982\u4f55\u4f7f\u7528Istio\u3001Prometheus\u548cZipkin\u8fdb\u884c\u5fae\u670d\u52a1\u76d1\u63a7\u548c\u5206\u5e03\u5f0f\u8ffd\u8e2a\u3002\u5305\u542b\u5b8c\u6574\u90e8\u7f72\u6b65\u9aa4\u3001\u914d\u7f6e\u65b9\u6cd5\u3001\u76d1\u63a7\u6307\u6807\u6536\u96c6\u548c\u5206\u5e03\u5f0f\u8ffd\u8e2a\u5b9e\u73b0\u3002\u9002\u5408DevOps\u5de5\u7a0b\u5e08\u548c\u5f00\u53d1\u4eba\u5458\u5b66\u4e60\u5982\u4f55\u6784\u5efa\u5b8c\u6574\u7684\u5fae\u670d\u52a1\u76d1\u63a7\u4f53\u7cfb\u3002\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/zh\/blog\/\u4f7f\u7528-istio\u3001prometheus-\u548c-zipkin-\u8fdb\u884c\u5bf9\u5fae\u670d\u52a1\u7684\u76d1\u63a7\u548c\u5206\u5e03\u5f0f\u8ffd\u8e2a\/\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u4f7f\u7528 Istio\u3001Prometheus \u548c Zipkin \u8fdb\u884c\u5bf9\u5fae\u670d\u52a1\u7684\u76d1\u63a7\u548c\u5206\u5e03\u5f0f\u8ffd\u8e2a\" \/>\n<meta property=\"og:description\" content=\"\u672c\u6559\u7a0b\u8be6\u7ec6\u4ecb\u7ecd\u5982\u4f55\u4f7f\u7528Istio\u3001Prometheus\u548cZipkin\u8fdb\u884c\u5fae\u670d\u52a1\u76d1\u63a7\u548c\u5206\u5e03\u5f0f\u8ffd\u8e2a\u3002\u5305\u542b\u5b8c\u6574\u90e8\u7f72\u6b65\u9aa4\u3001\u914d\u7f6e\u65b9\u6cd5\u3001\u76d1\u63a7\u6307\u6807\u6536\u96c6\u548c\u5206\u5e03\u5f0f\u8ffd\u8e2a\u5b9e\u73b0\u3002\u9002\u5408DevOps\u5de5\u7a0b\u5e08\u548c\u5f00\u53d1\u4eba\u5458\u5b66\u4e60\u5982\u4f55\u6784\u5efa\u5b8c\u6574\u7684\u5fae\u670d\u52a1\u76d1\u63a7\u4f53\u7cfb\u3002\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/zh\/blog\/\u4f7f\u7528-istio\u3001prometheus-\u548c-zipkin-\u8fdb\u884c\u5bf9\u5fae\u670d\u52a1\u7684\u76d1\u63a7\u548c\u5206\u5e03\u5f0f\u8ffd\u8e2a\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:published_time\" content=\"2023-05-01T10:28:23+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-07-29T21:02:22+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d53c837434c4406cd09c9\/2-0.png\" \/>\n<meta name=\"author\" content=\"\u6e05, \u5b87\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"\u6e05, \u5b87\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8-istio%e3%80%81prometheus-%e5%92%8c-zipkin-%e8%bf%9b%e8%a1%8c%e5%af%b9%e5%be%ae%e6%9c%8d%e5%8a%a1%e7%9a%84%e7%9b%91%e6%8e%a7%e5%92%8c%e5%88%86%e5%b8%83%e5%bc%8f%e8%bf%bd%e8%b8%aa\/\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8-istio%e3%80%81prometheus-%e5%92%8c-zipkin-%e8%bf%9b%e8%a1%8c%e5%af%b9%e5%be%ae%e6%9c%8d%e5%8a%a1%e7%9a%84%e7%9b%91%e6%8e%a7%e5%92%8c%e5%88%86%e5%b8%83%e5%bc%8f%e8%bf%bd%e8%b8%aa\/\",\"name\":\"Istio\u3001Prometheus\u548cZipkin\u5fae\u670d\u52a1\u76d1\u63a7\u4e0e\u5206\u5e03\u5f0f\u8ffd\u8e2a\u5b8c\u5168\u6307\u5357\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\"},\"datePublished\":\"2023-05-01T10:28:23+00:00\",\"dateModified\":\"2025-07-29T21:02:22+00:00\",\"author\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/1a6ecd3d914d22a5ac32791ffc1fbd8e\"},\"description\":\"\u672c\u6559\u7a0b\u8be6\u7ec6\u4ecb\u7ecd\u5982\u4f55\u4f7f\u7528Istio\u3001Prometheus\u548cZipkin\u8fdb\u884c\u5fae\u670d\u52a1\u76d1\u63a7\u548c\u5206\u5e03\u5f0f\u8ffd\u8e2a\u3002\u5305\u542b\u5b8c\u6574\u90e8\u7f72\u6b65\u9aa4\u3001\u914d\u7f6e\u65b9\u6cd5\u3001\u76d1\u63a7\u6307\u6807\u6536\u96c6\u548c\u5206\u5e03\u5f0f\u8ffd\u8e2a\u5b9e\u73b0\u3002\u9002\u5408DevOps\u5de5\u7a0b\u5e08\u548c\u5f00\u53d1\u4eba\u5458\u5b66\u4e60\u5982\u4f55\u6784\u5efa\u5b8c\u6574\u7684\u5fae\u670d\u52a1\u76d1\u63a7\u4f53\u7cfb\u3002\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8-istio%e3%80%81prometheus-%e5%92%8c-zipkin-%e8%bf%9b%e8%a1%8c%e5%af%b9%e5%be%ae%e6%9c%8d%e5%8a%a1%e7%9a%84%e7%9b%91%e6%8e%a7%e5%92%8c%e5%88%86%e5%b8%83%e5%bc%8f%e8%bf%bd%e8%b8%aa\/#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8-istio%e3%80%81prometheus-%e5%92%8c-zipkin-%e8%bf%9b%e8%a1%8c%e5%af%b9%e5%be%ae%e6%9c%8d%e5%8a%a1%e7%9a%84%e7%9b%91%e6%8e%a7%e5%92%8c%e5%88%86%e5%b8%83%e5%bc%8f%e8%bf%bd%e8%b8%aa\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8-istio%e3%80%81prometheus-%e5%92%8c-zipkin-%e8%bf%9b%e8%a1%8c%e5%af%b9%e5%be%ae%e6%9c%8d%e5%8a%a1%e7%9a%84%e7%9b%91%e6%8e%a7%e5%92%8c%e5%88%86%e5%b8%83%e5%bc%8f%e8%bf%bd%e8%b8%aa\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.silicloud.com\/zh\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u4f7f\u7528 Istio\u3001Prometheus \u548c Zipkin \u8fdb\u884c\u5bf9\u5fae\u670d\u52a1\u7684\u76d1\u63a7\u548c\u5206\u5e03\u5f0f\u8ffd\u8e2a\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/\",\"name\":\"Blog - Silicon Cloud\",\"description\":\"\",\"inLanguage\":\"zh-Hans\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/1a6ecd3d914d22a5ac32791ffc1fbd8e\",\"name\":\"\u6e05, \u5b87\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/4b2016c18459a605fc469c7566608f5686491baa112d0871ee613f61b7210565?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/4b2016c18459a605fc469c7566608f5686491baa112d0871ee613f61b7210565?s=96&d=mm&r=g\",\"caption\":\"\u6e05, \u5b87\"},\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/author\/qingyu\/\"},{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8-istio%e3%80%81prometheus-%e5%92%8c-zipkin-%e8%bf%9b%e8%a1%8c%e5%af%b9%e5%be%ae%e6%9c%8d%e5%8a%a1%e7%9a%84%e7%9b%91%e6%8e%a7%e5%92%8c%e5%88%86%e5%b8%83%e5%bc%8f%e8%bf%bd%e8%b8%aa\/#local-main-organization-logo\",\"url\":\"\",\"contentUrl\":\"\",\"caption\":\"Blog - Silicon Cloud\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Istio\u3001Prometheus\u548cZipkin\u5fae\u670d\u52a1\u76d1\u63a7\u4e0e\u5206\u5e03\u5f0f\u8ffd\u8e2a\u5b8c\u5168\u6307\u5357","description":"\u672c\u6559\u7a0b\u8be6\u7ec6\u4ecb\u7ecd\u5982\u4f55\u4f7f\u7528Istio\u3001Prometheus\u548cZipkin\u8fdb\u884c\u5fae\u670d\u52a1\u76d1\u63a7\u548c\u5206\u5e03\u5f0f\u8ffd\u8e2a\u3002\u5305\u542b\u5b8c\u6574\u90e8\u7f72\u6b65\u9aa4\u3001\u914d\u7f6e\u65b9\u6cd5\u3001\u76d1\u63a7\u6307\u6807\u6536\u96c6\u548c\u5206\u5e03\u5f0f\u8ffd\u8e2a\u5b9e\u73b0\u3002\u9002\u5408DevOps\u5de5\u7a0b\u5e08\u548c\u5f00\u53d1\u4eba\u5458\u5b66\u4e60\u5982\u4f55\u6784\u5efa\u5b8c\u6574\u7684\u5fae\u670d\u52a1\u76d1\u63a7\u4f53\u7cfb\u3002","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/zh\/blog\/\u4f7f\u7528-istio\u3001prometheus-\u548c-zipkin-\u8fdb\u884c\u5bf9\u5fae\u670d\u52a1\u7684\u76d1\u63a7\u548c\u5206\u5e03\u5f0f\u8ffd\u8e2a\/","og_locale":"zh_CN","og_type":"article","og_title":"\u4f7f\u7528 Istio\u3001Prometheus \u548c Zipkin \u8fdb\u884c\u5bf9\u5fae\u670d\u52a1\u7684\u76d1\u63a7\u548c\u5206\u5e03\u5f0f\u8ffd\u8e2a","og_description":"\u672c\u6559\u7a0b\u8be6\u7ec6\u4ecb\u7ecd\u5982\u4f55\u4f7f\u7528Istio\u3001Prometheus\u548cZipkin\u8fdb\u884c\u5fae\u670d\u52a1\u76d1\u63a7\u548c\u5206\u5e03\u5f0f\u8ffd\u8e2a\u3002\u5305\u542b\u5b8c\u6574\u90e8\u7f72\u6b65\u9aa4\u3001\u914d\u7f6e\u65b9\u6cd5\u3001\u76d1\u63a7\u6307\u6807\u6536\u96c6\u548c\u5206\u5e03\u5f0f\u8ffd\u8e2a\u5b9e\u73b0\u3002\u9002\u5408DevOps\u5de5\u7a0b\u5e08\u548c\u5f00\u53d1\u4eba\u5458\u5b66\u4e60\u5982\u4f55\u6784\u5efa\u5b8c\u6574\u7684\u5fae\u670d\u52a1\u76d1\u63a7\u4f53\u7cfb\u3002","og_url":"https:\/\/www.silicloud.com\/zh\/blog\/\u4f7f\u7528-istio\u3001prometheus-\u548c-zipkin-\u8fdb\u884c\u5bf9\u5fae\u670d\u52a1\u7684\u76d1\u63a7\u548c\u5206\u5e03\u5f0f\u8ffd\u8e2a\/","og_site_name":"Blog - Silicon Cloud","article_published_time":"2023-05-01T10:28:23+00:00","article_modified_time":"2025-07-29T21:02:22+00:00","og_image":[{"url":"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d53c837434c4406cd09c9\/2-0.png"}],"author":"\u6e05, \u5b87","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"\u6e05, \u5b87","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"4 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8-istio%e3%80%81prometheus-%e5%92%8c-zipkin-%e8%bf%9b%e8%a1%8c%e5%af%b9%e5%be%ae%e6%9c%8d%e5%8a%a1%e7%9a%84%e7%9b%91%e6%8e%a7%e5%92%8c%e5%88%86%e5%b8%83%e5%bc%8f%e8%bf%bd%e8%b8%aa\/","url":"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8-istio%e3%80%81prometheus-%e5%92%8c-zipkin-%e8%bf%9b%e8%a1%8c%e5%af%b9%e5%be%ae%e6%9c%8d%e5%8a%a1%e7%9a%84%e7%9b%91%e6%8e%a7%e5%92%8c%e5%88%86%e5%b8%83%e5%bc%8f%e8%bf%bd%e8%b8%aa\/","name":"Istio\u3001Prometheus\u548cZipkin\u5fae\u670d\u52a1\u76d1\u63a7\u4e0e\u5206\u5e03\u5f0f\u8ffd\u8e2a\u5b8c\u5168\u6307\u5357","isPartOf":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website"},"datePublished":"2023-05-01T10:28:23+00:00","dateModified":"2025-07-29T21:02:22+00:00","author":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/1a6ecd3d914d22a5ac32791ffc1fbd8e"},"description":"\u672c\u6559\u7a0b\u8be6\u7ec6\u4ecb\u7ecd\u5982\u4f55\u4f7f\u7528Istio\u3001Prometheus\u548cZipkin\u8fdb\u884c\u5fae\u670d\u52a1\u76d1\u63a7\u548c\u5206\u5e03\u5f0f\u8ffd\u8e2a\u3002\u5305\u542b\u5b8c\u6574\u90e8\u7f72\u6b65\u9aa4\u3001\u914d\u7f6e\u65b9\u6cd5\u3001\u76d1\u63a7\u6307\u6807\u6536\u96c6\u548c\u5206\u5e03\u5f0f\u8ffd\u8e2a\u5b9e\u73b0\u3002\u9002\u5408DevOps\u5de5\u7a0b\u5e08\u548c\u5f00\u53d1\u4eba\u5458\u5b66\u4e60\u5982\u4f55\u6784\u5efa\u5b8c\u6574\u7684\u5fae\u670d\u52a1\u76d1\u63a7\u4f53\u7cfb\u3002","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8-istio%e3%80%81prometheus-%e5%92%8c-zipkin-%e8%bf%9b%e8%a1%8c%e5%af%b9%e5%be%ae%e6%9c%8d%e5%8a%a1%e7%9a%84%e7%9b%91%e6%8e%a7%e5%92%8c%e5%88%86%e5%b8%83%e5%bc%8f%e8%bf%bd%e8%b8%aa\/#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8-istio%e3%80%81prometheus-%e5%92%8c-zipkin-%e8%bf%9b%e8%a1%8c%e5%af%b9%e5%be%ae%e6%9c%8d%e5%8a%a1%e7%9a%84%e7%9b%91%e6%8e%a7%e5%92%8c%e5%88%86%e5%b8%83%e5%bc%8f%e8%bf%bd%e8%b8%aa\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8-istio%e3%80%81prometheus-%e5%92%8c-zipkin-%e8%bf%9b%e8%a1%8c%e5%af%b9%e5%be%ae%e6%9c%8d%e5%8a%a1%e7%9a%84%e7%9b%91%e6%8e%a7%e5%92%8c%e5%88%86%e5%b8%83%e5%bc%8f%e8%bf%bd%e8%b8%aa\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.silicloud.com\/zh\/blog\/"},{"@type":"ListItem","position":2,"name":"\u4f7f\u7528 Istio\u3001Prometheus \u548c Zipkin \u8fdb\u884c\u5bf9\u5fae\u670d\u52a1\u7684\u76d1\u63a7\u548c\u5206\u5e03\u5f0f\u8ffd\u8e2a"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website","url":"https:\/\/www.silicloud.com\/zh\/blog\/","name":"Blog - Silicon Cloud","description":"","inLanguage":"zh-Hans"},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/1a6ecd3d914d22a5ac32791ffc1fbd8e","name":"\u6e05, \u5b87","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/4b2016c18459a605fc469c7566608f5686491baa112d0871ee613f61b7210565?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/4b2016c18459a605fc469c7566608f5686491baa112d0871ee613f61b7210565?s=96&d=mm&r=g","caption":"\u6e05, \u5b87"},"url":"https:\/\/www.silicloud.com\/zh\/blog\/author\/qingyu\/"},{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8-istio%e3%80%81prometheus-%e5%92%8c-zipkin-%e8%bf%9b%e8%a1%8c%e5%af%b9%e5%be%ae%e6%9c%8d%e5%8a%a1%e7%9a%84%e7%9b%91%e6%8e%a7%e5%92%8c%e5%88%86%e5%b8%83%e5%bc%8f%e8%bf%bd%e8%b8%aa\/#local-main-organization-logo","url":"","contentUrl":"","caption":"Blog - Silicon Cloud"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/43652","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/comments?post=43652"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/43652\/revisions"}],"predecessor-version":[{"id":98490,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/43652\/revisions\/98490"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/media?parent=43652"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/categories?post=43652"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/tags?post=43652"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}