{"id":43869,"date":"2023-09-15T00:18:55","date_gmt":"2023-09-04T13:14:07","guid":{"rendered":"https:\/\/www.silicloud.com\/zh\/blog\/%e6%88%91%e5%ad%a6%e4%b9%a0%e4%ba%86istio%e7%9a%84%e8%b7%af%e7%94%b1%e6%8e%a7%e5%88%b6%e5%92%8c%e5%8f%af%e8%a7%82%e6%b5%8b%e6%80%a7%e5%8a%9f%e8%83%bd%ef%bc%8c%e4%bb%a5%e4%b8%8b%e6%98%af%e6%88%91\/"},"modified":"2024-05-03T23:46:43","modified_gmt":"2024-05-03T15:46:43","slug":"%e6%88%91%e5%ad%a6%e4%b9%a0%e4%ba%86istio%e7%9a%84%e8%b7%af%e7%94%b1%e6%8e%a7%e5%88%b6%e5%92%8c%e5%8f%af%e8%a7%82%e6%b5%8b%e6%80%a7%e5%8a%9f%e8%83%bd%ef%bc%8c%e4%bb%a5%e4%b8%8b%e6%98%af%e6%88%91","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/zh\/blog\/%e6%88%91%e5%ad%a6%e4%b9%a0%e4%ba%86istio%e7%9a%84%e8%b7%af%e7%94%b1%e6%8e%a7%e5%88%b6%e5%92%8c%e5%8f%af%e8%a7%82%e6%b5%8b%e6%80%a7%e5%8a%9f%e8%83%bd%ef%bc%8c%e4%bb%a5%e4%b8%8b%e6%98%af%e6%88%91\/","title":{"rendered":"\u6211\u5b66\u4e60\u4e86Istio\u7684\u8def\u7531\u63a7\u5236\u548c\u53ef\u89c2\u6d4b\u6027\u529f\u80fd\uff0c\u4ee5\u4e0b\u662f\u6211\u81ea\u5df1\u7684\u5b66\u4e60\u7b14\u8bb0"},"content":{"rendered":"<p>\u8fd9\u662f\u5173\u4e8e\u5728\u4e2a\u4eba\u7535\u8111\u4e0a\u7684Kubernetes\u96c6\u7fa4\u4e2d\u8fd0\u884c\u5e76\u9a8c\u8bc1\u6700\u65b0\u7248\u672c\u7684Istio 1.4.2\u7684\u7b14\u8bb0\u3002<\/p>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d557b37434c4406cd6770\/1-0.png\" alt=\"\u30b9\u30af\u30ea\u30fc\u30f3\u30b7\u30e7\u30c3\u30c8 2019-12-14 23.25.24.png\" \/><\/div>\n<h2>Istio \u662f\u4ec0\u4e48\uff1f<\/h2>\n<p>\u5728\u670d\u52a1\u7f51\u683c\u4ea7\u54c1\u4e2d\uff0cIstio\u662f\u83b7\u5f97\u661f\u661f\u6570\u6700\u591a\u7684\uff0c\u4e5f\u5c31\u662f\u6700\u53d7\u6b22\u8fce\u7684\u5f00\u6e90\u670d\u52a1\u7f51\u683c\u3002\u5176\u4ed6\u8457\u540d\u7684\u5305\u62ec\u7531CNCF\u652f\u6301\u7684LINKERD\u4ee5\u53ca\u7531HashCorp\u63a8\u52a8\u7684Consul\u3002\u6b64\u5916\uff0c\u57282019\u5e745\u6708\u7684KubeCon Barcelona\u5927\u4f1a\u4e0a\uff0cMicrosoft\u63a8\u51fa\u4e86\u7531\u4ed6\u4eec\u63a8\u52a8\u7684\u670d\u52a1\u7f51\u683c\u63a5\u53e3\uff08SMI\uff09\u5f00\u6e90\u9879\u76ee\uff0c\u4f46\u4ece\u661f\u661f\u6570\u6765\u770b\uff0c\u4f3c\u4e4e\u5e76\u6ca1\u6709\u5f97\u5230\u592a\u591a\u652f\u6301\u3002<\/p>\n<p>Istio\u662f\u4e00\u4e2a\u7531Google\u3001IBM\u7b49\u516c\u53f8\u5f00\u53d1\u7684\u7528\u4e8e\u76d1\u89c6\u548c\u64cd\u4f5c\u5fae\u670d\u52a1\u7684\u5de5\u5177\uff0c\u662f\u7531CNCF\u7684\u9ad8\u7ea7\u6210\u5458\u63a8\u52a8\u7684\u9879\u76ee\u3002<\/p>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d557b37434c4406cd6770\/5-0.png\" alt=\"servicemesh.png\" \/><\/div>\n<p>Istio\u5305\u62ecEnvoy\u3001Kiali\u3001Jaeger\u3001Grafana\u7b49\u5de5\u5177\uff0c\u53ef\u4ee5\u8fdb\u884c\u8bf7\u6c42\u6d41\u91cf\u63a7\u5236\u3001\u5fae\u670d\u52a1\u5173\u7cfb\u53ef\u89c6\u5316\u3001\u5206\u5e03\u5f0f\u8ffd\u8e2a\u548c\u6307\u6807\u7ba1\u7406\u3002<\/p>\n<p>\u7531\u4e8e\u6bcf\u4e2a\u5f00\u6e90\u8f6f\u4ef6\uff08OSS\uff09\u90fd\u662f\u72ec\u7acb\u7684\u9879\u76ee\uff0c\u56e0\u6b64\u9700\u8981\u6253\u5f00\u5404\u81ea\u7684\u7f51\u9875\u754c\u9762\u624d\u80fd\u8bbf\u95ee\u3002<\/p>\n<h2>\u66f4\u6539\u5b66\u4e60\u73af\u5883\u8bbe\u7f6e<\/h2>\n<p>\u4f7f\u7528\u4e8e\u9a8c\u8bc1\u7684\u73af\u5883\u662f\u4e00\u4e2a\u8fd0\u884c\u4e8eWindows10\u548cmacOS\u7684\u865a\u62df\u73af\u5883\uff0c\u5b83\u662f\u4e00\u4e2a\u7531\u4e09\u4e2a\u8282\u70b9\u7ec4\u6210\u7684\u4e0a\u6e38Kubernetes\u96c6\u7fa4\uff0c\u8be5\u96c6\u7fa4\u662f\u4e3a\u4e86\u5b66\u4e60\u800c\u521b\u5efa\u7684\uff0c\u800c\u4e0d\u662f\u4f7f\u7528IBM Cloud\u7b49\u516c\u5171\u4e91\u6216Red Hat\u7684OpenShift\u3002\u8fd9\u6837\u7684Kubernetes\u73af\u5883\u5bb9\u6613\u5728\u4e2a\u4eba\u7535\u8111\u4e0a\u8fd0\u884c\uff0c\u65e0\u9700\u62c5\u5fc3\u4e91\u8ba1\u7b97\u7684\u8d39\u7528\uff0c\u53ef\u4ee5\u7528\u4e8e\u4e2a\u4eba\u6280\u80fd\u7684\u63d0\u5347\uff0c\u800c\u4e14\u53ef\u4ee5\u8f7b\u677e\u5730\u521b\u5efa\u548c\u9500\u6bc1\u3002\u505c\u6b62\u5b9e\u4f8b\u540e\uff0c\u4e5f\u4e0d\u4f1a\u5360\u7528CPU\u548cRAM\u8d44\u6e90\uff0c\u56e0\u6b64\u53ef\u4ee5\u5229\u7528\u96f6\u6563\u7684\u65f6\u95f4\u7ee7\u7eed\u5b66\u4e60\u3002\u5728\u672c\u4e66\u4e2d\uff0c\u5b83\u88ab\u79f0\u4e3a\u5b66\u4e60\u73af\u58832\u3002<\/p>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d557b37434c4406cd6770\/10-0.png\" alt=\"K8s-Book.png\" \/><\/div>\n<p>\u4ece\u5b66\u4e60\u73af\u58832\u7684\u5de5\u4f5c\u8282\u70b9\u9ed8\u8ba4\u503c\u4fee\u6539\u4e3a2\u4e2aCPU\u6838\u5fc3\u548c4GB\u7684RAM\u5206\u914d\u3002\u7531\u4e8eIstio\u7ec4\u4ef6\u88ab\u5b89\u88c5\u5230\u5de5\u4f5c\u8282\u70b9\u4e0a\uff0c\u56e0\u6b64\u4e0d\u9700\u8981\u66f4\u6539\u4e3b\u8282\u70b9\u7684\u9ed8\u8ba4\u5206\u914d\u3002<\/p>\n<p>\u5728\u672c\u5730\u6267\u884cgit clone https:\/\/github.com\/takara9\/vagrant-kubernetes\u547d\u4ee4\u540e\uff0c\u514b\u9686Vagrant\u6587\u4ef6\u3002\u63a5\u4e0b\u6765\uff0c\u9700\u8981\u4fee\u6539Vagrantfile\u7684\u53c2\u6570\u3002\u4ee5\u4e0b\u662f\u9700\u8981\u4fee\u6539\u7684\u90e8\u5206\uff1a\u5bf9\u4e8enode1\u548cnode2\u8fdb\u884c\u4fee\u6539\uff0c\u800c\u5bf9\u4e8emaster\u6ca1\u6709\u5fc5\u8981\u8fdb\u884c\u66f4\u6539\u3002<\/p>\n<pre class=\"post-pre\"><code>    machine.vm.provider \"virtualbox\" do |vbox|\r\n      vbox.gui = false\r\n      vbox.cpus = 2\r\n      vbox.memory = 4096\r\n    end\r\n<\/code><\/pre>\n<p>\u5f53\u7136\uff0c\u5728\u8fd9\u4e2a\u4fee\u6539\u4e2d\uff0c\u7531\u4e8e\u8981\u6d88\u8017\u7535\u8111\u7684CPU\u6838\u5fc3\u6570\u548c\u5185\u5b58\u5bb9\u91cf\uff0c\u6240\u4ee5\u5fc5\u987b\u4f7f\u7528\u5177\u6709\u8db3\u591fCPU\u6838\u5fc3\u6570\u548c\u5185\u5b58\u5bb9\u91cf\u7684\u7535\u8111\u624d\u80fd\u6267\u884c\u3002\u5728\u4f5c\u8005\u7684\u73af\u5883\u4e2d\uff0c\u4f7f\u7528\u4e86CPU 8\u6838\u3001\u5185\u5b5832GB\u7684Mac\u3002\u5982\u679c\u6709Vagrant\u548cVirtualBox\u7684\u73af\u5883\uff0c\u4e5f\u53ef\u4ee5\u5728Windows10\u6216Linux\u73af\u5883\u4e0b\u6267\u884c\u7c7b\u4f3c\u7684\u64cd\u4f5c\u3002\u5173\u4e8e\u5728\u7535\u8111\u4e0a\u542f\u52a8Kubernetes\u96c6\u7fa4\u7684\u65b9\u6cd5\uff0c\u8bf7\u53c2\u8003https:\/\/github.com\/takara9\/vagrant-kubernetes\u8fdb\u884c\u6307\u5bfc\u3002\u542f\u52a8Kubernetes\u96c6\u7fa4\u540e\uff0c\u4e0e\u516c\u5171\u4e91\u7684Kubernetes\u5e76\u65e0\u5dee\u5f02\uff0c\u56e0\u6b64\u4ece\u4e0b\u4e00\u8282\u5f00\u59cb\uff0c\u53ef\u4ee5\u4f7f\u7528\u516c\u5171\u4e91\u670d\u52a1\u6765\u6267\u884c\u76f8\u540c\u7684\u64cd\u4f5c\u3002<\/p>\n<p>\u5f53Kubernetes\u96c6\u7fa4\u542f\u52a8\u5e76\u901a\u8fc7\u4ee5\u4e0b\u547d\u4ee4\u786e\u8ba4\u5b58\u5728\u4e24\u4e2a\u5de5\u4f5c\u8282\u70b9\u540e\uff0c\u6211\u4eec\u53ef\u4ee5\u5f00\u59cb\u9a8c\u8bc1Istio\u7684\u5de5\u4f5c\u72b6\u6001\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"gp\">maho:k8s-istio maho$<\/span> <span class=\"nb\">export <\/span><span class=\"nv\">KUBECONFIG<\/span><span class=\"o\">=<\/span><span class=\"sb\">`<\/span><span class=\"nb\">pwd<\/span><span class=\"sb\">`<\/span>\/kubeconfig\/config\r\n<span class=\"gp\">maho:k8s-istio maho$<\/span> kubectl get node\r\n<span class=\"go\">NAME     STATUS   ROLES    AGE   VERSION\r\nmaster   Ready    master   16m   v1.14.3\r\n<\/span><span class=\"gp\">node1    Ready    &lt;none&gt;<\/span>   15m   v1.14.3\r\n<span class=\"gp\">node2    Ready    &lt;none&gt;<\/span>   15m   v1.14.3\r\n<\/code><\/pre>\n<p>\u5728\u516c\u5171\u4e91\u7684Kubernetes\u670d\u52a1\u4e2d\uff0c\u5982GKE\u3001IKS\u7b49\uff0c\u867d\u7136\u65e0\u6cd5\u770b\u5230\u4e3b\u8282\u70b9\uff0c\u4f46\u8fd9\u4e0d\u4f1a\u5f71\u54cd\u9a8c\u8bc1\u3002<\/p>\n<h2>\u5b89\u88c5Istio<\/h2>\n<p>\u6309\u7167Isito\u7684\u6587\u6863\uff08https:\/\/istio.io\/docs\/setup\/getting-started\/\uff09\uff0c\u8fdb\u884c\u5b89\u88c5\u3002\u4f7f\u7528curl\u547d\u4ee4\u4e0b\u8f7dIstio\u5ba2\u6237\u7aef\u547d\u4ee4\u548c\u7528\u4e8e\u96c6\u7fa4\u7aef\u7684\u6e05\u5355\u6587\u4ef6\uff0c\u7136\u540e\u5c06\u5176\u89e3\u538b\u5230\u8ba1\u7b97\u673a\u7684\u672c\u5730\u76ee\u5f55\u4e2d\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"gp\">$<\/span> curl <span class=\"nt\">-L<\/span> https:\/\/istio.io\/downloadIstio | sh -\r\n\r\n<span class=\"gp\">&lt;\u4e2d\u7565&gt;<\/span>\r\n<span class=\"go\">Istio has been successfully downloaded into the istio-1.4.2 folder on your system.\r\n\r\nNext Steps:\r\nSee https:\/\/istio.io\/docs\/setup\/kubernetes\/install\/ to add Istio to your Kubernetes cluster.\r\n\r\nTo configure the istioctl client tool for your workstation,\r\nadd the \/Users\/maho\/vm1\/k8s-istio\/istio-1.4.2\/bin directory to your environment path variable with:\r\n<\/span><span class=\"gp\">     export PATH=\"$<\/span>PATH:\/Users\/maho\/vm1\/k8s-istio\/istio-1.4.2\/bin<span class=\"s2\">\"\r\n<\/span><span class=\"go\">\r\nBegin the Istio pre-installation verification check by running:\r\n     istioctl verify-install \r\n\r\nNeed more information? Visit https:\/\/istio.io\/docs\/setup\/kubernetes\/install\/ \r\n<\/span><\/code><\/pre>\n<p>\u8fdb\u5165\u5c55\u5f00\u5148\u7684\u76ee\u5f55\uff0c\u5e76\u5c06istioctl\u547d\u4ee4\u52a0\u5165\u8def\u5f84\u4e2d\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"gp\">maho:k8s-istio maho$<\/span> <span class=\"nb\">cd <\/span>istio-1.4.2\r\n<span class=\"gp\">maho:istio-1.4.2 maho$<\/span> <span class=\"nb\">ls<\/span>\r\n<span class=\"go\">LICENSE     bin     manifest.yaml   tools\r\nREADME.md   install     samples\r\n<\/span><span class=\"gp\">maho:istio-1.4.2 maho$<\/span> <span class=\"nb\">export <\/span><span class=\"nv\">PATH<\/span><span class=\"o\">=<\/span><span class=\"nv\">$PWD<\/span>\/bin:<span class=\"nv\">$PATH<\/span>\r\n<\/code><\/pre>\n<p>\u4f7f\u7528istioctl manifest\u547d\u4ee4\uff0c\u5b89\u88c5Istio\u6240\u9700\u7684\u7ec4\u4ef6\u3002\u547d\u4ee4\u9009\u9879\u7684\u8bf4\u660e\u5728https:\/\/istio.io\/docs\/reference\/commands\/istioctl\/#istioctl-manifest-apply\u4e0a\u3002<\/p>\n<p>\u6839\u636e\u4ee5\u4e0b\u547d\u4ee4\u6267\u884c\u65f6\u7684\u6d88\u606f\u53ef\u77e5\uff0c\u8981\u6267\u884cIstio\uff0c\u9700\u8981\u5305\u542b\u8bb8\u591a\u53c2\u4e0eCNCF\u7684\u7ec4\u7ec7\u7684\u5f00\u6e90\u8f6f\u4ef6\u3002\u60a8\u53ef\u4ee5\u4f7f\u7528&#8211;set profile=\u914d\u7f6e\u6587\u4ef6\u540d\u79f0\u6765\u9009\u62e9\u7ec4\u4ef6\u3002\u8bf7\u53c2\u8003https:\/\/istio.io\/docs\/setup\/additional-setup\/config-profiles\/\u4ee5\u83b7\u53d6\u5177\u4f53\u8bf4\u660e\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"gp\">maho:istio-1.4.2 maho$<\/span> istioctl manifest apply <span class=\"nt\">--set<\/span> <span class=\"nv\">profile<\/span><span class=\"o\">=<\/span>demo\r\n<span class=\"go\">Preparing manifests for these components:\r\n- Policy\r\n- Prometheus\r\n- Injector\r\n- Galley\r\n- CoreDNS\r\n- Kiali\r\n- Pilot\r\n- PrometheusOperator\r\n- Grafana\r\n- Tracing\r\n- Base\r\n- Citadel\r\n- CertManager\r\n- Telemetry\r\n- IngressGateway\r\n- NodeAgent\r\n- EgressGateway\r\n- Cni\r\n\r\n<\/span><span class=\"gp\">&lt;\u4e2d\u7565&gt;<\/span>\r\n<span class=\"go\">\r\nComponent CertManager installed successfully:\r\n=============================================\r\n\r\nComponent Telemetry installed successfully:\r\n===========================================\r\n<\/span><\/code><\/pre>\n<p>\u53ef\u4ee5\u770b\u51fa\uff0cIstio\u5df2\u5b89\u88c5\u4e86\u6240\u9700\u7684\u5de5\u5177\uff0c\u5982\u7528\u4e8e\u5ea6\u91cf\u76d1\u63a7\u7684Web UI grafana\u3001\u65f6\u5e8f\u6570\u636e\u5e93prometheus\u3001\u5206\u5e03\u5f0f\u8ffd\u8e2a\u5de5\u5177jaeger\u7b49\u53ef\u89c6\u5316\u5de5\u5177Kiali\u3002\u56e0\u6b64\uff0c\u9700\u8981\u6ce8\u610f\u8282\u70b9\u7684CPU\u6838\u5fc3\u6570\u548c\u5185\u5b58\u91cf\uff0c\u56e0\u4e3aIstio\u9700\u8981\u8f83\u591a\u8d44\u6e90\u3002\u5728\u6211\u7684\u73af\u5883\u4e2d\uff0c\u5de5\u4f5c\u8282\u70b9\u542f\u52a8\u65f6\u914d\u7f6e\u4e3a2\u4e2aCPU\u6838\u5fc3\u548c4GB\u5185\u5b58\u3002<\/p>\n<p>\u63a5\u4e0b\u6765\u662f\u5b89\u88c5\u4e86Istio 1.4.2\u540e\u7684\u670d\u52a1\u5217\u8868\uff0c\u9664\u4e86Istio\u5916\uff0c\u8fd8\u53ef\u4ee5\u770b\u5230grafana\u3001jaeger\u3001kiali\u3001prometheus\u3001zipkin\u7b49\u6b63\u5e38\u8fd0\u884c\u3002<\/p>\n<pre class=\"post-pre\"><code>maho:istio-1.4.2 maho$ kubectl get svc -n istio-system\r\nNAME                     TYPE           CLUSTER-IP    EXTERNAL-IP   PORT(S)\r\ngrafana                  ClusterIP      10.32.0.138   &lt;none&gt;        3000\/TCP\r\nistio-citadel            ClusterIP      10.32.0.11    &lt;none&gt;        8060\/TCP,15014\/TCP\r\nistio-egressgateway      ClusterIP      10.32.0.133   &lt;none&gt;        80\/TCP,443\/TCP,15443\/TCP\r\nistio-galley             ClusterIP      10.32.0.24    &lt;none&gt;        443\/TCP,15014\/TCP,9901\/TCP,1501\r\nistio-ingressgateway     LoadBalancer   10.32.0.201   &lt;pending&gt;     15020:30110\/TCP,80:31967\/TCP,44\r\nistio-pilot              ClusterIP      10.32.0.164   &lt;none&gt;        15010\/TCP,15011\/TCP,8080\/TCP,15\r\nistio-policy             ClusterIP      10.32.0.151   &lt;none&gt;        9091\/TCP,15004\/TCP,15014\/TCP\r\nistio-sidecar-injector   ClusterIP      10.32.0.43    &lt;none&gt;        443\/TCP\r\nistio-telemetry          ClusterIP      10.32.0.96    &lt;none&gt;        9091\/TCP,15004\/TCP,15014\/TCP,42\r\njaeger-agent             ClusterIP      None          &lt;none&gt;        5775\/UDP,6831\/UDP,6832\/UDP\r\njaeger-collector         ClusterIP      10.32.0.67    &lt;none&gt;        14267\/TCP,14268\/TCP,14250\/TCP\r\njaeger-query             ClusterIP      10.32.0.217   &lt;none&gt;        16686\/TCP\r\nkiali                    ClusterIP      10.32.0.49    &lt;none&gt;        20001\/TCP\r\nprometheus               ClusterIP      10.32.0.243   &lt;none&gt;        9090\/TCP\r\ntracing                  ClusterIP      10.32.0.97    &lt;none&gt;        80\/TCP\r\nzipkin                   ClusterIP      10.32.0.253   &lt;none&gt;        9411\/TCP\r\n<\/code><\/pre>\n<p>\u5728\u4e0a\u8ff0\u670d\u52a1\u5217\u8868\u4e2d\uff0c\u5b58\u5728\u4e00\u4e2aTYPE = LoadBalancer\u7684\u90e8\u5206\u3002\u7531\u4e8e\u6211\u4eec\u6240\u4f7f\u7528\u7684\u8ba1\u7b97\u673a\u4e0a\u7684Kubernetes\u96c6\u7fa4\u6ca1\u6709\u8d1f\u8f7d\u5747\u8861\u5668\uff0c\u56e0\u6b64\u6211\u4eec\u5c06\u5728\u540e\u6587\u4ecb\u7ecd\u4f7f\u7528NodePort\u8fdb\u884c\u8bbf\u95ee\u7684\u65b9\u6cd5\uff0c\u6240\u4ee5\u65e0\u9700\u62c5\u5fc3\u5b83\u5904\u4e8ePending\u72b6\u6001\u3002<\/p>\n<p>\u4e0b\u4e00\u4e2a\u662fistio-system\u547d\u540d\u7a7a\u95f4\u4e2dpod\u7684\u5217\u8868\u3002\u60a8\u53ef\u4ee5\u4e86\u89e3\u5230Istio\u7684\u4e3b\u8981\u7ec4\u4ef6\u7684\u540d\u79f0\u3002\u5173\u4e8e\u8fd9\u4e9b\u7ec4\u4ef6\uff0c\u6211\u7a0d\u540e\u4f1a\u8be6\u7ec6\u4ecb\u7ecd\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"gp\">maho:istio-1.4.2 maho$<\/span> kubectl get pod <span class=\"nt\">-n<\/span> istio-system\r\n<span class=\"go\">NAME                                      READY   STATUS    RESTARTS   AGE\r\ngrafana-5f798469fd-hcqnz                  1\/1     Running   0          3m46s\r\nistio-citadel-6dc789bc4c-cq7qq            1\/1     Running   0          3m47s\r\nistio-egressgateway-75cb89bd7f-qbxtp      1\/1     Running   0          3m47s\r\nistio-galley-5bcd89bd9c-878xw             1\/1     Running   0          3m46s\r\nistio-ingressgateway-7d6b9b5ffc-8smlp     1\/1     Running   0          3m47s\r\nistio-pilot-678b45584b-5ljsk              1\/1     Running   0          3m46s\r\nistio-policy-9f78db4cb-hj68b              1\/1     Running   4          3m47s\r\nistio-sidecar-injector-7d65c79dd5-6g94x   1\/1     Running   0          3m46s\r\nistio-telemetry-fc488f958-bzmg7           1\/1     Running   1          3m47s\r\nistio-tracing-cd67ddf8-p4q2c              1\/1     Running   0          3m47s\r\nkiali-7964898d8c-zvs26                    1\/1     Running   0          3m46s\r\nprometheus-586d4445c7-4928l               1\/1     Running   0          3m47s\r\n<\/span><\/code><\/pre>\n<p>\u4e0b\u4e00\u6b65\u662f\u663e\u793aIstio\u521a\u521a\u90e8\u7f72\u540e\u7684CPU\u548c\u5185\u5b58\u4f7f\u7528\u60c5\u51b5\u3002\u5728\u5e94\u7528\u7a0b\u5e8f\u6ca1\u6709\u8fd0\u884c\u7684\u60c5\u51b5\u4e0b\uff0c\u5de5\u4f5c\u8282\u70b9\u7684\u5185\u5b58\u4f7f\u7528\u91cf\u5df2\u7ecf\u8fbe\u5230\u4e861.3GB\uff0c\u5e76\u4e14\u53ef\u4ee5\u770b\u51fa\u9ed8\u8ba4\u8bbe\u7f6e\u65e0\u6cd5\u6b63\u5e38\u8fd0\u884c\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"gp\">maho:istio-1.4.2 maho$<\/span> kubectl top nodes\r\n<span class=\"go\">NAME     CPU(cores)   CPU%   MEMORY(bytes)   MEMORY%\r\nmaster   102m         5%     743Mi           83%\r\nnode1    99m          4%     1316Mi          34%\r\nnode2    89m          4%     1375Mi          35%\r\n<\/span><\/code><\/pre>\n<p>\u8bf7\u6839\u636ehttps:\/\/istio.io\/docs\/setup\/platform-setup\/\u4e0a\u7684\u8bf4\u660e\uff0c\u5b89\u88c5Istio\u5230\u4e3b\u8981\u7684\u516c\u5171\u4e91\u5e73\u53f0OpenShift\u3002\u5982\u6709\u9700\u8981\uff0c\u8bf7\u53c2\u8003\u3002<\/p>\n<h2>Istio\u7684\u4e3b\u8981\u7ec4\u4ef6\u548c\u529f\u80fd\u6982\u8ff0<\/h2>\n<p>\u6211\u60f3\u5c1d\u8bd5\u5bf9\u524d\u9762\u5217\u51fa\u7684\u7ec4\u4ef6\u8fdb\u884c\u89e3\u91ca\u3002\u6309\u7167\u89d2\u8272\u5c06Pod\u5217\u8868\u8fdb\u884c\u5206\u7ec4\u6392\u5217\uff0c\u9010\u4e2a\u8fdb\u884c\u8bf4\u660e\u3002<\/p>\n<h3>\u5165\u53e3\u7f51\u5173\u548c\u51fa\u53e3\u7f51\u5173<\/h3>\n<p>\u4e0b\u4e00\u4e2aPod\u5c06\u8d1f\u8d23Istio\u670d\u52a1\u7f51\u683c\u7684\u5165\u53e3\u548c\u51fa\u53e3\u3002<\/p>\n<pre class=\"post-pre\"><code>istio-ingressgateway-7d6b9b5ffc-8smlp     1\/1     Running   0          3m47s\r\nistio-egressgateway-75cb89bd7f-qbxtp      1\/1     Running   0          3m47s\r\n<\/code><\/pre>\n<p>Kubernetes\u4e2d\u5e38\u5e38\u4f7f\u7528Ingress\u4f5c\u4e3a\u5c06\u5185\u90e8\u670d\u52a1\u516c\u5f00\u5230\u5916\u90e8\u7684\u65b9\u6cd5\u3002\u7136\u800c\uff0c\u5728Istio\u7684\u670d\u52a1\u7f51\u683c\u4e2d\u63d0\u4f9b\u4e86\u66f4\u597d\u7684\u65b9\u6cd5\u3002\u8fd9\u5c31\u662fIstio Gateway\uff0c\u901a\u8fc7\u5229\u7528\u5176\u4e2d\u7684Istio Ingress Gateway\uff0c\u53ef\u4ee5\u5bf9\u8fdb\u5165\u96c6\u7fa4\u7684\u6d41\u91cf\u5e94\u7528\u76d1\u63a7\u3001\u8def\u7531\u63a7\u5236\u7b49\u529f\u80fd\u3002\u800c\u8d1f\u8d23\u51fa\u53e3\u7684\u5219\u662fIstio Egress Gateway\u3002<\/p>\n<p>\u8fd9\u662f\u7531Envoy\u5b9e\u73b0\u7684\uff0c\u5165\u53e3\u6d41\u91cf\u7531pod istio-ingressgateway-xxxx\u8d1f\u8d23\uff0c\u51fa\u53e3\u6d41\u91cf\u7531pod istio-egressgateway-xxxx\u8d1f\u8d23\u3002<\/p>\n<p>\u53c2\u8003URL<br \/>\n+ \u7f51\u5173, https:\/\/istio.io\/docs\/reference\/config\/networking\/gateway\/<br \/>\n+ \u5165\u53e3\u7f51\u5173, https:\/\/istio.io\/docs\/tasks\/traffic-management\/ingress\/ingress-control\/<br \/>\n+ \u51fa\u53e3\u7f51\u5173, https:\/\/istio.io\/docs\/tasks\/traffic-management\/egress\/egress-gateway\/<\/p>\n<h3>\u4fa7\u8f66\u6ce8\u5165\u5668<\/h3>\n<p>\u4ee5\u4e0b\u662f\u4e00\u4e2a\u7528\u6765\u4e3a\u5e94\u7528\u7a0b\u5e8f\u7684Pod\u4e2d\u5e94\u7528\u670d\u52a1\u7f51\u683cIstio\u7684\u547d\u540d\u7a7a\u95f4\u8bbe\u7f6e\u4e00\u4e2a\u88ab\u79f0\u4e3aSidecar\u7684\u5bb9\u5668\u7684Pod\u3002<\/p>\n<pre class=\"post-pre\"><code>istio-sidecar-injector-7d65c79dd5-6g94x   1\/1     Running   0          3m46s\r\n<\/code><\/pre>\n<p>\u8fd9\u4e2aPod\u7684\u4f5c\u7528\u662f\u4fee\u6539\u90e8\u7f72\u5230\u76ee\u6807\u547d\u540d\u7a7a\u95f4\u7684Pod\u7684\u6e05\u5355\uff0c\u5e76\u914d\u7f6e\u4e00\u4e2a\u540d\u4e3aEnvoy Proxy\u7684Sidecar\u5bb9\u5668\u3002\u8fd9\u4e2aEnvoy Proxy\u7684\u4f5c\u7528\u662f\u4e2d\u7ee7\u6765\u81ea\u524d\u8ff0Ingress Gateway\u7684\u6d41\u91cf\uff0c\u5e76\u5c06\u5176\u5f15\u5bfc\u5230\u5e94\u7528\u7a0b\u5e8f\u5bb9\u5668\u3002<\/p>\n<h3>Istio \u63a7\u5236\u5e73\u9762<\/h3>\n<p>\u63a5\u4e0b\u6765\uff0c\u6211\u4eec\u5c06\u63a2\u8ba8Istio\u7684\u6838\u5fc3\u90e8\u5206\uff0c\u5373\u88ab\u79f0\u4e3aIstio\u63a7\u5236\u5e73\u9762\u7684\u4e00\u7ec4Pod\u3002\u8fd9\u4e9bPod\u662fIstio\u7684\u6838\u5fc3\u7ec4\u4ef6\uff0c\u6211\u60f3\u89e3\u91ca\u4e00\u4e0b\u5b83\u4eec\u5404\u81ea\u7684\u4f5c\u7528\u3002<\/p>\n<pre class=\"post-pre\"><code>istio-pilot-678b45584b-5ljsk              1\/1     Running   0          3m46s\r\nistio-policy-9f78db4cb-hj68b              1\/1     Running   4          3m47s\r\nistio-citadel-6dc789bc4c-cq7qq            1\/1     Running   0          3m47s\r\nistio-telemetry-fc488f958-bzmg7           1\/1     Running   1          3m47s\r\nistio-tracing-cd67ddf8-p4q2c              1\/1     Running   0          3m47s\r\nistio-galley-5bcd89bd9c-878xw             1\/1     Running   0          3m46s\r\n<\/code><\/pre>\n<p>\u5728\u4e0b\u9762\u7684\u6ce8\u91ca\u4e2d\uff0c\u8bf4\u660e Istio Pod \u7684\u540d\u79f0\u548c\u529f\u80fd\u3002\u6bcf\u4e2a Pod \u540d\u79f0\u7684\u672b\u5c3e\u90fd\u9644\u52a0\u4e86\u63a7\u5236\u5668\u7684\u54c8\u5e0c\u503c\uff0c\u5e76\u4e14\u5728\u6bcf\u6b21\u542f\u52a8\u65f6\u90fd\u4f1a\u53d1\u751f\u53d8\u5316\uff0c\u56e0\u6b64\u8868\u793a\u4e3a &#8220;-xxxxx&#8221;\u3002<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">istio-pilot-xxxx : Proxy\u306e\u30b5\u30a4\u30c9\u30ab\u30fc\u306e\u691c\u51fa\u3001\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u7ba1\u7406\u3001\u30b5\u30fc\u30ad\u30c3\u30c8\u30d6\u30ec\u30a4\u30ab\u30fc\u306a\u3069\u30ec\u30b8\u30ea\u30a8\u30f3\u30b7\u30fc\u3092\u62c5\u5f53<\/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\">istio-policy-xxxx : \u30a2\u30af\u30bb\u30b9\u5236\u5fa1\u3084\u6d41\u91cf\u5236\u5fa1\u306a\u3069\u306e\u30dd\u30ea\u30b7\u30fc\u3092Proxy\u3078\u63d0\u4f9b\u3092\u62c5\u5f53<\/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\">istio-telemetry-xxxx : Proxy\u304b\u3089\u30c6\u30ec\u30e1\u30c8\u30ea\u30c7\u30fc\u30bf\u3092\u53d6\u5f97\u3092\u62c5\u5f53<\/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\">istio-citadel-xxxx : \u30b7\u30bf\u30c7\u30eb(Citadel:\u8981\u585e\u306e\u610f\u5473)\u306f\u8a8d\u8a3c\u5c40\u3001\u30b5\u30fc\u30d3\u30b9\u9593\u3068\u30e6\u30fc\u30b6\u30fc\u8a8d\u8a3c\u3092\u62c5\u5f53<\/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\">istio-tracing-xxxx : \u5206\u6563\u30c8\u30ec\u30fc\u30b7\u30f3\u30b0\u3092\u62c5\u5f53<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">istio-galley-xxxx : \u30ae\u30e3\u30ec\u30fc(Galley: \u8abf\u7406\u5ba4\u3001\u30b2\u30e9\uff08\u5370\u5237)\u306e\u610f\u5473)\u306f\u3001\u69cb\u6210\u691c\u8a3c\u3001\u51e6\u7406\u3068\u5206\u6563\u306e\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u3092\u62c5\u5f53<\/ul>\n<p>\u5728Istio\u7684\u67b6\u6784\u4e2d\uff0c\u4e2d\u5fc3\u7ec4\u4ef6\u662fMixer\uff0c\u4f46\u6ca1\u6709\u540d\u4e3aMixer\u7684Pod\u5b58\u5728\u3002Mixer\u8d1f\u8d23\u5728\u6574\u4e2a\u670d\u52a1\u7f51\u683c\u4e2d\u5e94\u7528\u8bbf\u95ee\u63a7\u5236\u548c\u7b56\u7565\uff0c\u5e76\u4ece\u4ee3\u7406\u7b49\u7ec4\u4ef6\u6536\u96c6\u9065\u6d4b\u6570\u636e\u3002\u5177\u4f53\u6765\u8bf4\uff0c\u4ee3\u7406\u4f1a\u63d0\u53d6\u8bf7\u6c42\u7ea7\u522b\u7684\u5c5e\u6027\uff0c\u5e76\u5c06\u5176\u53d1\u9001\u5230Mixer\u8fdb\u884c\u8bc4\u4f30\u3002\u7136\u540e\uff0cMixer\u901a\u8fc7Policy\u5c06\u8bbf\u95ee\u63a7\u5236\u548c\u6d41\u91cf\u63a7\u5236\u7b49\u4fe1\u606f\u53d1\u9001\u7ed9\u4ee3\u7406\u3002<\/p>\n<p>\u53c2\u8003\u7f51\u5740\uff1a<br \/>\n* \u67b6\u6784\uff0chttps:\/\/istio.io\/docs\/ops\/deployment\/architecture\/<br \/>\n* Istio\u4f7f\u7528\u7684\u7aef\u53e3\uff0chttps:\/\/istio.io\/docs\/ops\/deployment\/requirements\/#ports-used-by-istio<\/p>\n<h2>\u53ef\u89c2\u6d4b\u6027 (k\u011b c\u00e8<\/h2>\n<p>\u4ee5\u4e0b\u662f\u6709\u5173Metrics\u3001Logs\u548cDistributed Tracing\u7684Pod\u5217\u8868\u3002<\/p>\n<pre class=\"post-pre\"><code>grafana-5f798469fd-hcqnz                  1\/1     Running   0          3m46s\r\nprometheus-586d4445c7-4928l               1\/1     Running   0          3m47s\r\nkiali-7964898d8c-zvs26                    1\/1     Running   0          3m46s\r\n<\/code><\/pre>\n<p>\u6ce8\u89e3Pod\u7684\u540d\u79f0\u548c\u529f\u80fd\u3002<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">grafana-xxxx : \u30e1\u30c8\u30ea\u30c3\u30af\u30b9\u76e3\u8996\u7528\u306e\u30a6\u30a7\u30d6UI<\/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\">prometheus-xxxx : \u6642\u7cfb\u5217\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">kiali-xxxx : Istio\u30b5\u30fc\u30d3\u30b9\u30e1\u30c3\u30b7\u30e5\u306e\u305f\u3081\u306e\u53ef\u8996\u5316\u30c4\u30fc\u30eb<\/ul>\n<p>\u53c2\u8003\u7f51\u5740\uff1a<br \/>\n* Grafana \u5b98\u7f51, https:\/\/grafana.com\/<br \/>\n* Prometheus \u5b98\u7f51, https:\/\/prometheus.io\/<br \/>\n* Kiali \u5b98\u7f51, https:\/\/kiali.io\/<\/p>\n<h2>Istio\u7684\u67b6\u6784<\/h2>\n<p>\u6211\u4eec\u60f3\u8981\u5ba1\u89c6\u4e00\u4e0bIstio\u7684\u67b6\u6784\u3002\u8fd9\u91cc\u63d0\u4f9b\u4e24\u5f20\u67b6\u6784\u56fe\u6765\u5c55\u793a\u4e0d\u540c\u7684\u89c6\u89d2\u3002\u7b2c\u4e00\u5f20\u56fe\u8868\u793a\u4e3b\u8981\u7ec4\u4ef6\u4e4b\u95f4\u7684\u5173\u7cfb\uff0c\u800c\u7b2c\u4e8c\u5f20\u56fe\u5219\u662f\u4ee5\u5b89\u5168\u89c6\u89d2\u6765\u5c55\u793aIstio\u7684\u67b6\u6784\u3002<\/p>\n<p>\u9996\u5148\uff0c\u6211\u4eec\u6ce8\u610f\u5230\u56fe\u4e0a\u90e8\u7684Service A-&gt;Service B\u7684\u534f\u4f5c\u3002\u8981\u4f7f\u7528Service A\u8c03\u7528Service B\uff0c\u9700\u8981\u901a\u8fc7\u516d\u8fb9\u5f62\u56fe\u6807\u7684\u4ee3\u7406\u8fdb\u884c\u4e2d\u8f6c\u3002\u8fd9\u5c31\u662fEnvoy\u4ee3\u7406\u3002\u8be5\u4ee3\u7406\u4f1a\u63a5\u6536\u6765\u81eaPilot\u7684\u914d\u7f6e\u4fe1\u606f\uff0c\u5e76\u5c06\u5176\u8f6c\u53d1\u5230\u670d\u52a1\u7684\u8bbf\u95ee\u5730\u5740\u3002\u4f8b\u5982\uff0c\u5f53\u5b58\u5728\u591a\u4e2a\u4e0d\u540c\u7248\u672c\u7684\u670d\u52a1\u65f6\uff0c\u53ef\u4ee5\u63a7\u5236\u8bf7\u6c42\u7684\u5206\u53d1\u6bd4\u4f8b\u7b49\u3002Mixer\u4f1a\u5411\u4ee3\u7406\u5e94\u7528\u7b56\u7565\uff0c\u5e76\u6536\u96c6\u4ee3\u7406\u4f20\u8f93\u7684\u9065\u6d4b\u6570\u636e\u3002Mixer\u63d0\u4f9b\u4e86\u7075\u6d3b\u7684\u63d2\u4ef6\u6a21\u5757\uff0c\u53ef\u4ee5\u4e0eKubernetes API\u548c\u4e91\u670d\u52a1API\u8fdb\u884c\u534f\u4f5c\u3002<\/p>\n<p>Galley\u7684\u4f5c\u7528\u662f\u9632\u6b62Istio\u4f9d\u8d56\u4e8e\u5e73\u53f0\u3002\u5b83\u6536\u96c6Kubernetes\u7684\u914d\u7f6e\u4fe1\u606f\uff0c\u5e76\u5411Mixer\u548cPilot\u63d0\u4f9b\u8fd9\u4e9b\u4fe1\u606f\u3002Citadel\u8d1f\u8d23\u521b\u5efa\u548c\u5206\u53d1\u7528\u4e8e\u52a0\u5bc6\u901a\u4fe1\u7684\u8bc1\u4e66\uff0c\u4ee5\u53ca\u5904\u7406\u670d\u52a1\u95f4\u7684\u8ba4\u8bc1\u548c\u7528\u6237\u8ba4\u8bc1\u3002<\/p>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d557b37434c4406cd6770\/63-0.png\" alt=\"art_of_Istio.png\" \/><\/div>\n<p>\u4ee5\u4e0b\u662f\u4e00\u4e2a\u4e2d\u6587\u7684\u7ffb\u8bd1\u9009\u9879\uff1a<\/p>\n<p>\u4e0b\u56fe\u5c55\u793a\u4e86\u4e00\u4e2a\u4ee5\u5b89\u5168\u6027\u64cd\u4f5c\u4e3a\u4e2d\u5fc3\u7684\u67b6\u6784\u56fe\u3002Istio\u670d\u52a1\u7f51\u683c\u4ece\u5916\u90e8\u63a5\u6536\u8bf7\u6c42\u6d41\u91cf\uff0c\u5e76\u901a\u8fc7\u5165\u53e3\u4ee3\u7406\uff08Ingress Proxy\uff09\u8fdb\u884c\u5904\u7406\u3002\u5165\u53e3\u4ee3\u7406\u9884\u5148\u8bbe\u5b9a\u4e86\u4f20\u8f93\u7b56\u7565\uff0c\u6839\u636e\u7b56\u7565\u5c06\u8bf7\u6c42\u8f6c\u53d1\u7ed9Service A\u7684\u8fb9\u8f66\u4ee3\u7406\uff08Sidecar Proxy\uff09\uff0c\u4ece\u800c\u8fbe\u5230Service A\u3002\u6b64\u5916\uff0c\u5f53Service A\u9700\u8981\u8bbf\u95ee\u4f4d\u4e8e\u5176\u540e\u65b9\u7684Service B\u65f6\uff0c\u4e5f\u901a\u8fc7Envoy\u4ee3\u7406\u8fdb\u884c\u4f20\u8f93\u3002\u8fd9\u4e9b\u4ee3\u7406\u4e4b\u95f4\u7684\u8def\u7531\u548c\u8ba4\u8bc1\u7b49\u64cd\u4f5c\u7531Istio\u63a7\u5236\u5e73\u9762\u8d1f\u8d23\u3002\u6bcf\u4e2a\u4ee3\u7406\u8fd8\u4f1a\u5411Mixer\u53d1\u9001\u9065\u6d4b\u4fe1\u606f\u3002\u76f8\u53cd\uff0c\u5f53Istio\u670d\u52a1\u7f51\u683c\u9700\u8981\u8bbf\u95ee\u5916\u90e8\u65f6\uff0c\u4f1a\u4f7f\u7528\u51fa\u53e3\u4ee3\u7406\uff08Egress Proxy\uff09\u3002<\/p>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d557b37434c4406cd6770\/65-0.png\" alt=\"security_art_of_istio.png\" \/><\/div>\n<h2>\u4ea4\u901a\u7ba1\u7406<\/h2>\n<p>\u4ee5\u4e0b\u662fIstio\u7684\u6d41\u91cf\u7ba1\u7406\u529f\u80fd\u5217\u8868\u3002<\/p>\n<p>Request Routing \u30ea\u30af\u30a8\u30b9\u30c8\u3092\u30de\u30a4\u30af\u30ed\u30b5\u30fc\u30d3\u30b9\u306e\u8907\u6570\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u306b\u52d5\u7684\u306b\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0<\/p>\n<p>Fault Injection \u6a21\u64ec\u969c\u5bb3\u306b\u3088\u3063\u3066\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u5fa9\u5143\u529b\u3092\u30c6\u30b9\u30c8\u3059\u308b\u65b9\u6cd5<\/p>\n<p>Traffic Shifting \u30de\u30a4\u30af\u30ed\u30b5\u30fc\u30d3\u30b9\u306e\u3042\u308b\u30d0\u30fc\u30b8\u30e7\u30f3\u304b\u3089\u5225\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u306b\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u3092\u5f90\u3005\u306b\u79fb\u884c\u3059\u308b\u65b9\u6cd5<\/p>\n<p>TCP Traffic Shifting TCP\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u3092\u53e4\u3044\u30d0\u30fc\u30b8\u30e7\u30f3\u304b\u3089\u65b0\u3057\u3044\u30d0\u30fc\u30b8\u30e7\u30f3\u306b\u79fb\u884c<\/p>\n<p>Request Timeouts Envoy\u3067\u30ea\u30af\u30a8\u30b9\u30c8\u30bf\u30a4\u30e0\u30a2\u30a6\u30c8\u3092\u8a2d\u5b9a\u3059\u308b\u65b9\u6cd5<\/p>\n<p>Circuit Breaking \u30b3\u30cd\u30af\u30b7\u30e7\u30f3\u3084\u30ea\u30af\u30a8\u30b9\u30c8\u306e\u7570\u5e38\u5024\u691c\u51fa\u6642\u306e\u906e\u65ad\u3092\u69cb\u6210\u3059\u308b\u65b9\u6cd5<\/p>\n<p>Mirroring Istio\u306e\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u30df\u30e9\u30fc\u30ea\u30f3\u30b0\u6a5f\u80fd<\/p>\n<p>Ingress \u5165\u529b\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u306e\u5236\u5fa1<\/p>\n<p>Egress \u51fa\u529b\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u306e\u5236\u5fa1<\/p>\n<h2>\u5b89\u5168\u6027<\/h2>\n<p>\u8fd9\u662f\u4e00\u79cd\u5c06\u670d\u52a1\u7f51\u683c\u4fdd\u6301\u5728\u5b89\u5168\u72b6\u6001\u7684\u529f\u80fd\u3002<\/p>\n<p>Authentication \u76f8\u4e92TLS\u304a\u3088\u3073\u30a8\u30f3\u30c9\u30e6\u30fc\u30b6\u30fc\u8a8d\u8a3c\u306e\u5236\u5fa1<\/p>\n<p>Authorization Istio\u30b5\u30fc\u30d3\u30b9\u3078\u306e\u30a2\u30af\u30bb\u30b9\u3092\u5236\u5fa1\u3059\u308b\u65b9\u6cd5<\/p>\n<p>Citadel Configuration Citadel\u8a8d\u8a3c\u5c40\u306e\u30ab\u30b9\u30bf\u30de\u30a4\u30ba<\/p>\n<p>Istio DNS Certificate Management Citadel\u306f\u3001\u72ec\u81ea\u306e\u7f72\u540d\u30ad\u30fc\u3092\u7dad\u6301\u3057\u3001Istio\u306eCA\u3068\u3057\u3066\u3082\u6a5f\u80fd\u3002Chiron\u3092\u4ecb\u3057\u3066Istio\u30b3\u30f3\u30c8\u30ed\u30fc\u30eb\u30d7\u30ec\u30fc\u30f3\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u306eDNS\u8a3c\u660e\u66f8\u3092\u30d7\u30ed\u30d3\u30b8\u30e7\u30cb\u30f3\u30b0\u304a\u3088\u3073\u7ba1\u7406\u3059\u308b\u65b9\u6cd5<\/p>\n<p>Istio Webhook Management Experimental Istio\u306b\u306f\u3001Galley\u3068Sidecar Injector \u306e2\u3064\u306e\u30a6\u30a7\u30d6\u30d5\u30c3\u30af\u304c\u3042\u308a\u3001\u72ec\u81ea\u306e\u305f\u3081\u30ea\u30b9\u30af\u304c\u3042\u308b\u3002\u3053\u306e\u5bfe\u7b56\u3068\u3057\u3066Webhook\u306e\u69cb\u6210\u3092\u5b89\u5168\u306b\u7ba1\u7406\u3059\u308b\u65b9\u6cd5<\/p>\n<h2>\u653f\u7b56<\/h2>\n<p>\u8fd9\u662f\u4e00\u4e2a\u5f3a\u5236\u6267\u884c\u653f\u7b56\u7684\u529f\u80fd\u5217\u8868\u3002<\/p>\n<p>Enabling Policy Enforcement Istio\u30dd\u30ea\u30b7\u30fc\u9069\u7528\u3092\u6709\u52b9\u306b\u3059\u308b\u65b9\u6cd5<\/p>\n<p>Enabling Rate Limits \u30b5\u30fc\u30d3\u30b9\u3078\u306e\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u3092\u52d5\u7684\u306b\u5236\u9650\u3059\u308b\u65b9\u6cd5<\/p>\n<p>Control Headers and Routing \u30dd\u30ea\u30b7\u30fc\u30a2\u30c0\u30d7\u30bf\u30fc\u3092\u4f7f\u7528\u3057\u3066\u8981\u6c42\u30d8\u30c3\u30c0\u30fc\u3068\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u3092\u64cd\u4f5c\u3059\u308b\u65b9\u6cd5<\/p>\n<p>Denials and White\/Black Listing \u5c5e\u6027\u30d9\u30fc\u30b9\u307e\u305f\u306fIP\u30d9\u30fc\u30b9\u306e\u30db\u30ef\u30a4\u30c8\u30ea\u30b9\u30c8\u307e\u305f\u306f\u30d6\u30e9\u30c3\u30af\u30ea\u30b9\u30c8\u3067\u30a2\u30af\u30bb\u30b9\u5236\u5fa1\u3059\u308b\u65b9\u6cd5<\/p>\n<h2>\u53ef\u89c2\u6d4b\u6027<\/h2>\n<p>\u9019\u662f\u4e00\u7a2e\u5f9e\u670d\u52d9\u7db2\u683c\u4e2d\u6536\u96c6\u9059\u6e2c\u4fe1\u606f\u7684\u65b9\u6cd5\u3002<\/p>\n<p>Metrics \u30e1\u30c8\u30ea\u30c3\u30af\u30b9\u53ce\u96c6\u3092\u69cb\u6210\u3059\u308b\u65b9\u6cd5<\/p>\n<p>Logs\u3000\u30ed\u30b0\u53ce\u96c6\u3068\u51e6\u7406\u3092\u69cb\u6210\u3059\u308b\u65b9\u6cd5<\/p>\n<p>Distributed Tracing \u30c8\u30ec\u30fc\u30b9\u30b9\u30d1\u30f3\u3092\u53ce\u96c6\u3059\u308b\u305f\u3081\u306eIstio\u5bfe\u5fdc\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u8a2d\u5b9a\u65b9\u6cd5<\/p>\n<p>Visualizing Your Mesh Kiali\u306b\u3088\u308b\u69d8\u3005\u306a\u5074\u9762\u3092\u8996\u899a\u5316\u3059\u308b\u65b9\u6cd5<\/p>\n<p>Remotely Accessing Telemetry Addons \u30af\u30e9\u30b9\u30bf\u30fc\u5916\u306e\u30c6\u30ec\u30e1\u30c8\u30ea\u30a2\u30c9\u30aa\u30f3\u3092\u516c\u958b\u3057\u3066\u30a2\u30af\u30bb\u30b9\u3059\u308b\u3088\u3046\u306bIstio\u3092\u69cb\u6210\u3059\u308b\u65b9\u6cd5<\/p>\n<h2>\u793a\u4f8b\u5e94\u7528\u7a0b\u5e8f Bookinfo<\/h2>\n<p>\u53ef\u4ee5\u4ece\u8fd9\u91cc\u5f00\u59cb\uff0c\u8fd0\u884cIstio\u5305\u4e2d\u9644\u5e26\u7684\u793a\u4f8b\u5e94\u7528\u7a0b\u5e8f\uff0c\u4ee5\u786e\u8ba4\u5177\u4f53\u7684\u64cd\u4f5c\u3002\u5b89\u88c5\u65b9\u6cd5\u53ef\u53c2\u8003https:\/\/istio.io\/docs\/examples\/bookinfo\/#deploying-the-application \uff0c\u53ef\u4ee5\u4e00\u5e76\u67e5\u9605\u3002<\/p>\n<p>\u7528\u4e0b\u9762\u7684\u547d\u4ee4\u6307\u5b9aIstio\u8fb9\u8f66\u81ea\u52a8\u6ce8\u5165\u7684\u547d\u540d\u7a7a\u95f4\u3002\u5728\u8fd9\u91cc\uff0c\u6211\u4eec\u4f7f\u7528\u4e86\u9ed8\u8ba4\u7684\u547d\u540d\u7a7a\u95f4\uff0c\u4f46\u5728\u5b9e\u9645\u8fd0\u8425\u4e2d\uff0c\u5e94\u8be5\u4e0d\u4f7f\u7528\u9ed8\u8ba4\u7684\u547d\u540d\u7a7a\u95f4\u6765\u5e94\u7528Istio\u3002\u8fd9\u662f\u56e0\u4e3a\u5373\u4f7f\u4e3a\u4e86\u8c03\u8bd5\u76ee\u7684\u800c\u8fd0\u884cPod\uff0c\u4e5f\u4f1a\u5b89\u88c5Envoy\u4ee3\u7406\uff0c\u5bfc\u81f4\u5904\u7406\u8d77\u6765\u66f4\u52a0\u9ebb\u70e6\u3002<\/p>\n<pre class=\"post-pre\"><code>maho:istio-1.4.2 maho$ kubectl create namespace bookinfo\r\nnamespace\/bookinfo created\r\nmaho:istio-1.4.2 maho$ kubectl label namespace bookinfo istio-injection=enabled\r\nnamespace\/default labeled\r\n<\/code><\/pre>\n<p>\u53ea\u9700\u8981\u5e94\u7528\u4ee5\u4e0b\u7684YAML\u6587\u4ef6\u5373\u53ef\u5b8c\u6210\u5e94\u7528\u7684\u5b89\u88c5\u3002<\/p>\n<pre class=\"post-pre\"><code>maho:istio-1.4.2 maho$ kubectl apply -n bookinfo -f samples\/bookinfo\/platform\/kube\/bookinfo.yaml\r\n<\/code><\/pre>\n<p>\u901a\u8fc7\u8fd9\u4e2a\u64cd\u4f5c\uff0c\u5c06\u4f1a\u521b\u5efa4\u4e2a\u670d\u52a1\u548c6\u4e2a\u90e8\u7f72\u3002<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">service\/productpage created<\/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\">service\/details created<\/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\">service\/reviews created<\/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\">service\/ratings created<\/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\">deployment.apps\/productpage-v1 created<\/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\">deployment.apps\/details-v1 created<\/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\">deployment.apps\/reviews-v1 created<\/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\">deployment.apps\/reviews-v2 created<\/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\">deployment.apps\/reviews-v3 created<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">deployment.apps\/ratings-v1 created<\/ul>\n<p>\u4ea7\u54c1\u9875\u9762\u662f\u80fd\u591f\u4f53\u73b0\u8be5\u4e66\u7c4d\u9996\u9875\u6574\u4f53\u611f\u7684\u9875\u9762\u3002\u8be6\u60c5\u9875\u9762\u663e\u793a\u8be6\u7ec6\u4fe1\u606f\uff0c\u8bc4\u8bba\u9875\u9762\u76f4\u63a5\u5c55\u793a\u8bc4\u8bba\u5185\u5bb9\uff0c\u8bc4\u5206\u9875\u9762\u7528\u4e8e\u8bbe\u7f6e\u8bc4\u5206\u3002\u8bc4\u8bba\u6709v1\u81f3v3\u7684\u7248\u672c\uff0c\u663e\u793a\u5185\u5bb9\u6709\u6240\u4e0d\u540c\u3002\u670d\u52a1\u4e2d\u53ea\u6709\u4e00\u4e2a\u8bc4\u8bba\uff0c\u5e76\u4e14\u901a\u8fc7\u6807\u7b7e\u4e0ePod\u76f8\u5bf9\u5e94\uff0cv1\u81f3v3\u7684\u8bc4\u8bba\u9875\u9762\u5c06\u4f1a\u968f\u673a\u663e\u793a\u3002<\/p>\n<p>\u4ee5\u4e0b\u662f\u663e\u793a\u670d\u52a1\u5217\u8868\u7684\u5185\u5bb9\u3002\u6240\u6709\u7684\u670d\u52a1\u90fd\u53ef\u4ee5\u88ab\u89c6\u4e3a\u5fae\u670d\u52a1\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"gp\">maho:istio-1.4.2 maho$<\/span> kubectl get services <span class=\"nt\">-n<\/span> bookinfo\r\n<span class=\"go\">NAME          TYPE        CLUSTER-IP    EXTERNAL-IP   PORT(S)    AGE\r\n<\/span><span class=\"gp\">details       ClusterIP   10.32.0.222   &lt;none&gt;<\/span>        9080\/TCP   52s\r\n<span class=\"gp\">productpage   ClusterIP   10.32.0.150   &lt;none&gt;<\/span>        9080\/TCP   52s\r\n<span class=\"gp\">ratings       ClusterIP   10.32.0.223   &lt;none&gt;<\/span>        9080\/TCP   52s\r\n<span class=\"gp\">reviews       ClusterIP   10.32.0.33    &lt;none&gt;<\/span>        9080\/TCP   52s\r\n<\/code><\/pre>\n<p>\u4ee5\u4e0b\u662f\u5e94\u7528\u7a0b\u5e8fPod\u5217\u8868\uff0c\u8fd9\u4e9bPod\u662f\u4ece\u4e0a\u8ff0\u670d\u52a1\u8f6c\u53d1\u800c\u6765\u7684\u3002\u8bf7\u6ce8\u610fREADY\u90e8\u5206\u3002READY\u5217\u663e\u793a\u4e3a2\/2\uff0c\u8868\u793aPod\u4e2d\u6709\u4e24\u4e2a\u5bb9\u5668\u5728\u8fd0\u884c\u3002\u6362\u53e5\u8bdd\u8bf4\uff0c\u539f\u59cb\u5e94\u7528\u7a0b\u5e8fPod\u4e2d\u6ce8\u5165\u4e86Envoy\u4ee3\u7406\u5bb9\u5668\uff0c\u56e0\u6b64Pod\u5185\u6709\u4e24\u4e2a\u5bb9\u5668\u5728\u8fd0\u884c\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"gp\">maho:istio-1.4.2 maho$<\/span> kubectl get pods <span class=\"nt\">-n<\/span> bookinfo\r\n<span class=\"go\">NAME                             READY   STATUS    RESTARTS   AGE\r\ndetails-v1-c5b5f496d-wvw5q       2\/2     Running   0          91s\r\nproductpage-v1-c7765c886-c5tks   2\/2     Running   0          90s\r\nratings-v1-f745cf57b-mqzj8       2\/2     Running   0          90s\r\nreviews-v1-75b979578c-lpprp      2\/2     Running   0          90s\r\nreviews-v2-597bf96c8f-876n6      2\/2     Running   0          91s\r\nreviews-v3-54c6c64795-tghf7      2\/2     Running   0          91s\r\n<\/span><\/code><\/pre>\n<p>\u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\u6765\u6267\u884c\u7b80\u5355\u7684\u8bbf\u95ee\u6d4b\u8bd5\uff0c\u4ee5\u786e\u8ba4\u5e94\u7528\u7a0b\u5e8f\u6b63\u5728\u8fd0\u884c\u3002<br \/>\n\u5982\u679c\u663e\u793a\u4e86\uff0c\u5219\u53ef\u4ee5\u8ba4\u4e3a\u5e94\u7528\u7a0b\u5e8f\u6b63\u5e38\u8fd0\u884c\u3002<\/p>\n<pre class=\"post-pre\"><code>maho:istio-1.4.2 maho$ kubectl exec -it $(kubectl get pod -n bookinfo -l app=ratings -o jsonpath='{.items[0].metadata.name}') -n bookinfo -c ratings -- curl productpage:9080\/productpage | grep -o \"&lt;title&gt;.*&lt;\/title&gt;\"\r\n&lt;title&gt;Simple Bookstore App&lt;\/title&gt;\r\n<\/code><\/pre>\n<h2>Istio \u7f51\u5173\u7684\u914d\u7f6e<\/h2>\n<p>\u901a\u8fc7\u524d\u9762\u7684\u64cd\u4f5c\uff0c\u542f\u52a8\u4e86\u5df2\u914d\u7f6eIstio\u4ee3\u7406\u7684\u5e94\u7528\u7a0b\u5e8f\u3002\u63a5\u4e0b\u6765\uff0c\u9700\u8981\u5c06\u5176\u914d\u7f6e\u4e3a\u63a5\u53d7\u6765\u81eaIstio\u670d\u52a1\u7f51\u683c\u4e4b\u5916\u7684\u6d41\u91cf\u3002<\/p>\n<pre class=\"post-pre\"><code>maho:istio-1.4.2 maho$ kubectl apply -n bookinfo -f samples\/bookinfo\/networking\/bookinfo-gateway.yaml\r\ngateway.networking.istio.io\/bookinfo-gateway created\r\nvirtualservice.networking.istio.io\/bookinfo created\r\n<\/code><\/pre>\n<p>Gateway\u662f\u7531Istio\u6269\u5c55\u7684Kubernetes\u8d44\u6e90\uff0c\u5728\u6ca1\u6709\u5b89\u88c5Istio\u7684Kubernetes\u96c6\u7fa4\u4e2d\u65e0\u6cd5\u4f7f\u7528\u3002<\/p>\n<pre class=\"post-pre\"><code>maho:istio-1.4.2 maho$ kubectl get gateway -n bookinfo\r\nNAME               AGE\r\nbookinfo-gateway   18s\r\n<\/code><\/pre>\n<p>\u6839\u636e\u4ee5\u4e0b\u5185\u5bb9\u4e2d\u63d0\u5230\u7684Ingress Gateway\u5728\u9009\u62e9\u5668\uff08selector\uff09\u4e2d\u7684\u63cf\u8ff0\uff0c\u53ef\u4ee5\u770b\u51fa\u5b83\u4e0e\u4e4b\u76f8\u4e92\u914d\u5408\u3002<\/p>\n<pre class=\"post-pre\"><code>maho:istio-1.4.2 maho$ kubectl describe gateway -n bookinfo\r\nName:         bookinfo-gateway\r\nNamespace:    bookinfo\r\nLabels:       &lt;none&gt;\r\nAnnotations:  kubectl.kubernetes.io\/last-applied-configuration:\r\n                {\"apiVersion\":\"networking.istio.io\/v1alpha3\",\"kind\":\"Gateway\",\"metadata\":{\"annotations\":{},\"name\":\"bookinfo-gateway\",\"namespace\":\"default\"...\r\nAPI Version:  networking.istio.io\/v1alpha3\r\nKind:         Gateway\r\nMetadata:\r\n  Creation Timestamp:  2019-12-11T07:08:34Z\r\n  Generation:          1\r\n  Resource Version:    7509\r\n  Self Link:           \/apis\/networking.istio.io\/v1alpha3\/namespaces\/default\/gateways\/bookinfo-gateway\r\n  UID:                 0b7e6b1c-1be5-11ea-9c24-02b444486472\r\nSpec:\r\n  Selector:\r\n    Istio:  ingressgateway\r\n  Servers:\r\n    Hosts:\r\n      *\r\n    Port:\r\n      Name:      http\r\n      Number:    80\r\n      Protocol:  HTTP\r\nEvents:          &lt;none&gt;\r\n<\/code><\/pre>\n<p>\u7136\u800c\uff0c\u7531\u4e8e istio-ingressgateway \u7684 LoadBalancer \u529f\u80fd\u6ca1\u6709\u8d77\u4f5c\u7528\uff0c\u6240\u4ee5\u65e0\u6cd5\u4ece Kubernetes \u96c6\u7fa4\u5916\u90e8\u8fdb\u884c\u8bbf\u95ee\u3002\u4e0b\u9762\u5c06\u8be6\u7ec6\u8bf4\u660e\u8fd9\u4e2a\u95ee\u9898\u7684\u89e3\u51b3\u65b9\u6848\u3002<\/p>\n<h3>\u8bbe\u7f6eNodePort<\/h3>\n<p>\u5373\u4f7f\u5728Kubernetes\u96c6\u7fa4\u4e2d\u6ca1\u6709\u96c6\u6210LoadBalancer\uff0c\u4f46\u662fistio-ingressgateway\u9488\u5bf9\u6bcf\u4e2a\u670d\u52a1\u90fd\u901a\u8fc7NodePort\u8fdb\u884c\u5f00\u653e\uff0c\u6240\u4ee5\u53ef\u4ee5\u901a\u8fc7Worker\u8282\u70b9\u7684IP\u5730\u5740\u548cNodePort\u7aef\u53e3\u53f7\u8fdb\u884c\u8bbf\u95ee\u3002<\/p>\n<p>\u901a\u8fc7\u5728istio-system\u547d\u540d\u7a7a\u95f4\u4e0b\u6267\u884ckubectl get service -n istio-system istio-ingressgateway -o yaml\u547d\u4ee4\uff0c\u53ef\u4ee5\u4e86\u89e3NodePort\u548c\u670d\u52a1\u4e4b\u95f4\u7684\u5bf9\u5e94\u5173\u7cfb\u3002<\/p>\n<p>\u5728\u8fd9\u91cc\uff0c\u6211\u4eec\u5c06\u770b\u4e00\u4e0b\u5982\u4f55\u4f7f\u7528jsonpath\u4eceJSON\u683c\u5f0f\u7684\u8f93\u51fa\u4e2d\u63d0\u53d6\u503c\u3002\u5728\u8fd9\u91cc\uff0c\u6211\u4eec\u5c06\u83b7\u53d6\u8fde\u63a5\u5230\u5e94\u7528\u7a0b\u5e8fPod\u7684HTTP\/HTTPS\u7aef\u53e3\u53f7\u3002<\/p>\n<pre class=\"post-pre\"><code>maho:istio-1.4.2 maho$ export INGRESS_PORT=$(kubectl -n istio-system get service istio-ingressgateway -o jsonpath='{.spec.ports[?(@.name==\"http2\")].nodePort}')\r\nmaho:istio-1.4.2 maho$ echo $INGRESS_PORT\r\n31128\r\n<\/code><\/pre>\n<p>\u7136\u540e\uff0c\u83b7\u53d6\u8fd0\u884cingressgateway\u7684\u5de5\u4f5c\u8282\u70b9\u7684IP\u5730\u5740\u3002<\/p>\n<pre class=\"post-pre\"><code>maho:istio-1.4.2 maho$ export INGRESS_HOST=$(kubectl get po -l istio=ingressgateway -n istio-system -o jsonpath='{.items[0].status.hostIP}')\r\nmaho:istio-1.4.2 maho$ echo $INGRESS_HOST\r\n172.16.20.13\r\n<\/code><\/pre>\n<p>\u7531\u4e8eNodePort\u7aef\u53e3\u53f7\u548cWorker\u8282\u70b9\u7684IP\u5730\u5740\u5df2\u7ecf\u51c6\u5907\u597d\uff0c\u6240\u4ee5\u6211\u4eec\u901a\u8fc7\u7ec4\u88c5\u73af\u5883\u53d8\u91cf\u6765\u5c1d\u8bd5\u8bbf\u95ee\u3002<\/p>\n<pre class=\"post-pre\"><code>maho:istio-1.4.2 maho$ export GATEWAY_URL=$INGRESS_HOST:$INGRESS_PORT\r\nmaho:istio-1.4.2 maho$ curl -s http:\/\/${GATEWAY_URL}\/productpage | grep -o \"&lt;title&gt;.*&lt;\/title&gt;\"\r\n&lt;title&gt;Simple Bookstore App&lt;\/title&gt;\r\n<\/code><\/pre>\n<p>\u901a\u8fc7\u663e\u793a\uff0c\u53ef\u4ee5\u786e\u5b9a\u901a\u8fc7Istio\u7f51\u5173\u53ef\u4ee5\u8bbf\u95ee\u5728Istio\u670d\u52a1\u7f51\u683c\u5185\u7684\u5e94\u7528\u7a0b\u5e8f\u3002<\/p>\n<p>\u5982\u679c\u4ece\u6d4f\u89c8\u5668\u8bbf\u95ee\uff0c\u5219\u4f1a\u663e\u793a\u4ee5\u4e0b\u753b\u9762\u3002\u5237\u65b0\u540e\uff0c\u5c4f\u5e55\u53f3\u4fa7\u7684&#8221;\u56fe\u4e66\u8bc4\u4ef7&#8221;\u663e\u793a3\u4e2a\u90e8\u7f72\u7248\u672cv1\u3001v2\u3001v3\u4f9d\u6b21\u663e\u793a\u3002v1\u6ca1\u6709\u661f\u661f\uff0cv2\u5e26\u6709\u9ed1\u8272\u661f\u661f\uff0cv3\u5e26\u6709\u7ea2\u8272\u661f\u661f\u3002<\/p>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d557b37434c4406cd6770\/112-0.png\" alt=\"bookinfo.png\" \/><\/div>\n<h2>\u5229\u7528\u53ef\u89c2\u6d4b\u6027\u529f\u80fd<\/h2>\n<p>\u9996\u5148\uff0c\u6211\u4eec\u4ece\u4ee5\u5fae\u670d\u52a1\u6784\u5efa\u7684\u5e94\u7528\u7a0b\u5e8f\u7684\u7ec4\u6210\u5f00\u59cb\u786e\u8ba4\u3002<\/p>\n<p>\u8981\u542f\u52a8\u5d4c\u5165\u5728Istio\u4e2d\u7684Kiali\uff0c\u9700\u8981\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u3002\u8ba1\u7b97\u673a\u7684\u6d4f\u89c8\u5668\u5c06\u542f\u52a8\uff0c\u5e76\u663e\u793aKiali\u7684\u4e3b\u9875\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"gp\">maho:istio-1.4.2 maho$<\/span> istioctl dashboard kiali\r\n<span class=\"go\">http:\/\/localhost:61684\/kiali\r\n<\/span><\/code><\/pre>\n<p>\u6216\u8005\uff0c\u5728https:\/\/localhost:61684\/kiali\/console\/overview\u6253\u5f00\u767b\u5f55\u9875\u9762\uff0c\u4f7f\u7528admin\/admin\u8fdb\u884c\u767b\u5f55\u3002<\/p>\n<p>\u5728Kiali\u7684\u6982\u8ff0\u9875\u9762\u4e2d\uff0c\u6bcf\u4e2a\u547d\u540d\u7a7a\u95f4\u90fd\u663e\u793a\u4e86\u5e94\u7528\u7a0b\u5e8f\u7684\u6570\u91cf\uff0c\u56e0\u6b64\u8bf7\u70b9\u51fb&#8221;bookinfo&#8221;\u8fdb\u884c\u4e0b\u4e00\u6b65\u3002<\/p>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d557b37434c4406cd6770\/119-0.png\" alt=\"kiali-1.png\" \/><\/div>\n<p>\u4e3a\u4e86\u4ee5\u6700\u65b0\u72b6\u6001\u663e\u793a\u5c4f\u5e55\uff0c\u5e76\u4e14\u5982\u679c\u5e94\u7528\u7a0b\u5e8f\u6ca1\u6709\u8bbf\u95ee\u8bb0\u5f55\uff0c\u5219\u65e0\u6cd5\u663e\u793a\u56fe\u5f62\u3002\u56e0\u6b64\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u6d4f\u89c8\u5668\u7b49\u572820\u79d2\u81f330\u79d2\u4e4b\u95f4\u53cd\u590d\u91cd\u65b0\u52a0\u8f7d http:\/\/${GATEWAY_URL}\/productpage \u6765\u5728Kiali\u5c4f\u5e55\u4e0a\u786e\u8ba4\u72b6\u6001\u3002<\/p>\n<p>\u5728\u4e0b\u4e00\u5c4f\u5e55\u8bbe\u7f6e\u4e2d\uff0c\u53ef\u4ee5\u663e\u793a\u5e94\u7528\u7a0b\u5e8f\u5fae\u670d\u52a1\u7684\u7ed3\u6784\u4ee5\u53ca\u5404\u4e2a\u533a\u95f4\u7684\u7b49\u5f85\u65f6\u95f4\u3002\u901a\u8fc7\u8fd9\u4e2a\uff0c\u53ef\u4ee5\u786e\u5b9a\u5728\u54ea\u4e2a\u5fae\u670d\u52a1\u7f51\u683c\u4e2d\u82b1\u8d39\u4e86\u65f6\u95f4\u7684\u5e94\u7528\u7a0b\u5e8f\u3002\u5728\u8fd9\u79cd\u6a21\u5f0f\u4e0b\uff0c\u4e09\u89d2\u5f62\u56fe\u6807\u4ee3\u8868\u670d\u52a1\uff0c\u5706\u5f62\u56fe\u6807\u4ee3\u8868\u5e94\u7528\u7a0b\u5e8f\u7684\u5de5\u4f5c\u8d1f\u8f7d\u3002<\/p>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d557b37434c4406cd6770\/122-0.png\" alt=\"kiali-2.png\" \/><\/div>\n<p>\u63a5\u4e0b\u6765\u53ef\u4ee5\u901a\u8fc7\u70b9\u51fb\u5c4f\u5e55\u4e2d\u7684\u5706\u5f62\u56fe\u6807&#8221;productpage-v1&#8243;\u6765\u5207\u6362\u5230\u4ee5\u8be5\u5e94\u7528\u7684\u5de5\u4f5c\u8d1f\u8f7d\u4e3a\u4e2d\u5fc3\u7684\u653e\u5927\u56fe\u3002\u5728\u8fd9\u91cc\u53ef\u4ee5\u770b\u5230\u5728&#8221;reviews&#8221;\u670d\u52a1\u4e0b\u5b58\u5728\u7740\u4e09\u79cd\u7248\u672c\u7684\u5e94\u7528\u7a0b\u5e8f\uff08Pod\uff09\uff1a&#8221;reviews-v1&#8243;\u3001&#8221;reviews-v2&#8243;\u548c&#8221;reviews-v3&#8243;\u3002\u540c\u65f6\uff0c\u53ef\u4ee5\u901a\u8fc7\u89c6\u89c9\u7684\u65b9\u5f0f\u4e86\u89e3\u5230&#8221;reviews-v2&#8243;\u548c&#8221;reviews-v3&#8243;\u4f7f\u7528\u4e86&#8221;ratings&#8221;\u670d\u52a1\u3002<\/p>\n<p>\u4ee5\u4e0b\u5c4f\u5e55\u622a\u56fe\u663e\u793a\u7684\u662f\u70b9\u51fbproductpage-v1\u540e\u663e\u793a\u7684\u653e\u5927\u56fe\u3002\u5728\u7eff\u7ebf\u7684\u4e2d\u95f4\uff0c\u663e\u793a\u4e86\u54cd\u5e94\u65f6\u95f4\u3002\u8fd9\u662f\u901a\u8fc7Envoy\u4ee3\u7406\u5728\u670d\u52a1\u4e0e\u5e94\u7528\u7a0b\u5e8f\u5bb9\u5668\u4e4b\u95f4\u6d4b\u5f97\u7684\u54cd\u5e94\u65f6\u95f4\u3002\u901a\u8fc7\u8fd9\u4e2a\u65b9\u5f0f\uff0c\u53ef\u4ee5\u5728\u5fae\u670d\u52a1\u534f\u4f5c\u4e2d\u4e86\u89e3\u5177\u4f53\u7684\u95ee\u9898\u6240\u5728\u3002\u800c\u5bf9\u4e8e\u8bf7\u6c42\u7684\u5185\u5bb9\u7b49\u90e8\u5206\uff0c\u53ef\u4ee5\u4f7f\u7528\u5206\u5e03\u5f0f\u8ffd\u8e2a\u5de5\u5177\u8fdb\u884c\u89c2\u5bdf\u3002<\/p>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d557b37434c4406cd6770\/125-0.png\" alt=\"kiali-3.png\" \/><\/div>\n<h2>\u8bf7\u5bf9\u8bf7\u6c42\u6d41\u91cf\u8fdb\u884c\u63a7\u5236\u3002<\/h2>\n<p>\u60f3\u8981\u786e\u8ba4Itiso\u7684\u6d41\u91cf\u7ba1\u7406\u529f\u80fd\uff0c\u53ef\u4ee5\u901a\u8fc7\u63a7\u5236\u5bf9\u4e24\u4e2a\u7248\u672c\u7684\u5e94\u7528\u7a0b\u5e8f reviews-v1 \u548c reviews-v2 \u7684\u5206\u6d41\u6bd4\u4f8b\u6765\u5b9e\u73b0\u3002\u8fd9\u662f\u4e00\u79cd\u6709\u7528\u7684\u529f\u80fd\uff0c\u53ef\u4ee5\u901a\u8fc7\u9010\u6b65\u53d1\u5e03\u800c\u4e0d\u662f\u5728\u4e00\u4e2a\u9636\u6bb5\u4e0a\u6267\u884c\u65b0\u529f\u80fd\u7684\u5e94\u7528\u7a0b\u5e8f\u53d1\u5e03\uff0c\u6765\u5b9e\u65bd\u91d1\u4e1d\u96c0\u53d1\u5e03\u3002<\/p>\n<p>\u63a7\u5236\u6b64\u8d1f\u8f7d\u5747\u8861\u6bd4\u4f8b\u4f7f\u7528Istio\u7684\u4e24\u4e2a\u8d44\u6e90\u3002\u5176\u4e2d\u4e00\u4e2a\u662f\u76ee\u6807\u89c4\u5219 (Destination Rule)\uff0c\u53e6\u4e00\u4e2a\u662f\u865a\u62df\u670d\u52a1 (Virtual Service)\u3002<\/p>\n<p>\u76ee\u6807\u89c4\u5219\u5b9a\u4e49\u4e86\u5728\u8def\u7531\u53d1\u751f\u540e\u5e94\u7528\u4e8e\u670d\u52a1\u6d41\u91cf\u7684\u7b56\u7565\u3002\u8fd9\u4e9b\u89c4\u5219\u53ef\u80fd\u5305\u62ec\u8d1f\u8f7d\u5747\u8861\u7b97\u6cd5\u7684\u9009\u62e9\u3001\u8fde\u63a5\u6570\u9650\u5236\u3001\u68c0\u6d4b\u548c\u6392\u9664\u54cd\u5e94\u6162\u7684\u5f02\u5e38\u4e3b\u673a\u7b49\u3002<\/p>\n<p>\u865a\u62df\u670d\u52a1\u662fIstio\u6d41\u91cf\u63a7\u5236\u7684\u4e3b\u8981\u529f\u80fd\u4e4b\u4e00\uff0c\u4e0e\u76ee\u6807\u89c4\u5219\u4e00\u8d77\u7528\u4e8e\u914d\u7f6e\u8def\u7531\u8bf7\u6c42\u5230Istio\u670d\u52a1\u7f51\u683c\u4e2d\u3002\u5b83\u6309\u987a\u5e8f\u8bc4\u4f30\u8def\u7531\u89c4\u5219\uff0c\u5e76\u4ece\u5339\u914d\u7684\u89c4\u5219\u4e2d\u786e\u5b9a\u6700\u7ec8\u7684\u8def\u7531\u76ee\u6807\u3002<\/p>\n<p>\u4e0b\u4e00\u6b65\u662f\u5728 Kubernetes \u8d44\u6e90\u4e2d\uff0c\u901a\u8fc7 Istio \u7684\u5f15\u5165\u6269\u5c55\u4e86\u529f\u80fd\u7684 VirtualService\uff0c\u5bf9\u4e8e subset: v1 \u548c v2\uff0c\u901a\u8fc7 weight \u7684\u503c\u6307\u5b9a\u4e86\u6743\u91cd\u5206\u914d\u3002\u5728\u5176\u4e2d\uff0cv1 \u7684\u8def\u7531\u6bd4\u4f8b\u4e3a 90%\uff0cv2 \u7684\u8def\u7531\u6bd4\u4f8b\u4e3a 10%\u3002<\/p>\n<pre class=\"post-pre\"><code>apiVersion: networking.istio.io\/v1alpha3\r\nkind: VirtualService\r\nmetadata:\r\n  name: reviews\r\nspec:\r\n  hosts:\r\n    - reviews\r\n  http:\r\n  - route:\r\n    - destination:\r\n        host: reviews\r\n        subset: v1\r\n      weight: 90\r\n    - destination:\r\n        host: reviews\r\n        subset: v2\r\n      weight: 10\r\n<\/code><\/pre>\n<p>\u4e0a\u8ff0\u7684\u5b50\u96c6\u662f\u6307\u5b9a\u5728DestinationRule\u4e2d\u8bbe\u7f6e\u7684\u4e3b\u673a\u7684\u5b50\u96c6\u4e4b\u4e00\u3002<\/p>\n<pre class=\"post-pre\"><code>apiVersion: networking.istio.io\/v1alpha3\r\nkind: DestinationRule\r\nmetadata:\r\n  name: reviews\r\nspec:\r\n  host: reviews\r\n  subsets:\r\n  - name: v1\r\n    labels:\r\n      version: v1\r\n  - name: v2\r\n    labels:\r\n      version: v2\r\n  - name: v3\r\n    labels:\r\n      version: v3\r\n<\/code><\/pre>\n<p>\u8981\u628a\u8fd9\u4e9b\u8bbe\u7f6e\u4ece\u793a\u4f8b\u4ee3\u7801\u4e2d\u5e94\u7528\uff0c\u53ef\u4ee5\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u3002<\/p>\n<p>\u9996\u5148\uff0c\u5e94\u7528DestinationRule\u7684\u8bbe\u7f6e\u3002<\/p>\n<pre class=\"post-pre\"><code>maho:networking maho$ cd samples\/bookinfo\/networking\/\r\nmaho:networking maho$ kubectl apply -f destination-rule-all.yaml -n bookinfo\r\ndestinationrule.networking.istio.io\/productpage created\r\ndestinationrule.networking.istio.io\/reviews created\r\ndestinationrule.networking.istio.io\/ratings created\r\ndestinationrule.networking.istio.io\/details created\r\nmaho:networking maho$ kubectl get destinationrule -n bookinfo\r\nNAME          HOST          AGE\r\ndetails       details       7s\r\nproductpage   productpage   7s\r\nratings       ratings       7s\r\nreviews       reviews       7s\r\n<\/code><\/pre>\n<p>\u63a5\u4e0b\u6765\uff0c\u6267\u884cVirtualService\u7684\u914d\u7f6e\u3002<\/p>\n<pre class=\"post-pre\"><code>maho:networking maho$ kubectl apply -f virtual-service-reviews-90-10.yaml -n bookinfo\r\nvirtualservice.networking.istio.io\/reviews created\r\nmaho:networking maho$ kubectl get -f virtual-service-reviews-90-10.yaml -n bookinfo\r\nNAME      GATEWAYS   HOSTS       AGE\r\nreviews              [reviews]   14s\r\nmaho:networking maho$ kubectl get virtualservices -n bookinfo\r\nNAME       GATEWAYS             HOSTS       AGE\r\nbookinfo   [bookinfo-gateway]   [*]         11h\r\nreviews                         [reviews]   33s\r\n<\/code><\/pre>\n<p>\u4f60\u53ef\u4ee5\u901a\u8fc7\u6d4f\u89c8\u5668\u8bbf\u95eehttp:\/\/${GATEWAY_URL}\/productpage\uff0c\u5e76\u901a\u8fc7\u76ee\u89c6\u786e\u8ba4\u3002\u5982\u679c\u60f3\u8981\u66f4\u51c6\u786e\u5730\u4e86\u89e3\u60c5\u51b5\uff0c\u53ef\u4ee5\u4f7f\u7528Kiali\u3002<\/p>\n<p>\u4ee5\u4e0b\u7684\u5c4f\u5e55\u622a\u56fe\u663e\u793a\u4e86\u4ece\u670d\u52a1\u8bc4\u8bba\u5230\u8bc4\u8bba-v1\u548c\u8bc4\u8bba-v2\u7684\u6bd4\u7387\u3002\u6839\u636e\u8fd9\u4e9b\u5185\u5bb9\uff0c\u53ef\u4ee5\u770b\u51fa\u4e09\u89d2\u5f62\u56fe\u6807\u8bc4\u8bba\u4e0a\u8bbe\u7f6e\u4e86\u865a\u62df\u670d\u52a1\uff0c\u4e00\u4e2a\u767e\u5206\u4e4b91.1\u7684\u6bd4\u7387\u8def\u7531\u5230v1\uff0c\u4e00\u4e2a\u767e\u5206\u4e4b8.9\u7684\u6bd4\u7387\u8def\u7531\u5230v2\u3002\u4e3a\u4e86\u5f97\u5230\u8fd9\u4e2a\u7ed3\u679c\uff0c\u6211\u4eec\u901a\u8fc7\u6d4f\u89c8\u5668\u91cd\u65b0\u52a0\u8f7d\u4e86\u7ea61\u5206\u949f\uff0c\u4ee5\u83b7\u5f97\u7edf\u8ba1\u4e0a\u7684\u7a33\u5b9a\u503c\u3002<\/p>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d557b37434c4406cd6770\/142-0.png\" alt=\"kiali-4.png\" \/><\/div>\n<p>\u901a\u8fc7\u66f4\u6539VirtualService\u7684\u6e05\u5355\u6587\u4ef6virtual-service-reviews-90-10.yaml\uff0c\u53ef\u4ee5\u6539\u53d8\u6bd4\u4f8b\u5e76\u5c06\u5176\u5e94\u7528\u4e8ev2\u5230v3\u7684\u91d1\u4e1d\u96c0\u53d1\u5e03\u7b49\u5404\u79cd\u5e94\u7528\u3002<\/p>\n<p>\u53c2\u8003\u94fe\u63a5\uff1a<br \/>\n* \u76ee\u6807\u89c4\u5219\u6982\u5ff5\uff1ahttps:\/\/istio.io\/docs\/concepts\/traffic-management\/#destination-rules<br \/>\n* \u76ee\u6807\u89c4\u5219\u53c2\u8003\uff1ahttps:\/\/istio.io\/docs\/reference\/config\/networking\/destination-rule\/<br \/>\n* \u865a\u62df\u670d\u52a1\u6982\u5ff5\uff1ahttps:\/\/istio.io\/docs\/concepts\/traffic-management\/#virtual-services<br \/>\n* \u865a\u62df\u670d\u52a1\u53c2\u8003\uff1ahttps:\/\/istio.io\/docs\/reference\/config\/networking\/virtual-service\/<\/p>\n<h2>\u5ea6\u91cf\u8861\u76d1\u63a7<\/h2>\n<p>\u5728\u5b89\u88c5Istio\u65f6\uff0c\u901a\u8fc7\u6dfb\u52a0\u9009\u9879&#8211;set values.grafana.enabled=true\u6216&#8211;set profile=demo\uff0c\u53ef\u4ee5\u5b89\u88c5Prometheus\u548cGrafana\uff0c\u4ece\u800c\u53ef\u4ee5\u67e5\u770b\u5ea6\u91cf\u56fe\u5f62\u6570\u636e\u3002<\/p>\n<p>\u8981\u8bbf\u95eeGrafana\uff0c\u8bf7\u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\u5c06\u670d\u52a1\u5668\u7aef\u53e3\u8f6c\u53d1\u5230\u672c\u673a\uff0c\u5e76\u901a\u8fc7\u6d4f\u89c8\u5668\u8fdb\u884c\u8bbf\u95ee\u3002<\/p>\n<pre class=\"post-pre\"><code>maho:networking maho$ kubectl -n istio-system port-forward $(kubectl -n istio-system get pod -l app=grafana -o jsonpath='{.items[0].metadata.name}') 3000:3000 &amp;\r\n[1] 98492\r\nmaho:networking maho$ Forwarding from 127.0.0.1:3000 -&gt; 3000\r\nForwarding from [::1]:3000 -&gt; 3000\r\nHandling connection for 3000\r\nHandling connection for 3000\r\n<\/code><\/pre>\n<p>\u5f53\u4f60\u4f7f\u7528\u6d4f\u89c8\u5668\u8bbf\u95ee\u4e0b\u9762\u7684URL\u65f6\uff0c\u5c06\u663e\u793aGrafana\u7684\u7f51\u9875\u754c\u9762\uff1ahttp:\/\/localhost:3000\/dashboard\/db\/istio-mesh-dashboard\u3002<\/p>\n<p>\u5728\u4e0b\u4e00\u4e2a\u4eea\u8868\u76d8\u4e2d\uff0c\u5c06\u6c47\u603b\u5e76\u663e\u793a\u6574\u4f53\u8bf7\u6c42\u91cf\u3001\u6210\u529f\u54cd\u5e94\u3001URL\u5730\u5740\u7b49\u9519\u8bef\u54cd\u5e94\uff084xx\u7cfb\u5217\uff09\uff0c\u4ee5\u53ca\u670d\u52a1\u5668\u7aef\u9519\u8bef\u54cd\u5e94\uff085xx\u7cfb\u5217\uff09\u7b49\u3002\u6b64\u5916\uff0c\u5b83\u8fd8\u4f1a\u62a5\u544a\u670d\u52a1\u548c\u5de5\u4f5c\u8d1f\u8f7d\u5bf9\u8c61\u7684\u540d\u79f0\uff0c\u5e76\u63d0\u4f9b\u4e0e\u5176\u914d\u5bf9\u7684\u54cd\u5e94\u65f6\u95f4\u3002<\/p>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d557b37434c4406cd6770\/151-0.png\" alt=\"grafana-1.png\" \/><\/div>\n<p>\u5728Galley\u7684\u6307\u6807\u663e\u793a\u4e2d\uff0c\u663e\u793a\u4e86\u5173\u4e8e\u5185\u5b58\u3001CPU\u3001\u78c1\u76d8\u3001Go\u4f8b\u7a0b\u7b49\u8d44\u6e90\u6d88\u8017\u72b6\u51b5\u548c\u8fd0\u884c\u65f6\u7684\u6307\u6807\u4fe1\u606f\u3002\u4ee5\u4e0b\u662fGalley\u4eea\u8868\u677f\u7684\u793a\u4f8b\u3002<\/p>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d557b37434c4406cd6770\/153-0.png\" alt=\"grafana-2.png\" \/><\/div>\n<p>\u53c2\u8003\u94fe\u63a5\uff1a<br \/>\n\u5b89\u88c5\u914d\u7f6e\u6587\u4ef6\uff0chttps:\/\/istio.io\/docs\/setup\/additional-setup\/config-profiles\/<br \/>\n\u4f7f\u7528Grafana\u53ef\u89c6\u5316\u6307\u6807\uff0chttps:\/\/istio.io\/docs\/tasks\/observability\/metrics\/using-istio-dashboard\/<\/p>\n<h2>\u5206\u6563\u8ffd\u8e2a<\/h2>\n<p>Jager\u53ef\u4ee5\u8ffd\u8e2a\u4efb\u4f55\u5e94\u7528\u7a0b\u5e8f\u7684\u5f00\u53d1\u8bed\u8a00\u3001\u6846\u67b6\u548c\u5e73\u53f0\u3002<\/p>\n<p>\u5728Kiali\u7684\u56fe\u5f62\u663e\u793a\u4e2d\uff0c\u53ef\u4ee5\u6839\u636e\u670d\u52a1\u548c\u5de5\u4f5c\u8d1f\u8f7d\u4e4b\u95f4\u7684\u54cd\u5e94\u65f6\u95f4\u6765\u786e\u5b9a\u95ee\u9898\u7684\u6240\u5728\u3002\u4f46\u662f\uff0c\u5728\u5e94\u7528\u7a0b\u5e8f\u5f00\u53d1\u9636\u6bb5\uff0c\u53ef\u80fd\u4f1a\u9047\u5230\u54cd\u5e94\u6162\u6216\u53d1\u751f\u9519\u8bef\u7684\u95ee\u9898\uff0c\u4f8b\u5982\u5728\u7279\u5b9a\u64cd\u4f5c\u6216\u663e\u793a\u7279\u5b9a\u753b\u9762\u65f6\u3002\u5728\u8003\u8651\u5bf9\u8fd9\u79cd\u60c5\u51b5\u91c7\u53d6\u5e94\u5bf9\u63aa\u65bd\u65f6\uff0cKiali\u7684\u76d1\u63a7\u65b9\u6cd5\u4e0d\u591f\u5145\u5206\u3002\u4e3a\u4e86\u4e86\u89e3\u4e0e\u6bcf\u4e2a\u8bf7\u6c42\u76f8\u5173\u7684\u5fae\u670d\u52a1\u7684\u54cd\u5e94\u72b6\u51b5\uff0c\u5206\u5e03\u5f0f\u8ddf\u8e2a\u5de5\u5177Jaeger\u662f\u4e00\u4e2a\u9009\u9879\u3002Istio\u4e0d\u4ec5\u652f\u6301Jaeger\uff0c\u8fd8\u652f\u6301Zipkin\u3001LightStep\u7b49\u5de5\u5177\uff0c\u4f46\u5728\u8fd9\u91cc\u6211\u4eec\u5c06\u7740\u91cd\u4ecb\u7ecdJaeger\u3002<\/p>\n<p>\u8981\u5728Istio\u4e2d\u4f7f\u7528\u5206\u6563\u8ffd\u8e2a\u529f\u80fd\uff0c\u53ea\u9700\u5728\u5b89\u88c5\u547d\u4ee4\u9009\u9879\u4e2d\u6dfb\u52a0&#8211;set values.tracing.enabled=true \u6216 &#8211;set profile=demo\uff0c\u5373\u53ef\u90e8\u7f72\u3002<\/p>\n<p>\u5f53Istio\u4e2d\u7684Jaeger\u5df2\u7ecf\u5b89\u88c5\u597d\u4e4b\u540e\uff0c\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\uff0c\u4f60\u7684\u8ba1\u7b97\u673a\u6d4f\u89c8\u5668\u5c06\u4f1a\u81ea\u52a8\u542f\u52a8\uff0c\u5e76\u6253\u5f00Jaeger\u7684\u7f51\u9875\u754c\u9762\u3002<\/p>\n<pre class=\"post-pre\"><code>maho:istio-1.4.2 maho$ istioctl dashboard jaeger\r\nhttp:\/\/localhost:49763\r\n<\/code><\/pre>\n<p>\u5728\u4e0b\u4e00\u4e2a\u754c\u9762\u4e2d\uff0c\u5c4f\u5e55\u4e0a\u65b9\u7684\u56fe\u8868\u6a2a\u8f74\u8868\u793a\u65f6\u95f4\uff0c\u7eb5\u8f74\u8868\u793a\u54cd\u5e94\u6240\u9700\u7684\u65f6\u95f4\u3002\u7136\u540e\uff0c\u5728\u4e0b\u65b9\u4f1a\u663e\u793a\u6bcf\u4e2a\u8bf7\u6c42\u7684\u54cd\u5e94\u65f6\u95f4\u3002\u5982\u679c\u8981\u5bf9\u5176\u4e2d\u7684\u67d0\u4e2a\u8bf7\u6c42\u8fdb\u884c\u8be6\u7ec6\u5206\u6790\uff0c\u53ea\u9700\u70b9\u51fb\u8be5\u8bf7\u6c42\uff0c\u5c31\u4f1a\u663e\u793a\u8be5\u8bf7\u6c42\u7684\u8be6\u7ec6\u4fe1\u606f\u3002<\/p>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d557b37434c4406cd6770\/162-0.png\" alt=\"jaeger-1.png\" \/><\/div>\n<p>\u5728\u63a5\u6536\u5230\u6765\u81eaIstio\u7f51\u683c\u5916\u90e8\u7684\u8bf7\u6c42\u5e76\u8fd4\u56de\u54cd\u5e94\u7684\u65f6\u95f4\u6bb5\u5185\uff0c\u53ef\u4ee5\u67e5\u770b\u88ab\u5c42\u7ea7\u8c03\u7528\u7684\u670d\u52a1\u7684\u540d\u79f0\u548c\u5404\u81ea\u7684\u65f6\u95f4\u3002<\/p>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d557b37434c4406cd6770\/164-0.png\" alt=\"jaeger-2.png\" \/><\/div>\n<h2>\u603b\u7ed3<\/h2>\n<p>Istio\u4ee5Envoy Proxy\u4e3a\u6838\u5fc3\uff0c\u91cd\u70b9\u63d0\u4f9b\u6d41\u91cf\u63a7\u5236\u548c\u8ba4\u8bc1\u529f\u80fd\u3002\u5728\u5b89\u88c5\u65f6\uff0c\u8fd8\u6253\u5305\u4e86\u65b9\u4fbf\u7684\u5de5\u5177\uff0c\u5982\u6574\u4f53\u7ed3\u6784\u7684\u5c55\u793a\u3001\u6307\u6807\u76d1\u63a7\u3001\u5206\u5e03\u5f0f\u8ffd\u8e2a\u7b49\u3002\u8fd9\u4e9b\u5de5\u5177\u975e\u5e38\u51fa\u8272\u3002\u7531\u4e8e\u6709\u8fd9\u6837\u7684\u5de5\u5177\u652f\u6301\uff0c\u9884\u671f\u5fae\u670d\u52a1\u5316\u7684\u95e8\u69db\u5c06\u8fdb\u4e00\u6b65\u964d\u4f4e\u3002<\/p>\n<p>\u5982\u679c\u4f7f\u7528Istio\uff0c\u5219\u6309\u7167\u5b50\u7cfb\u7edf\u8fdb\u884c\u5fae\u670d\u52a1\u5316\u53ef\u80fd\u4f1a\u66f4\u5bb9\u6613\u7ba1\u7406\u6027\u80fd\u5e76\u53d1\u73b0\u6545\u969c\u70b9\uff0c\u5bf9\u4e8e\u8d1f\u8d23\u5e94\u7528\u7a0b\u5e8f\u5f00\u53d1\u548c\u7ef4\u62a4\u7684\u4eba\u5458\u6765\u8bf4\uff0c\u8fd9\u53ef\u80fd\u4f1a\u5e26\u6765\u5de8\u5927\u7684\u5229\u76ca\u3002<\/p>\n<p>\u672c\u6587\u4ecb\u7ecd\u7684\u5185\u5bb9\u53ea\u662f Istio \u4e2d\u4e00\u4e9b\u4ee3\u8868\u6027\u7684\u529f\u80fd\uff0c\u800c\u4e0d\u662f\u6240\u6709\u529f\u80fd\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u8fd9\u662f\u5173\u4e8e\u5728\u4e2a\u4eba\u7535\u8111\u4e0a\u7684Kubernetes\u96c6\u7fa4\u4e2d\u8fd0\u884c\u5e76\u9a8c\u8bc1\u6700\u65b0\u7248\u672c\u7684Istio 1.4.2\u7684\u7b14\u8bb0\u3002 Istio [&hellip;]<\/p>\n","protected":false},"author":11,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-43869","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"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>\u6211\u5b66\u4e60\u4e86Istio\u7684\u8def\u7531\u63a7\u5236\u548c\u53ef\u89c2\u6d4b\u6027\u529f\u80fd\uff0c\u4ee5\u4e0b\u662f\u6211\u81ea\u5df1\u7684\u5b66\u4e60\u7b14\u8bb0 - Blog - Silicon Cloud<\/title>\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\/\u6211\u5b66\u4e60\u4e86istio\u7684\u8def\u7531\u63a7\u5236\u548c\u53ef\u89c2\u6d4b\u6027\u529f\u80fd\uff0c\u4ee5\u4e0b\u662f\u6211\/\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u6211\u5b66\u4e60\u4e86Istio\u7684\u8def\u7531\u63a7\u5236\u548c\u53ef\u89c2\u6d4b\u6027\u529f\u80fd\uff0c\u4ee5\u4e0b\u662f\u6211\u81ea\u5df1\u7684\u5b66\u4e60\u7b14\u8bb0\" \/>\n<meta property=\"og:description\" content=\"\u8fd9\u662f\u5173\u4e8e\u5728\u4e2a\u4eba\u7535\u8111\u4e0a\u7684Kubernetes\u96c6\u7fa4\u4e2d\u8fd0\u884c\u5e76\u9a8c\u8bc1\u6700\u65b0\u7248\u672c\u7684Istio 1.4.2\u7684\u7b14\u8bb0\u3002 Istio [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/zh\/blog\/\u6211\u5b66\u4e60\u4e86istio\u7684\u8def\u7531\u63a7\u5236\u548c\u53ef\u89c2\u6d4b\u6027\u529f\u80fd\uff0c\u4ee5\u4e0b\u662f\u6211\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:published_time\" content=\"2023-09-04T13:14:07+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-05-03T15:46:43+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d557b37434c4406cd6770\/1-0.png\" \/>\n<meta name=\"author\" content=\"\u65b0, \u97f5\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"\u65b0, \u97f5\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 \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\/%e6%88%91%e5%ad%a6%e4%b9%a0%e4%ba%86istio%e7%9a%84%e8%b7%af%e7%94%b1%e6%8e%a7%e5%88%b6%e5%92%8c%e5%8f%af%e8%a7%82%e6%b5%8b%e6%80%a7%e5%8a%9f%e8%83%bd%ef%bc%8c%e4%bb%a5%e4%b8%8b%e6%98%af%e6%88%91\/\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e6%88%91%e5%ad%a6%e4%b9%a0%e4%ba%86istio%e7%9a%84%e8%b7%af%e7%94%b1%e6%8e%a7%e5%88%b6%e5%92%8c%e5%8f%af%e8%a7%82%e6%b5%8b%e6%80%a7%e5%8a%9f%e8%83%bd%ef%bc%8c%e4%bb%a5%e4%b8%8b%e6%98%af%e6%88%91\/\",\"name\":\"\u6211\u5b66\u4e60\u4e86Istio\u7684\u8def\u7531\u63a7\u5236\u548c\u53ef\u89c2\u6d4b\u6027\u529f\u80fd\uff0c\u4ee5\u4e0b\u662f\u6211\u81ea\u5df1\u7684\u5b66\u4e60\u7b14\u8bb0 - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\"},\"datePublished\":\"2023-09-04T13:14:07+00:00\",\"dateModified\":\"2024-05-03T15:46:43+00:00\",\"author\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/4ba4019495123db3038fd0809e6959c9\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e6%88%91%e5%ad%a6%e4%b9%a0%e4%ba%86istio%e7%9a%84%e8%b7%af%e7%94%b1%e6%8e%a7%e5%88%b6%e5%92%8c%e5%8f%af%e8%a7%82%e6%b5%8b%e6%80%a7%e5%8a%9f%e8%83%bd%ef%bc%8c%e4%bb%a5%e4%b8%8b%e6%98%af%e6%88%91\/#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/zh\/blog\/%e6%88%91%e5%ad%a6%e4%b9%a0%e4%ba%86istio%e7%9a%84%e8%b7%af%e7%94%b1%e6%8e%a7%e5%88%b6%e5%92%8c%e5%8f%af%e8%a7%82%e6%b5%8b%e6%80%a7%e5%8a%9f%e8%83%bd%ef%bc%8c%e4%bb%a5%e4%b8%8b%e6%98%af%e6%88%91\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e6%88%91%e5%ad%a6%e4%b9%a0%e4%ba%86istio%e7%9a%84%e8%b7%af%e7%94%b1%e6%8e%a7%e5%88%b6%e5%92%8c%e5%8f%af%e8%a7%82%e6%b5%8b%e6%80%a7%e5%8a%9f%e8%83%bd%ef%bc%8c%e4%bb%a5%e4%b8%8b%e6%98%af%e6%88%91\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.silicloud.com\/zh\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u6211\u5b66\u4e60\u4e86Istio\u7684\u8def\u7531\u63a7\u5236\u548c\u53ef\u89c2\u6d4b\u6027\u529f\u80fd\uff0c\u4ee5\u4e0b\u662f\u6211\u81ea\u5df1\u7684\u5b66\u4e60\u7b14\u8bb0\"}]},{\"@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\/4ba4019495123db3038fd0809e6959c9\",\"name\":\"\u65b0, \u97f5\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/d484b6c6e4ae82e8a9efea989e1d2af46d9b6ef128101e63b18f559fca0ae627?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/d484b6c6e4ae82e8a9efea989e1d2af46d9b6ef128101e63b18f559fca0ae627?s=96&d=mm&r=g\",\"caption\":\"\u65b0, \u97f5\"},\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/author\/yunxin\/\"},{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e6%88%91%e5%ad%a6%e4%b9%a0%e4%ba%86istio%e7%9a%84%e8%b7%af%e7%94%b1%e6%8e%a7%e5%88%b6%e5%92%8c%e5%8f%af%e8%a7%82%e6%b5%8b%e6%80%a7%e5%8a%9f%e8%83%bd%ef%bc%8c%e4%bb%a5%e4%b8%8b%e6%98%af%e6%88%91\/#local-main-organization-logo\",\"url\":\"\",\"contentUrl\":\"\",\"caption\":\"Blog - Silicon Cloud\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"\u6211\u5b66\u4e60\u4e86Istio\u7684\u8def\u7531\u63a7\u5236\u548c\u53ef\u89c2\u6d4b\u6027\u529f\u80fd\uff0c\u4ee5\u4e0b\u662f\u6211\u81ea\u5df1\u7684\u5b66\u4e60\u7b14\u8bb0 - Blog - Silicon Cloud","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\/\u6211\u5b66\u4e60\u4e86istio\u7684\u8def\u7531\u63a7\u5236\u548c\u53ef\u89c2\u6d4b\u6027\u529f\u80fd\uff0c\u4ee5\u4e0b\u662f\u6211\/","og_locale":"zh_CN","og_type":"article","og_title":"\u6211\u5b66\u4e60\u4e86Istio\u7684\u8def\u7531\u63a7\u5236\u548c\u53ef\u89c2\u6d4b\u6027\u529f\u80fd\uff0c\u4ee5\u4e0b\u662f\u6211\u81ea\u5df1\u7684\u5b66\u4e60\u7b14\u8bb0","og_description":"\u8fd9\u662f\u5173\u4e8e\u5728\u4e2a\u4eba\u7535\u8111\u4e0a\u7684Kubernetes\u96c6\u7fa4\u4e2d\u8fd0\u884c\u5e76\u9a8c\u8bc1\u6700\u65b0\u7248\u672c\u7684Istio 1.4.2\u7684\u7b14\u8bb0\u3002 Istio [&hellip;]","og_url":"https:\/\/www.silicloud.com\/zh\/blog\/\u6211\u5b66\u4e60\u4e86istio\u7684\u8def\u7531\u63a7\u5236\u548c\u53ef\u89c2\u6d4b\u6027\u529f\u80fd\uff0c\u4ee5\u4e0b\u662f\u6211\/","og_site_name":"Blog - Silicon Cloud","article_published_time":"2023-09-04T13:14:07+00:00","article_modified_time":"2024-05-03T15:46:43+00:00","og_image":[{"url":"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d557b37434c4406cd6770\/1-0.png"}],"author":"\u65b0, \u97f5","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"\u65b0, \u97f5","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"10 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e6%88%91%e5%ad%a6%e4%b9%a0%e4%ba%86istio%e7%9a%84%e8%b7%af%e7%94%b1%e6%8e%a7%e5%88%b6%e5%92%8c%e5%8f%af%e8%a7%82%e6%b5%8b%e6%80%a7%e5%8a%9f%e8%83%bd%ef%bc%8c%e4%bb%a5%e4%b8%8b%e6%98%af%e6%88%91\/","url":"https:\/\/www.silicloud.com\/zh\/blog\/%e6%88%91%e5%ad%a6%e4%b9%a0%e4%ba%86istio%e7%9a%84%e8%b7%af%e7%94%b1%e6%8e%a7%e5%88%b6%e5%92%8c%e5%8f%af%e8%a7%82%e6%b5%8b%e6%80%a7%e5%8a%9f%e8%83%bd%ef%bc%8c%e4%bb%a5%e4%b8%8b%e6%98%af%e6%88%91\/","name":"\u6211\u5b66\u4e60\u4e86Istio\u7684\u8def\u7531\u63a7\u5236\u548c\u53ef\u89c2\u6d4b\u6027\u529f\u80fd\uff0c\u4ee5\u4e0b\u662f\u6211\u81ea\u5df1\u7684\u5b66\u4e60\u7b14\u8bb0 - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website"},"datePublished":"2023-09-04T13:14:07+00:00","dateModified":"2024-05-03T15:46:43+00:00","author":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/4ba4019495123db3038fd0809e6959c9"},"breadcrumb":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e6%88%91%e5%ad%a6%e4%b9%a0%e4%ba%86istio%e7%9a%84%e8%b7%af%e7%94%b1%e6%8e%a7%e5%88%b6%e5%92%8c%e5%8f%af%e8%a7%82%e6%b5%8b%e6%80%a7%e5%8a%9f%e8%83%bd%ef%bc%8c%e4%bb%a5%e4%b8%8b%e6%98%af%e6%88%91\/#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/zh\/blog\/%e6%88%91%e5%ad%a6%e4%b9%a0%e4%ba%86istio%e7%9a%84%e8%b7%af%e7%94%b1%e6%8e%a7%e5%88%b6%e5%92%8c%e5%8f%af%e8%a7%82%e6%b5%8b%e6%80%a7%e5%8a%9f%e8%83%bd%ef%bc%8c%e4%bb%a5%e4%b8%8b%e6%98%af%e6%88%91\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e6%88%91%e5%ad%a6%e4%b9%a0%e4%ba%86istio%e7%9a%84%e8%b7%af%e7%94%b1%e6%8e%a7%e5%88%b6%e5%92%8c%e5%8f%af%e8%a7%82%e6%b5%8b%e6%80%a7%e5%8a%9f%e8%83%bd%ef%bc%8c%e4%bb%a5%e4%b8%8b%e6%98%af%e6%88%91\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.silicloud.com\/zh\/blog\/"},{"@type":"ListItem","position":2,"name":"\u6211\u5b66\u4e60\u4e86Istio\u7684\u8def\u7531\u63a7\u5236\u548c\u53ef\u89c2\u6d4b\u6027\u529f\u80fd\uff0c\u4ee5\u4e0b\u662f\u6211\u81ea\u5df1\u7684\u5b66\u4e60\u7b14\u8bb0"}]},{"@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\/4ba4019495123db3038fd0809e6959c9","name":"\u65b0, \u97f5","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/d484b6c6e4ae82e8a9efea989e1d2af46d9b6ef128101e63b18f559fca0ae627?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d484b6c6e4ae82e8a9efea989e1d2af46d9b6ef128101e63b18f559fca0ae627?s=96&d=mm&r=g","caption":"\u65b0, \u97f5"},"url":"https:\/\/www.silicloud.com\/zh\/blog\/author\/yunxin\/"},{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e6%88%91%e5%ad%a6%e4%b9%a0%e4%ba%86istio%e7%9a%84%e8%b7%af%e7%94%b1%e6%8e%a7%e5%88%b6%e5%92%8c%e5%8f%af%e8%a7%82%e6%b5%8b%e6%80%a7%e5%8a%9f%e8%83%bd%ef%bc%8c%e4%bb%a5%e4%b8%8b%e6%98%af%e6%88%91\/#local-main-organization-logo","url":"","contentUrl":"","caption":"Blog - Silicon Cloud"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/43869","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\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/comments?post=43869"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/43869\/revisions"}],"predecessor-version":[{"id":94829,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/43869\/revisions\/94829"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/media?parent=43869"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/categories?post=43869"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/tags?post=43869"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}