istio.io/archive/v1.20/zh/blog/2023/experimental-dual-stack/index.html

131 lines
29 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!doctype html><html lang=zh itemscope itemtype=https://schema.org/WebPage><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=theme-color content="#466BB0"><meta name=title content="支持双栈 Kubernetes 集群"><meta name=description content="对双栈 Kubernetes 集群的实验性支持。"><meta name=author content="张怀龙 (Intel)、徐贺杰 (Intel)、丁少君 (Intel)、Jacob Delgado (F5)、蔡迎春 (前 F5)"><meta name=keywords content="microservices,services,mesh,dual-stack"><meta property="og:title" content="支持双栈 Kubernetes 集群"><meta property="og:type" content="website"><meta property="og:description" content="对双栈 Kubernetes 集群的实验性支持。"><meta property="og:url" content="/v1.20/zh/blog/2023/experimental-dual-stack/"><meta property="og:image" content="https://raw.githubusercontent.com/istio/istio.io/master/static/img/istio-social.png"><meta property="og:image:alt" content="The Istio sailboat logo"><meta property="og:image:width" content="4096"><meta property="og:image:height" content="2048"><meta property="og:site_name" content="Istio"><meta name=twitter:card content="summary_large_image"><meta name=twitter:site content="@IstioMesh"><title>Istioldie 1.20 / 支持双栈 Kubernetes 集群</title>
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-98480406-2"></script><script>window.dataLayer=window.dataLayer||[];function gtag(){dataLayer.push(arguments)}gtag("js",new Date),gtag("config","UA-98480406-2")</script><link rel=alternate type=application/rss+xml title="Istio Blog" href=/v1.20/blog/feed.xml><link rel=alternate type=application/rss+xml title="Istio News" href=/v1.20/news/feed.xml><link rel=alternate type=application/rss+xml title="Istio Blog and News" href=/v1.20/feed.xml><link rel="shortcut icon" href=/v1.20/favicons/favicon.ico><link rel=apple-touch-icon href=/v1.20/favicons/apple-touch-icon-180x180.png sizes=180x180><link rel=icon type=image/png href=/v1.20/favicons/favicon-16x16.png sizes=16x16><link rel=icon type=image/png href=/v1.20/favicons/favicon-32x32.png sizes=32x32><link rel=icon type=image/png href=/v1.20/favicons/android-36x36.png sizes=36x36><link rel=icon type=image/png href=/v1.20/favicons/android-48x48.png sizes=48x48><link rel=icon type=image/png href=/v1.20/favicons/android-72x72.png sizes=72x72><link rel=icon type=image/png href=/v1.20/favicons/android-96x96.png sizes=96xW96><link rel=icon type=image/png href=/v1.20/favicons/android-144x144.png sizes=144x144><link rel=icon type=image/png href=/v1.20/favicons/android-192x192.png sizes=192x192><link rel=icon type=image/svg+xml href=/v1.20/favicons/favicon.svg><link rel=icon type=image/png href=/v1.20/favicons/favicon.png><link rel=mask-icon href=/v1.20/favicons/safari-pinned-tab.svg color=#466BB0><link rel=manifest href=/v1.20/manifest.json><meta name=apple-mobile-web-app-title content="Istio"><meta name=application-name content="Istio"><meta name=msapplication-config content="/browserconfig.xml"><meta name=msapplication-TileColor content="#466BB0"><meta name=theme-color content="#466BB0"><link rel=stylesheet href=/v1.20/css/all.css><link rel=preconnect href=https://fonts.googleapis.com><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css2?family=Barlow:ital,wght@0,400;0,500;0,600;0,700;1,400;1,600&display=swap"><script src=/v1.20/js/themes_init.min.js></script></head><body class="language-unknown archive-site"><script>const branchName="release-1.20",docTitle="支持双栈 Kubernetes 集群",iconFile="/v1.20//img/icons.svg",buttonCopy="复制到剪切板",buttonPrint="打印",buttonDownload="下载"</script><script src="https://www.google.com/cse/brand?form=search-form" defer></script><script src=/v1.20/js/all.min.js data-manual defer></script><header class=main-navigation><nav class="main-navigation-wrapper container-l"><div class=main-navigation-header><a id=brand href=/v1.20/zh/ aria-label=logotype><span class=logo><svg xmlns="http://www.w3.org/2000/svg" width="128" height="60" viewBox="0 0 128 60"><path d="M58.434 48.823A.441.441.0 0158.3 48.497V22.583a.444.444.0 01.134-.326.446.446.0 01.327-.134h3.527a.447.447.0 01.325.134.447.447.0 01.134.326v25.914a.443.443.0 01-.134.326.444.444.0 01-.325.134h-3.527a.444.444.0 01-.327-.134z"/><path d="m70.969 48.477a6.556 6.556.0 01-2.818-1.955 4.338 4.338.0 01-1-2.78v-.345a.443.443.0 01.134-.326.444.444.0 01.326-.135h3.374a.444.444.0 01.326.135.445.445.0 01.134.326v.077a2.014 2.014.0 001.054 1.667 4.672 4.672.0 002.664.709 4.446 4.446.0 002.492-.633 1.862 1.862.0 00.958-1.591 1.426 1.426.0 00-.786-1.322 12.7 12.7.0 00-2.549-.939l-1.457-.46a21.526 21.526.0 01-3.3-1.227 6.57 6.57.0 01-2.262-1.783 4.435 4.435.0 01-.92-2.894 5.081 5.081.0 012.109-4.275 8.993 8.993.0 015.558-1.591 10.445 10.445.0 014.1.748 6.3 6.3.0 012.722 2.07 5 5 0 01.958 3.009.441.441.0 01-.134.326.441.441.0 01-.325.134h-3.258a.441.441.0 01-.326-.134.443.443.0 01-.134-.326 1.974 1.974.0 00-.978-1.667 4.647 4.647.0 00-2.665-.671 4.741 4.741.0 00-2.435.556 1.724 1.724.0 00-.938 1.553 1.512 1.512.0 00.9 1.4 15.875 15.875.0 003.01 1.055l.843.229a27.368 27.368.0 013.412 1.246 6.67 6.67.0 012.338 1.763 4.387 4.387.0 01.958 2.933 4.988 4.988.0 01-2.146 4.275 9.543 9.543.0 01-5.712 1.552 11.626 11.626.0 01-4.227-.709z"/><path d="m97.039 32.837a.443.443.0 01-.326.135h-3.911a.169.169.0 00-.191.192v9.239a2.951 2.951.0 00.632 2.108 2.7 2.7.0 002.013.652h1.15a.444.444.0 01.325.134.441.441.0 01.134.326v2.875a.471.471.0 01-.459.5l-1.994.039a8 8 0 01-4.524-1.035q-1.495-1.035-1.533-3.91V33.166A.17.17.0 0088.164 32.974H85.978A.441.441.0 0185.652 32.839.441.441.0 0185.518 32.513V29.83a.441.441.0 01.134-.326.444.444.0 01.326-.135h2.186a.169.169.0 00.191-.192v-4.485a.438.438.0 01.134-.326.44.44.0 01.325-.134h3.336a.443.443.0 01.325.134.442.442.0 01.135.326v4.485a.169.169.0 00.191.192h3.911a.446.446.0 01.326.135.446.446.0 01.134.326v2.683a.446.446.0 01-.133.324z"/><path d="m101.694 25.917a2.645 2.645.0 01-.767-1.955 2.65 2.65.0 01.767-1.955 2.65 2.65.0 011.955-.767 2.65 2.65.0 011.955.767 2.652 2.652.0 01.767 1.955 2.647 2.647.0 01-.767 1.955 2.646 2.646.0 01-1.955.767 2.645 2.645.0 01-1.955-.767zm-.211 22.906a.441.441.0 01-.134-.326V29.79a.444.444.0 01.134-.326.446.446.0 01.326-.134h3.527a.446.446.0 01.326.134.445.445.0 01.134.326v18.707a.443.443.0 01-.134.326.443.443.0 01-.326.134h-3.527a.443.443.0 01-.326-.134z"/><path d="m114.019 47.734a8.1 8.1.0 01-3.047-4.255 14.439 14.439.0 01-.652-4.37 14.3 14.3.0 01.614-4.371A7.869 7.869.0 01114 30.56a9.072 9.072.0 015.252-1.5 8.543 8.543.0 015.041 1.5 7.985 7.985.0 013.009 4.14 12.439 12.439.0 01.69 4.37 13.793 13.793.0 01-.651 4.37 8.255 8.255.0 01-3.028 4.275 8.475 8.475.0 01-5.1 1.553 8.754 8.754.0 01-5.194-1.534zm7.629-3.1a4.536 4.536.0 001.476-2.262 11.335 11.335.0 00.383-3.221 10.618 10.618.0 00-.383-3.22 4.169 4.169.0 00-1.457-2.243 4.066 4.066.0 00-2.531-.785 3.942 3.942.0 00-2.453.785 4.376 4.376.0 00-1.5 2.243 11.839 11.839.0 00-.383 3.22 11.84 11.84.0 00.383 3.221 4.222 4.222.0 001.476 2.262 4.075 4.075.0 002.549.8 3.8 3.8.0 002.44-.809z"/><path d="m15.105 32.057v15.565a.059.059.0 01-.049.059L.069 50.25A.06.06.0 01.005 50.167l14.987-33.47a.06.06.0 01.114.025z"/><path d="m17.631 23.087v24.6a.06.06.0 00.053.059l22.449 2.507a.06.06.0 00.061-.084L17.745.032a.06.06.0 00-.114.024z"/><path d="m39.961 52.548-24.833 7.45a.062.062.0 01-.043.0L.079 52.548a.059.059.0 01.026-.113h39.839a.06.06.0 01.017.113z"/></svg></span>
</a><button id=hamburger class=main-navigation-toggle aria-label="Open navigation">
<svg class="icon menu-hamburger"><use xlink:href="/v1.20/img/icons.svg#menu-hamburger"/></svg>
</button>
<button id=menu-close class=main-navigation-toggle aria-label="Close navigation"><svg class="icon menu-close"><use xlink:href="/v1.20/img/icons.svg#menu-close"/></svg></button></div><div id=header-links class=main-navigation-links-wrapper><ul class=main-navigation-links><li class=main-navigation-links-item><a class="main-navigation-links-link has-dropdown"><span>关于</span><svg class="icon dropdown-arrow"><use xlink:href="/v1.20/img/icons.svg#dropdown-arrow"/></svg></a><ul class=main-navigation-links-dropdown><li class=main-navigation-links-dropdown-item><a href=/v1.20/zh/about/service-mesh class=main-navigation-links-link>服务网格</a></li><li class=main-navigation-links-dropdown-item><a href=/v1.20/zh/about/solutions class=main-navigation-links-link>解决方案</a></li><li class=main-navigation-links-dropdown-item><a href=/v1.20/zh/about/case-studies class=main-navigation-links-link>案例学习</a></li><li class=main-navigation-links-dropdown-item><a href=/v1.20/zh/about/ecosystem class=main-navigation-links-link>生态系统</a></li><li class=main-navigation-links-dropdown-item><a href=/v1.20/zh/about/deployment class=main-navigation-links-link>部署</a></li><li class=main-navigation-links-dropdown-item><a href=/v1.20/zh/about/faq class=main-navigation-links-link>FAQ</a></li></ul></li><li class=main-navigation-links-item><a href=/v1.20/zh/blog/ class=main-navigation-links-link><span>博客</span></a></li><li class=main-navigation-links-item><a href=/v1.20/zh/news/ class=main-navigation-links-link><span>新闻</span></a></li><li class=main-navigation-links-item><a href=/v1.20/zh/get-involved/ class=main-navigation-links-link><span>加入我们</span></a></li><li class=main-navigation-links-item><a href=/v1.20/zh/docs/ class=main-navigation-links-link><span>文档</span></a></li></ul><div class=main-navigation-footer><button id=search-show class=search-show title='搜索 istio.io' aria-label=搜索><svg class="icon magnifier"><use xlink:href="/v1.20/img/icons.svg#magnifier"/></svg></button>
<a href=/v1.20/zh/docs/setup/getting-started class="btn btn--primary" id=try-istio>试用 Istio</a></div></div><form id=search-form class=search name=cse role=search><input type=hidden name=cx value=002184991200833970123:iwwf17ikgf4>
<input type=hidden name=ie value=utf-8>
<input type=hidden name=hl value=zh>
<input type=hidden id=search-page-url value=/zh/search>
<input id=search-textbox class="search-textbox form-control" name=q type=search aria-label='搜索 istio.io' placeholder=搜索>
<button id=search-close title=取消搜索 type=reset aria-label=取消搜索><svg class="icon menu-close"><use xlink:href="/v1.20/img/icons.svg#menu-close"/></svg></button></form></nav></header><div class=banner-container></div><article class=post itemscope itemtype=http://schema.org/BlogPosting><div class=header-content><h1>支持双栈 Kubernetes 集群</h1><p>对双栈 Kubernetes 集群的实验性支持。</p></div><p class=post-author>Mar 10, 2023 <span>| </span>By 张怀龙 - Intel、徐贺杰 - Intel、丁少君 - Intel、Jacob Delgado - F5、蔡迎春 - 前 F5</p><div><p>在过去的一年里,英特尔和 F5 在为 Istio 提供
<a href=https://kubernetes.io/zh-cn/docs/concepts/services-networking/dual-stack/>Kubernetes 双栈网络</a>的支持中通力合作。</p><h2 id=background>背景</h2><p>对于 Istio 双栈特性支持的工作花费了比预期更长的时间,而我们也还有很多关于双栈的工作需要继续。
最初这项工作基于 F5 的设计实现展开,由此我们创建了 <a href="https://docs.google.com/document/d/1oT6pmRhOw7AtsldU0-HbfA0zA26j9LYiBD_eepeErsQ/edit?usp=sharing">RFC</a>
值得注意的是,在与社区基于此设计文档展开的讨论中,社区表示对此方案在内存和性能方面存在顾虑,
并且希望这些问题能够在 Istio 双栈实现之前解决掉,这也引起了我们对最初设计方案的反思。
最初的设计为了支持双栈特性不得不为 listeners、clusters、routes 和 endpoints 增加重复的 Envoy 配置。
鉴于许多人已经遇到 Envoy 内存和 CPU 消耗问题,社区早期反馈希望我们完全重新评估此方案。
而且许多代理透明地处理出站双栈流量,而不管流量是如何产生的,因此许多社区早期的反馈建议是在
Istio 和 Envoy 中实现相同的行为。</p><h2 id=redefining-dual-stack-support>重新定义双栈特性的支持</h2><p>社区为原始 RFC 提供的大部分反馈是更改 Envoy 以更好地支持双栈用例,
在 Envoy 内部而不仅仅是在 Istio 中修改。
我们吸取了经验教训和反馈并将其应用到简化的设计中,由此我们创建了一个新的
<a href="https://docs.google.com/document/d/15LP2XHpQ71ODkjCVItGacPgzcn19fsVhyE7ruMGXDyU/edit?usp=sharing">RFC</a></p><h2 id=support-dual-stack-in-istio-1.17>双栈特性在 Istio 1.17 中的支持</h2><p>我们与 Envoy 社区合作解决了众多问题,这也是对 Istio 双栈特性的支持花费了一些时间的原因。
这些问题有:
<a href=https://github.com/envoyproxy/envoy/issues/16804>matched IP Family for outbound listener</a>
<a href=https://github.com/envoyproxy/envoy/issues/11184>supported multiple addresses per listener</a></p><p>其中徐贺杰也一直在积极地帮助解决一些悬而未决的问题,此后 Envoy 就能够以一种更聪明的方式选择 endpoints
(参考 Issue<a href=https://github.com/envoyproxy/envoy/issues/21640>smarter way to pick endpoints for dual-stack</a>)。
诸如 <a href=https://github.com/envoyproxy/envoy/pull/23496>enable socket options on multiple addresses</a>
针对 Envoy 的这些改进使得即将到来的 Istio 1.17 中对双栈特性的支持能够落地
Istio 中对应的修改比如:<a href=https://github.com/istio/istio/pull/41618>extra source addresses on inbound clusters</a>)。</p><p>我们团队所做的关于 Envoy 接口定义更改如下:</p><ol><li><p><a href="https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/listener/v3/listener.proto.html?highlight=additional_addresses">Listener addresses</a></p></li><li><p><a href=https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/core/v3/address.proto#config-core-v3-bindconfig>bind config</a></p></li></ol><p>对于 Istio 双栈特性支持的实现,这些修改是很重要的,它确保我们能够在 Envoy 的下游和上游连接上得到适当的支持。</p><p>我们团队总共已向 Envoy 提交了十多个 PR其中有多半数 PR 的目的是在 Istio 环境中更容易让 Envoy 采用双栈。</p><p>同时,在 Istio 方面,也可以在
<a href=https://github.com/istio/istio/issues/40394>Issue #40394</a> 中跟踪进度。
因为我们在与 Envoy 社区解决各种双栈支持遇到的问题,所以 Istio 社区方面的进展有所放缓。
尽管如此,我们很高兴地宣布 Istio 1.17 中实现了对双栈特性的实验性支持!</p><h2 id=a-quick-experiment-using-dual-stack>使用双栈的快速实验</h2><div><aside class="callout tip"><div class=type><svg class="large-icon"><use xlink:href="/v1.20/img/icons.svg#callout-tip"/></svg></div><div class=content><p>如果您想使用 KinD 进行测试,可以使用以下命令设置双栈集群:</p><pre><code class=language-bash data-expandlinks=true data-repo=istio>$ kind create cluster --name istio-ds --config - &lt;&lt;EOF
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
networking:
ipFamily: dual
EOF
</code></pre></div></aside></div><ol><li><p>通过以下方式对 Istio 1.17.0+ 启用双栈实验性支持:</p><pre><code class=language-bash data-expandlinks=true data-repo=istio>$ istioctl install -y -f - &lt;&lt;EOF
apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
spec:
meshConfig:
defaultConfig:
proxyMetadata:
ISTIO_DUAL_STACK: &#34;true&#34;
values:
pilot:
env:
ISTIO_DUAL_STACK: &#34;true&#34;
EOF
</code></pre></li><li><p>创建 3 个命名空间:</p><ul><li><code>dual-stack</code><code>tcp-echo</code> 将同时监听 IPv4 和 IPv6 地址。</li><li><code>ipv4</code><code>tcp-echo</code> 将仅监听 IPv4 地址。</li><li><code>ipv6</code><code>tcp-echo</code> 将仅监听 IPv6 地址。</li></ul><pre><code class=language-bash data-expandlinks=true data-repo=istio>$ kubectl create namespace dual-stack
$ kubectl create namespace ipv4
$ kubectl create namespace ipv6
</code></pre></li><li><p>在所有这些命名空间以及默认命名空间上启用 Sidecar 注入:</p><pre><code class=language-bash data-expandlinks=true data-repo=istio>$ kubectl label --overwrite namespace default istio-injection=enabled
$ kubectl label --overwrite namespace dual-stack istio-injection=enabled
$ kubectl label --overwrite namespace ipv4 istio-injection=enabled
$ kubectl label --overwrite namespace ipv6 istio-injection=enabled
</code></pre></li><li><p>在命名空间中创建 <code>tcp-echo</code> Deployment</p><pre><code class=language-bash data-expandlinks=true data-repo=istio>$ kubectl apply --namespace dual-stack -f https://raw.githubusercontent.com/istio/istio/release-1.20/samples/tcp-echo/tcp-echo-dual-stack.yaml
$ kubectl apply --namespace ipv4 -f https://raw.githubusercontent.com/istio/istio/release-1.20/samples/tcp-echo/tcp-echo-ipv4.yaml
$ kubectl apply --namespace ipv6 -f https://raw.githubusercontent.com/istio/istio/release-1.20/samples/tcp-echo/tcp-echo-ipv6.yaml
</code></pre></li><li><p>在默认命名空间中创建 <code>sleep</code> Deployment</p><pre><code class=language-bash data-expandlinks=true data-repo=istio>$ kubectl apply -f https://raw.githubusercontent.com/istio/istio/release-1.20/samples/sleep/sleep.yaml
</code></pre></li><li><p>校验流量:</p><pre><code class=language-bash data-expandlinks=true data-repo=istio>$ kubectl exec -it &#34;$(kubectl get pod -l app=sleep -o jsonpath=&#39;{.items[0].metadata.name}&#39;)&#34; -- sh -c &#34;echo dualstack | nc tcp-echo.dual-stack 9000&#34;
hello dualstack
$ kubectl exec -it &#34;$(kubectl get pod -l app=sleep -o jsonpath=&#39;{.items[0].metadata.name}&#39;)&#34; -- sh -c &#34;echo ipv4 | nc tcp-echo.ipv4 9000&#34;
hello ipv4
$ kubectl exec -it &#34;$(kubectl get pod -l app=sleep -o jsonpath=&#39;{.items[0].metadata.name}&#39;)&#34; -- sh -c &#34;echo ipv6 | nc tcp-echo.ipv6 9000&#34;
hello ipv6
</code></pre></li></ol><p>现在您可以在自己的环境中试验双栈服务了!</p><h2 id=important-changes-to-listeners-and-endpoints>监听器和端点的重要变化</h2><p>对于上述实验,您会注意到监听器和路由发生了变化:</p><pre><code class=language-bash data-expandlinks=true data-repo=istio>$ istioctl proxy-config listeners &#34;$(kubectl get pod -n dual-stack -l app=tcp-echo -o jsonpath=&#39;{.items[0].metadata.name}&#39;)&#34; -n dual-stack --port 9000
</code></pre><p>您会看到监听器现在绑定到多个地址,但仅限于双栈服务。
其他服务只会监听单个 IP 地址。</p><pre><code class=language-json data-expandlinks=true data-repo=istio>&#34;name&#34;: &#34;fd00:10:96::f9fc_9000&#34;,
&#34;address&#34;: {
&#34;socketAddress&#34;: {
&#34;address&#34;: &#34;fd00:10:96::f9fc&#34;,
&#34;portValue&#34;: 9000
}
},
&#34;additionalAddresses&#34;: [
{
&#34;address&#34;: {
&#34;socketAddress&#34;: {
&#34;address&#34;: &#34;10.96.106.11&#34;,
&#34;portValue&#34;: 9000
}
}
}
],
</code></pre><p>虚拟入站地址现在也被配置为监听 <code>0.0.0.0</code><code>[::]</code></p><pre><code class=language-json data-expandlinks=true data-repo=istio>&#34;name&#34;: &#34;virtualInbound&#34;,
&#34;address&#34;: {
&#34;socketAddress&#34;: {
&#34;address&#34;: &#34;0.0.0.0&#34;,
&#34;portValue&#34;: 15006
}
},
&#34;additionalAddresses&#34;: [
{
&#34;address&#34;: {
&#34;socketAddress&#34;: {
&#34;address&#34;: &#34;::&#34;,
&#34;portValue&#34;: 15006
}
}
}
],
</code></pre><p>Envoy 的 endpoints 现在配置为同时路由到 IPv4 和 IPv6</p><pre><code class=language-bash data-expandlinks=true data-repo=istio>$ istioctl proxy-config endpoints &#34;$(kubectl get pod -l app=sleep -o jsonpath=&#39;{.items[0].metadata.name}&#39;)&#34; --port 9000
ENDPOINT STATUS OUTLIER CHECK CLUSTER
10.244.0.19:9000 HEALTHY OK outbound|9000||tcp-echo.ipv4.svc.cluster.local
10.244.0.26:9000 HEALTHY OK outbound|9000||tcp-echo.dual-stack.svc.cluster.local
fd00:10:244::1a:9000 HEALTHY OK outbound|9000||tcp-echo.dual-stack.svc.cluster.local
fd00:10:244::18:9000 HEALTHY OK outbound|9000||tcp-echo.ipv6.svc.cluster.local
</code></pre><h2 id=get-involved>参与其中</h2><p>接下来还有很多工作要做,欢迎各位与我们一起完成双栈特性到达 Alpha 状态所需的其他任务。
<a href=https://github.com/istio/enhancements/blob/master/features/dual-stack-support.md>详情请看这里</a></p><p>比如,来自英特尔的丁少君和李纯已经就 Ambient 的网络流量重定向功能与社区一起展开工作。
我们希望在后面的 Istio 1.18 Alpha 双栈特性的版本中Ambient 也能够支持双栈特性。</p><p>我们非常欢迎您提出宝贵意见,如果您期待与我们合作请访问我们在
<a href=https://slack.istio.io/>Istio Slack</a> 中的 <strong>#dual-stack-support</strong> 频道。</p><p>感谢为 Istio 双栈特性工作的团队!</p><ul><li>英特尔:<a href=https://github.com/zhlsunshine>张怀龙</a>
<a href=https://github.com/soulxu>徐贺杰</a>
<a href=https://github.com/irisdingbj>丁少君</a></li><li>F5<a href=https://github.com/jacob-delgado>Jacob Delgado</a></li><li><a href=https://github.com/ycai-aspen>蔡迎春</a>(前 F5 员工)</li></ul></div><nav class=pagenav><div class=left><a title="将 POD 流量重定向至每节点 ztunnel 代理的另一种方法。" href=/v1.20/zh/blog/2023/ambient-ebpf-redirection/ class=next-link><svg class="icon left-arrow"><use xlink:href="/v1.20/img/icons.svg#left-arrow"/></svg>Istio ambient 模式中使用 eBPF 进行流量重定向</a></div><div class=right><a title="Ambient 网格的重要里程碑。" href=/v1.20/zh/blog/2023/ambient-merged-istio-main/ class=next-link>“Istio Ambient 服务网格已合并到 Istio 的主分支”<svg class="icon right-arrow"><use xlink:href="/v1.20/img/icons.svg#right-arrow"/></svg></a></div></nav></article><footer class=footer><div class="footer-wrapper container-l"><div class="user-links footer-links"><a class=channel title='Istio 的代码在 GitHub 上开发' href=https://github.com/istio/community aria-label=GitHub><svg class="icon github"><use xlink:href="/v1.20/img/icons.svg#github"/></svg>
</a><a class=channel title='如果您想深入了解 Istio 的技术细节,请查看我们日益完善的设计文档' href=https://groups.google.com/forum/#!forum/istio-team-drive-access aria-label="team drive"><svg class="icon drive"><use xlink:href="/v1.20/img/icons.svg#drive"/></svg>
</a><a class=channel title='在 Slack 上与 Istio 社区交互讨论开发问题(仅限邀请)' href=https://slack.istio.io aria-label=slack><svg class="icon slack"><use xlink:href="/v1.20/img/icons.svg#slack"/></svg>
</a><a class=channel title='Stack Overflow 中列举了针对实际问题以及部署、配置和使用 Istio 的各项回答' href=https://stackoverflow.com/questions/tagged/istio aria-label="Stack Overflow"><svg class="icon stackoverflow"><use xlink:href="/v1.20/img/icons.svg#stackoverflow"/></svg>
</a><a class=channel title='关注我们的 Twitter 来获取最新信息' href=https://twitter.com/IstioMesh aria-label=Twitter><svg class="icon twitter"><use xlink:href="/v1.20/img/icons.svg#twitter"/></svg></a></div><hr class=footer-separator role=separator><div class="info footer-info"><a class=logo href=/v1.20/zh/ aria-label=logotype><svg xmlns="http://www.w3.org/2000/svg" width="128" height="60" viewBox="0 0 128 60"><path d="M58.434 48.823A.441.441.0 0158.3 48.497V22.583a.444.444.0 01.134-.326.446.446.0 01.327-.134h3.527a.447.447.0 01.325.134.447.447.0 01.134.326v25.914a.443.443.0 01-.134.326.444.444.0 01-.325.134h-3.527a.444.444.0 01-.327-.134z"/><path d="m70.969 48.477a6.556 6.556.0 01-2.818-1.955 4.338 4.338.0 01-1-2.78v-.345a.443.443.0 01.134-.326.444.444.0 01.326-.135h3.374a.444.444.0 01.326.135.445.445.0 01.134.326v.077a2.014 2.014.0 001.054 1.667 4.672 4.672.0 002.664.709 4.446 4.446.0 002.492-.633 1.862 1.862.0 00.958-1.591 1.426 1.426.0 00-.786-1.322 12.7 12.7.0 00-2.549-.939l-1.457-.46a21.526 21.526.0 01-3.3-1.227 6.57 6.57.0 01-2.262-1.783 4.435 4.435.0 01-.92-2.894 5.081 5.081.0 012.109-4.275 8.993 8.993.0 015.558-1.591 10.445 10.445.0 014.1.748 6.3 6.3.0 012.722 2.07 5 5 0 01.958 3.009.441.441.0 01-.134.326.441.441.0 01-.325.134h-3.258a.441.441.0 01-.326-.134.443.443.0 01-.134-.326 1.974 1.974.0 00-.978-1.667 4.647 4.647.0 00-2.665-.671 4.741 4.741.0 00-2.435.556 1.724 1.724.0 00-.938 1.553 1.512 1.512.0 00.9 1.4 15.875 15.875.0 003.01 1.055l.843.229a27.368 27.368.0 013.412 1.246 6.67 6.67.0 012.338 1.763 4.387 4.387.0 01.958 2.933 4.988 4.988.0 01-2.146 4.275 9.543 9.543.0 01-5.712 1.552 11.626 11.626.0 01-4.227-.709z"/><path d="m97.039 32.837a.443.443.0 01-.326.135h-3.911a.169.169.0 00-.191.192v9.239a2.951 2.951.0 00.632 2.108 2.7 2.7.0 002.013.652h1.15a.444.444.0 01.325.134.441.441.0 01.134.326v2.875a.471.471.0 01-.459.5l-1.994.039a8 8 0 01-4.524-1.035q-1.495-1.035-1.533-3.91V33.166A.17.17.0 0088.164 32.974H85.978A.441.441.0 0185.652 32.839.441.441.0 0185.518 32.513V29.83a.441.441.0 01.134-.326.444.444.0 01.326-.135h2.186a.169.169.0 00.191-.192v-4.485a.438.438.0 01.134-.326.44.44.0 01.325-.134h3.336a.443.443.0 01.325.134.442.442.0 01.135.326v4.485a.169.169.0 00.191.192h3.911a.446.446.0 01.326.135.446.446.0 01.134.326v2.683a.446.446.0 01-.133.324z"/><path d="m101.694 25.917a2.645 2.645.0 01-.767-1.955 2.65 2.65.0 01.767-1.955 2.65 2.65.0 011.955-.767 2.65 2.65.0 011.955.767 2.652 2.652.0 01.767 1.955 2.647 2.647.0 01-.767 1.955 2.646 2.646.0 01-1.955.767 2.645 2.645.0 01-1.955-.767zm-.211 22.906a.441.441.0 01-.134-.326V29.79a.444.444.0 01.134-.326.446.446.0 01.326-.134h3.527a.446.446.0 01.326.134.445.445.0 01.134.326v18.707a.443.443.0 01-.134.326.443.443.0 01-.326.134h-3.527a.443.443.0 01-.326-.134z"/><path d="m114.019 47.734a8.1 8.1.0 01-3.047-4.255 14.439 14.439.0 01-.652-4.37 14.3 14.3.0 01.614-4.371A7.869 7.869.0 01114 30.56a9.072 9.072.0 015.252-1.5 8.543 8.543.0 015.041 1.5 7.985 7.985.0 013.009 4.14 12.439 12.439.0 01.69 4.37 13.793 13.793.0 01-.651 4.37 8.255 8.255.0 01-3.028 4.275 8.475 8.475.0 01-5.1 1.553 8.754 8.754.0 01-5.194-1.534zm7.629-3.1a4.536 4.536.0 001.476-2.262 11.335 11.335.0 00.383-3.221 10.618 10.618.0 00-.383-3.22 4.169 4.169.0 00-1.457-2.243 4.066 4.066.0 00-2.531-.785 3.942 3.942.0 00-2.453.785 4.376 4.376.0 00-1.5 2.243 11.839 11.839.0 00-.383 3.22 11.84 11.84.0 00.383 3.221 4.222 4.222.0 001.476 2.262 4.075 4.075.0 002.549.8 3.8 3.8.0 002.44-.809z"/><path d="m15.105 32.057v15.565a.059.059.0 01-.049.059L.069 50.25A.06.06.0 01.005 50.167l14.987-33.47a.06.06.0 01.114.025z"/><path d="m17.631 23.087v24.6a.06.06.0 00.053.059l22.449 2.507a.06.06.0 00.061-.084L17.745.032a.06.06.0 00-.114.024z"/><path d="m39.961 52.548-24.833 7.45a.062.062.0 01-.043.0L.079 52.548a.059.059.0 01.026-.113h39.839a.06.06.0 01.017.113z"/></svg></a><div class=footer-languages><a tabindex=-1 lang=en id=switch-lang-en class=footer-languages-item>English
</a><a tabindex=-1 lang=zh id=switch-lang-zh class="footer-languages-item active"><svg class="icon tick"><use xlink:href="/v1.20/img/icons.svg#tick"/></svg>
中文</a></div></div><ul class=footer-policies><li class=footer-policies-item><a class=footer-policies-link href=https://www.linuxfoundation.org/legal/terms>条款
</a>|
<a class=footer-policies-link href=https://www.linuxfoundation.org/legal/privacy-policy>隐私政策
</a>|
<a class=footer-policies-link href=https://www.linuxfoundation.org/legal/trademark-usage>商标
</a>|
<a class=footer-policies-link href=https://github.com/istio/istio.io/edit/release-1.20/content/zh/index>在 GitHub 上编辑此页</a></li></ul><div class=footer-base><span class=footer-base-copyright>&copy; 2024 the Istio Authors.</span>
<span class=footer-base-version>部分内容可能滞后于英文版本,同步工作正在进行中<br>版本
Istio 归档
1.20.3</span><ul class=footer-base-releases><li class=footer-base-releases-item><a tabindex=-1 class=footer-base-releases-link onclick='return navigateToUrlOrRoot("https://istio.io/blog/2023/experimental-dual-stack/"),!1'>当前版本</a></li><li class=footer-base-releases-item><a tabindex=-1 class=footer-base-releases-link onclick='return navigateToUrlOrRoot("https://preliminary.istio.io/blog/2023/experimental-dual-stack/"),!1'>下个版本</a></li><li class=footer-base-releases-item><a tabindex=-1 class=footer-base-releases-link href=https://istio.io/archive>旧版本</a></li></ul></div></div></footer><div id=scroll-to-top-container aria-hidden=true><button id=scroll-to-top title=回到顶部 tabindex=-1><svg class="icon top"><use xlink:href="/v1.20/img/icons.svg#top"/></svg></button></div></body></html>