{"id":43699,"date":"2022-11-16T18:18:12","date_gmt":"2023-11-07T20:29:15","guid":{"rendered":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%ae%89%e8%a3%85-istio\/"},"modified":"2024-04-29T01:00:27","modified_gmt":"2024-04-28T17:00:27","slug":"%e5%ae%89%e8%a3%85-istio","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%ae%89%e8%a3%85-istio\/","title":{"rendered":"\u5b89\u88c5 Istio"},"content":{"rendered":"<h1>\u5927\u7eb2<\/h1>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">k8s\u30c6\u30b9\u30c8\u74b0\u5883\u69cb\u7bc9<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">Istio \u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/ul>\n<h1>\u5efa\u7acb\u76ee\u5f55<\/h1>\n<ul class=\"post-ul\">\u5168\u4f53\u76ee\u6b21<\/ul>\n<h1>\u73af\u5883<\/h1>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Rancher: v2.6.3<\/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(Client): v1.22.4<\/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(Server): v1.22.4<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">Istio: v1.12.1<\/ul>\n<h2>\u5b89\u88c5<\/h2>\n<h4>\u4e0b\u8f7dIstioctl\uff08\u547d\u4ee4\u884c\u5de5\u5177\uff09<\/h4>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u4f5c\u696d\u5834\u6240: ClientPC<\/ul>\n<\/li>\n<\/ul>\n<p>Istio Release Page<br \/>\nhttps:\/\/github.com\/istio\/istio\/releases<\/p>\n<p>\u30d5\u30a1\u30a4\u30eb\u8aac\u660e<br \/>\nistio-x.x.x-linux-amd64.tar.gz\uff1a istioctl\u30b3\u30de\u30f3\u30c9 + istio\u30b5\u30f3\u30d7\u30eb<br \/>\nistioctl-x.x.x-linux-amd64.tar.gz\uff1a istioctl\u30b3\u30de\u30f3\u30c9\u306e\u307f<\/p>\n<pre class=\"post-pre\"><code>$ wget https:\/\/github.com\/istio\/istio\/releases\/download\/1.12.1\/istioctl-1.12.1-linux-amd64.tar.gz\r\n$ tar xvf istioctl-1.12.1-linux-amd64.tar.gz\r\n$ sudo mv istioctl \/usr\/local\/bin\/\r\n\r\n## version \u78ba\u8a8d ##\r\n$ istioctl version\r\nno running Istio pods in \"istio-system\"\r\n1.12.1\r\n<\/code><\/pre>\n<h4>2. \u5b89\u88c5Istio<\/h4>\n<p>\u2192 \u672c\u6559\u7a0b\u4e2d\u4f7f\u7528\u547d\u4ee4\u8fdb\u884c\u5b89\u88c5\u3002<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Istio Install Page<\/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\">https:\/\/istio.io\/latest\/docs\/setup\/install\/istioctl\/<\/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\">\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u4f5c\u6210<\/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\">\u203bHPA\u3092\u7121\u52b9\u3001Replica\u3092\u300c2\u300d\u306b\u8a2d\u5b9a<\/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\">\u203b\u8a2d\u5b9a\u30fb\u30aa\u30d7\u30b7\u30e7\u30f3\u306f\u4ee5\u4e0b\u53c2\u7167<\/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\">https:\/\/istio.io\/latest\/docs\/reference\/config\/istio.operator.v1alpha1\/<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">https:\/\/istio.io\/v1.5\/docs\/reference\/config\/installation-options\/<\/ul>\n<pre class=\"post-pre\"><code><span class=\"na\">apiVersion<\/span><span class=\"pi\">:<\/span> <span class=\"s\">install.istio.io\/v1alpha1<\/span>\r\n<span class=\"na\">kind<\/span><span class=\"pi\">:<\/span> <span class=\"s\">IstioOperator<\/span>\r\n<span class=\"na\">spec<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">components<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"na\">pilot<\/span><span class=\"pi\">:<\/span>\r\n      <span class=\"na\">k8s<\/span><span class=\"pi\">:<\/span>\r\n        <span class=\"na\">replicaCount<\/span><span class=\"pi\">:<\/span> <span class=\"m\">2<\/span>\r\n    <span class=\"na\">ingressGateways<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"pi\">-<\/span> <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">istio-ingressgateway<\/span>\r\n      <span class=\"na\">k8s<\/span><span class=\"pi\">:<\/span>\r\n        <span class=\"na\">replicaCount<\/span><span class=\"pi\">:<\/span> <span class=\"m\">2<\/span>\r\n  <span class=\"na\">values<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"na\">gateways<\/span><span class=\"pi\">:<\/span>\r\n      <span class=\"na\">istio-ingressgateway<\/span><span class=\"pi\">:<\/span>\r\n        <span class=\"na\">autoscaleEnabled<\/span><span class=\"pi\">:<\/span> <span class=\"no\">false<\/span>\r\n    <span class=\"na\">pilot<\/span><span class=\"pi\">:<\/span>\r\n      <span class=\"na\">autoscaleEnabled<\/span><span class=\"pi\">:<\/span> <span class=\"no\">false<\/span>\r\n<\/code><\/pre>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Istio\u306e\u30d3\u30eb\u30c8\u30a4\u30f3profile\u3092\u6307\u5b9a<\/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\">\u203b\u5404profile \u8a73\u7d30\u8aac\u660e<\/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\">https:\/\/istio.io\/latest\/docs\/setup\/additional-setup\/config-profiles\/<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/ul>\n<pre class=\"post-pre\"><code>## Default profile\u30fbDefault \u8a2d\u5b9a\u3067\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b\u5834\u5408\r\n$ istioctl install\r\n\r\n## profile\u3092\u6307\u5b9a\u3059\u308b\u5834\u5408\r\n$ istioctl install --set profile=&lt;profile\u540d&gt;\r\n\r\n## \u4e0a\u8a18\u3067\u4f5c\u6210\u3057\u305f\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb(config.yaml)\u3067\u8a2d\u5b9a\u3092\u30ab\u30b9\u30bf\u30de\u30a4\u30ba\u3059\u308b\u5834\u5408\r\n$ istioctl install -f config.yaml\r\n\r\n## \u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u5f8c\u3001\u78ba\u8a8d\r\n$ istioctl verify-install\r\n\r\n## \u8a2d\u5b9a\u78ba\u8a8d\r\n$ kubectl -n istio-system get IstioOperator installed-state -o=json\r\n\r\n## \u30ea\u30bd\u30fc\u30b9\u78ba\u8a8d\r\n$ kubectl -n istio-system get all\r\nNAME                                      READY   STATUS    RESTARTS   AGE\r\npod\/istio-ingressgateway-8c48d875-798r5   1\/1     Running   0          11m\r\npod\/istio-ingressgateway-8c48d875-86xtb   1\/1     Running   0          68m\r\npod\/istiod-58d79b7bff-62l8k               1\/1     Running   0          68m\r\npod\/istiod-58d79b7bff-c2gj8               1\/1     Running   0          11m\r\n\r\nNAME                           TYPE           CLUSTER-IP     EXTERNAL-IP       PORT(S)                                      AGE\r\nservice\/istio-ingressgateway   LoadBalancer   10.43.141.17   192.168.245.112   15021:31809\/TCP,80:32237\/TCP,443:32558\/TCP   68m\r\nservice\/istiod                 ClusterIP      10.43.140.26   &lt;none&gt;            15010\/TCP,15012\/TCP,443\/TCP,15014\/TCP        68m\r\n\r\nNAME                                   READY   UP-TO-DATE   AVAILABLE   AGE\r\ndeployment.apps\/istio-ingressgateway   2\/2     2            2           68m\r\ndeployment.apps\/istiod                 2\/2     2            2           68m\r\n\r\nNAME                                            DESIRED   CURRENT   READY   AGE\r\nreplicaset.apps\/istio-ingressgateway-8c48d875   2         2         2       68m\r\nreplicaset.apps\/istiod-58d79b7bff               2         2         2       68m\r\n<\/code><\/pre>\n<h4>3. \u5b89\u88c5Istio\u6240\u9700\u7684Prometheus\u3001Grafana\u548cKiali\u3002<\/h4>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Integration Configuration Page<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">https:\/\/istio.io\/latest\/docs\/ops\/integrations\/<\/ul>\n<pre class=\"post-pre\"><code>## prometheus \u30a4\u30f3\u30b9\u30c8\u30fc\u30eb ##\r\n$ kubectl apply -f https:\/\/raw.githubusercontent.com\/istio\/istio\/release-1.12\/samples\/addons\/prometheus.yaml\r\n\r\n## grafana \u30a4\u30f3\u30b9\u30c8\u30fc\u30eb ##\r\n$ kubectl apply -f https:\/\/raw.githubusercontent.com\/istio\/istio\/release-1.12\/samples\/addons\/grafana.yaml\r\n\r\n## kiali \u30a4\u30f3\u30b9\u30c8\u30fc\u30eb ##\r\n$ kubectl apply -f https:\/\/raw.githubusercontent.com\/istio\/istio\/release-1.12\/samples\/addons\/kiali.yaml\r\n\r\n## pod \u78ba\u8a8d ##\r\n$ kubectl -n istio-system get pod\r\nNAME                                  READY   STATUS    RESTARTS        AGE\r\ngrafana-6ccd56f4b6-qd8sm              1\/1     Running   0               77s\r\n..........\r\nkiali-79b86ff5bc-cjpww                1\/1     Running   0               67s\r\nprometheus-64fd8ccd65-mmzdt           2\/2     Running   0               87s\r\n<\/code><\/pre>\n<ul class=\"post-ul\">prometheus \u5b9f\u884c\u78ba\u8a8d<\/ul>\n<pre class=\"post-pre\"><code>$ istioctl dashboard prometheus\r\n<\/code><\/pre>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d53e137434c4406cd0f89\/21-0.png\" alt=\"23-1.png\" \/><\/div>\n<ul class=\"post-ul\">grafana \u5b9f\u884c\u78ba\u8a8d<\/ul>\n<pre class=\"post-pre\"><code>$ istioctl dashboard grafana\r\n<\/code><\/pre>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d53e137434c4406cd0f89\/24-0.png\" alt=\"24-1.png\" \/><\/div>\n<ul class=\"post-ul\">kiali \u5b9f\u884c\u78ba\u8a8d<\/ul>\n<pre class=\"post-pre\"><code>$ istioctl dashboard kiali\r\n<\/code><\/pre>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d53e137434c4406cd0f89\/27-0.png\" alt=\"25-1.png\" \/><\/div>\n<h2>\u786e\u8ba4\u884c\u52a8 (Confirm action)<\/h2>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Istio-Injection\u8a2d\u5b9a<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\u30b5\u30f3\u30d7\u30ebPod\u3092\u4f5c\u6210\u3059\u308bnamespace\u306bIstio-Injection\u8a2d\u5b9a\u3092\u8ffd\u52a0<\/ul>\n<pre class=\"post-pre\"><code>## Istio\u30c6\u30b9\u30c8\u7528Namespace\u4f5c\u6210 ##\r\n$ kubectl create ns istio-test\r\n\r\n## \u300cistio-test\u300dnamespace\u306b\u300cistio-injection=enabled\u300d\u30e9\u30d9\u30eb\u3092\u8ffd\u52a0 ##\r\n$ kubectl label ns istio-test istio-injection=enabled --overwrite\r\n\r\n## \u78ba\u8a8d ##\r\n$ kubectl get ns istio-test -L istio-injection\r\nNAME              STATUS   AGE   ISTIO-INJECTION\r\n..........\r\nistio-test        Active   6m    enabled\r\n..........\r\n\r\n\r\n\u203b\u30c6\u30b9\u30c8\u5f8c\u3001Namespace\u304b\u3089\u30e9\u30d9\u30eb\u3092\u524a\u9664\u3059\u308b\u5834\u5408\u306f\u4ee5\u4e0b\u5b9f\u884c\r\n$ kubectl label ns istio-test istio-injection-\r\n<\/code><\/pre>\n<ul class=\"post-ul\">\u30de\u30cb\u30d5\u30a7\u30b9\u30c8\u4f5c\u6210<\/ul>\n<pre class=\"post-pre\"><code><span class=\"nn\">---<\/span>\r\n<span class=\"c1\"># Service\u4f5c\u6210<\/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\">nginx-svc<\/span>\r\n  <span class=\"na\">namespace<\/span><span class=\"pi\">:<\/span> <span class=\"s\">istio-test<\/span>\r\n<span class=\"na\">spec<\/span><span class=\"pi\">:<\/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\">nginx<\/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\">http<\/span>\r\n    <span class=\"na\">port<\/span><span class=\"pi\">:<\/span> <span class=\"m\">8080<\/span>\r\n    <span class=\"na\">targetPort<\/span><span class=\"pi\">:<\/span> <span class=\"m\">80<\/span>\r\n<span class=\"nn\">---<\/span>\r\n<span class=\"c1\"># Pod\u4f5c\u6210<\/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\">Pod<\/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\">nginx<\/span>\r\n  <span class=\"na\">namespace<\/span><span class=\"pi\">:<\/span> <span class=\"s\">istio-test<\/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\">nginx<\/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\">nginx<\/span>\r\n    <span class=\"na\">image<\/span><span class=\"pi\">:<\/span> <span class=\"s\">nginx:1.21.4<\/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\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">http<\/span>\r\n      <span class=\"na\">containerPort<\/span><span class=\"pi\">:<\/span> <span class=\"m\">80<\/span>\r\n<span class=\"nn\">---<\/span>\r\n<span class=\"c1\"># Gateway\u4f5c\u6210<\/span>\r\n<span class=\"na\">apiVersion<\/span><span class=\"pi\">:<\/span> <span class=\"s\">networking.istio.io\/v1beta1<\/span>\r\n<span class=\"na\">kind<\/span><span class=\"pi\">:<\/span> <span class=\"s\">Gateway<\/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\">test-gateway<\/span>\r\n  <span class=\"na\">namespace<\/span><span class=\"pi\">:<\/span> <span class=\"s\">istio-test<\/span>\r\n<span class=\"na\">spec<\/span><span class=\"pi\">:<\/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\">ingressgateway<\/span> \r\n  <span class=\"na\">servers<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"pi\">-<\/span> <span class=\"na\">port<\/span><span class=\"pi\">:<\/span>\r\n      <span class=\"na\">number<\/span><span class=\"pi\">:<\/span> <span class=\"m\">80<\/span>\r\n      <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">http<\/span>\r\n      <span class=\"na\">protocol<\/span><span class=\"pi\">:<\/span> <span class=\"s\">HTTP<\/span>\r\n    <span class=\"na\">hosts<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"pi\">-<\/span> <span class=\"s2\">\"<\/span><span class=\"s\">nginx-istio.test.local\"<\/span>\r\n<span class=\"nn\">---<\/span>\r\n<span class=\"c1\"># VirtualService\u4f5c\u6210<\/span>\r\n<span class=\"na\">apiVersion<\/span><span class=\"pi\">:<\/span> <span class=\"s\">networking.istio.io\/v1beta1<\/span>\r\n<span class=\"na\">kind<\/span><span class=\"pi\">:<\/span> <span class=\"s\">VirtualService<\/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\">test-virtualservice<\/span>\r\n  <span class=\"na\">namespace<\/span><span class=\"pi\">:<\/span> <span class=\"s\">istio-test<\/span>\r\n<span class=\"na\">spec<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">gateways<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"pi\">-<\/span> <span class=\"s\">test-gateway<\/span>\r\n  <span class=\"na\">hosts<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"pi\">-<\/span> <span class=\"s2\">\"<\/span><span class=\"s\">nginx-istio.test.local\"<\/span>\r\n  <span class=\"na\">http<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"pi\">-<\/span> <span class=\"na\">route<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"pi\">-<\/span> <span class=\"na\">destination<\/span><span class=\"pi\">:<\/span>\r\n        <span class=\"na\">host<\/span><span class=\"pi\">:<\/span> <span class=\"s\">nginx-svc<\/span>\r\n        <span class=\"na\">port<\/span><span class=\"pi\">:<\/span>\r\n          <span class=\"na\">number<\/span><span class=\"pi\">:<\/span> <span class=\"m\">8080<\/span>\r\n<\/code><\/pre>\n<pre class=\"post-pre\"><code>$ kubectl apply -f istio-test.yaml\r\n\r\n## \u78ba\u8a8d ##\r\n$ kubectl get pod -n istio-test\r\nNAME    READY   STATUS    RESTARTS   AGE\r\nnginx   2\/2     Running   0          20s\r\n\r\n$ kubectl -n istio-test get pod nginx -o jsonpath='{.spec.containers[*].name}'\r\nnginx istio-proxy\r\n<\/code><\/pre>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">ingressgateway\u306eEXTERNAL-IP\u3092\u78ba\u8a8d<\/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\">\u203b\u672c\u74b0\u5883\u3067\u306fMetalLB\u3092\u5229\u7528\u3057\u3001EXTERNAL-IP\u3078IP\u81ea\u52d5\u5272\u632f<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\u203b\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u306f\u3053\u3053\u53c2\u7167<\/ul>\n<pre class=\"post-pre\"><code>$ kubectl get svc -n istio-system\r\nNAME                   TYPE           CLUSTER-IP     EXTERNAL-IP       PORT(S)                                      AGE\r\n..........\r\nistio-ingressgateway   LoadBalancer   10.43.141.17   192.168.245.112   15021:31809\/TCP,80:32237\/TCP,443:32558\/TCP   20h\r\n..........\r\n<\/code><\/pre>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">hosts \u8a2d\u5b9a\u8ffd\u52a0<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">ingressgateway\u306eEXTERNAL-IP\u3068VirtualService\u3067\u8a2d\u5b9a\u3057\u305fhost\u3092\u8ffd\u52a0<\/ul>\n<pre class=\"post-pre\"><code>$ cat \/etc\/hosts\r\n........\r\n192.168.245.112 istio-nginx.test.local\r\n........\r\n<\/code><\/pre>\n<ul class=\"post-ul\">\u63a5\u7d9a\u78ba\u8a8d<\/ul>\n<pre class=\"post-pre\"><code>$ curl -I http:\/\/istio-nginx.test.local\r\nHTTP\/1.1 200 OK\r\n.........\r\n.........\r\n<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\u5927\u7eb2 k8s\u30c6\u30b9\u30c8\u74b0\u5883\u69cb\u7bc9 &nbsp; Istio \u30a4\u30f3\u30b9\u30c8\u30fc\u30eb \u5efa\u7acb\u76ee\u5f55 \u5168\u4f53\u76ee\u6b21 \u73af\u5883 Rancher: [&hellip;]<\/p>\n","protected":false},"author":12,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-43699","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>\u5b89\u88c5 Istio - 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\/\u5b89\u88c5-istio\/\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u5b89\u88c5 Istio\" \/>\n<meta property=\"og:description\" content=\"\u5927\u7eb2 k8s\u30c6\u30b9\u30c8\u74b0\u5883\u69cb\u7bc9 &nbsp; Istio \u30a4\u30f3\u30b9\u30c8\u30fc\u30eb \u5efa\u7acb\u76ee\u5f55 \u5168\u4f53\u76ee\u6b21 \u73af\u5883 Rancher: [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/zh\/blog\/\u5b89\u88c5-istio\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:published_time\" content=\"2023-11-07T20:29:15+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-04-28T17:00:27+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d53e137434c4406cd0f89\/21-0.png\" \/>\n<meta name=\"author\" content=\"\u9038, \u79d1\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"\u9038, \u79d1\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 \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\/%e5%ae%89%e8%a3%85-istio\/\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%ae%89%e8%a3%85-istio\/\",\"name\":\"\u5b89\u88c5 Istio - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\"},\"datePublished\":\"2023-11-07T20:29:15+00:00\",\"dateModified\":\"2024-04-28T17:00:27+00:00\",\"author\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/85c1dae56e6ea1e695c73d33c684d487\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%ae%89%e8%a3%85-istio\/#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%ae%89%e8%a3%85-istio\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%ae%89%e8%a3%85-istio\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.silicloud.com\/zh\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u5b89\u88c5 Istio\"}]},{\"@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\/85c1dae56e6ea1e695c73d33c684d487\",\"name\":\"\u9038, \u79d1\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/c94f6d9cbbfbca863fab309840bd690c153c95f8490c290ad2ed54dd693dad16?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/c94f6d9cbbfbca863fab309840bd690c153c95f8490c290ad2ed54dd693dad16?s=96&d=mm&r=g\",\"caption\":\"\u9038, \u79d1\"},\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/author\/keyi\/\"},{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%ae%89%e8%a3%85-istio\/#local-main-organization-logo\",\"url\":\"\",\"contentUrl\":\"\",\"caption\":\"Blog - Silicon Cloud\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"\u5b89\u88c5 Istio - 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\/\u5b89\u88c5-istio\/","og_locale":"zh_CN","og_type":"article","og_title":"\u5b89\u88c5 Istio","og_description":"\u5927\u7eb2 k8s\u30c6\u30b9\u30c8\u74b0\u5883\u69cb\u7bc9 &nbsp; Istio \u30a4\u30f3\u30b9\u30c8\u30fc\u30eb \u5efa\u7acb\u76ee\u5f55 \u5168\u4f53\u76ee\u6b21 \u73af\u5883 Rancher: [&hellip;]","og_url":"https:\/\/www.silicloud.com\/zh\/blog\/\u5b89\u88c5-istio\/","og_site_name":"Blog - Silicon Cloud","article_published_time":"2023-11-07T20:29:15+00:00","article_modified_time":"2024-04-28T17:00:27+00:00","og_image":[{"url":"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d53e137434c4406cd0f89\/21-0.png"}],"author":"\u9038, \u79d1","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"\u9038, \u79d1","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"3 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%ae%89%e8%a3%85-istio\/","url":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%ae%89%e8%a3%85-istio\/","name":"\u5b89\u88c5 Istio - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website"},"datePublished":"2023-11-07T20:29:15+00:00","dateModified":"2024-04-28T17:00:27+00:00","author":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/85c1dae56e6ea1e695c73d33c684d487"},"breadcrumb":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%ae%89%e8%a3%85-istio\/#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/zh\/blog\/%e5%ae%89%e8%a3%85-istio\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%ae%89%e8%a3%85-istio\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.silicloud.com\/zh\/blog\/"},{"@type":"ListItem","position":2,"name":"\u5b89\u88c5 Istio"}]},{"@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\/85c1dae56e6ea1e695c73d33c684d487","name":"\u9038, \u79d1","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/c94f6d9cbbfbca863fab309840bd690c153c95f8490c290ad2ed54dd693dad16?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c94f6d9cbbfbca863fab309840bd690c153c95f8490c290ad2ed54dd693dad16?s=96&d=mm&r=g","caption":"\u9038, \u79d1"},"url":"https:\/\/www.silicloud.com\/zh\/blog\/author\/keyi\/"},{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%ae%89%e8%a3%85-istio\/#local-main-organization-logo","url":"","contentUrl":"","caption":"Blog - Silicon Cloud"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/43699","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\/12"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/comments?post=43699"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/43699\/revisions"}],"predecessor-version":[{"id":70123,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/43699\/revisions\/70123"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/media?parent=43699"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/categories?post=43699"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/tags?post=43699"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}