授权策略Linkerd的新服务器授权策略功能使您可以细粒度地控制允许哪些服务相互通信。这些策略直接建立在Linkerd的自动mTLS功能提供的安全服务身份之上。为了与Linkerd的设计原则保持一致,授权策略以可组合的Kubernetes原生方式表达,以最少的配置表达广泛的行为。https://linkerd.io/2.11/features/automatic-mtls为此,Linkerd2.11引入了一套默认的授权策略,只需设置Kubernetes注解即可应用于集群、命名空间或Pod级别,包括:全部经过身份验证(仅允许来自mTLS验证服务的请求);all-unauthenticated(允许所有请求)deny(拒绝所有请求)......等等。Linkerd2.11还引入了两个新的CRD服务器和ServerAuthorization,它们一起允许在任意一组pod上应用细粒度策略。例如,Server可以选择命名空间中所有pod上的所有管理端口,ServerAuthorization可以允许来自kubelet的健康检查连接,或用于指标收集的mTLS连接。这些注释和CRD一起允许您轻松地为集群指定各种策略,从“允许所有流量”到“服务Foo上的端口8080只能从使用Bar服务帐户的服务接收mTLS流量”等等。(查看完整的政策文件?)https://linkerd.io/2.11/features/server-policy/用文字重试HTTP请求重试失败的请求是Linkerd提高Kubernetes应用程序可靠性的关键部分。到目前为止,出于性能原因,Linkerd只允许重试没有文字的请求,例如HTTPGET。在2.11中,Linkerd还可以重试带有主体??的失败请求,包括gRPC请求,最大主体大小为64KB。容器启动排序解决方法Linkerd2.11现在默认确保linkerd2-proxy容器在pod中的任何其他容器初始化之前准备就绪。这是Kubernetes无法控制容器启动顺序的解决方法,并解决了一大类棘手的竞争条件,即应用程序容器在代理准备好之前尝试连接。更小、更快、更轻与往常一样,Linkerd2.11继续使Linkerd成为Kubernetes最轻、最快的服务网格。2.11中的相关变化包括:控制平面减少到只有3个部署。得益于高度活跃的Rust网络生态系统,Linkerd的数据平面“微代理”更小更快。SMI功能大部分已从核心控制平面中删除并移至扩展中。Linkerd镜像现在使用最小的“distroless”基础镜像。还有更多!Linkerd2.11还包括大量其他改进、性能增强和错误修复,包括:Kubernetes资源的新CLI选项卡完成(命令自动完成)。现在可以在命名空间资源上设置所有config.linkerd.io注释,它们将作为在该命名空间中创建的pod的默认值。带有短输出的新linkerdcheck-oshort命令。代理的仪表板模糊测试中的新扩展页面!https://linkerd.io/2021/05/07/fuzz-testing-for-linkerd/代理现在设置信息性l5d-client-id和l5d-proxy-error标头。对Helm可配置性和linkerd检查进行了大量改进。使用linkerd-multicluster对StatefulSets的实验性支持还有更多!有关详细信息,请参阅完整的发行说明https://github.com/linkerd/linkerd2/releases/tag/stable-2.11.0。
