公众号:黑客下午茶

授权策略

Linkerd 的新服务器授权策略(server authorization policy)功能使您可以细粒度控制允许哪些服务相互通信。这些策略直接建立在 Linkerd 的自动 mTLS 功能提供的安全服务身份上。与 Linkerd 的设计原则保持一致,授权策略以可组合的 Kubernetes 原生方式表达,这种方式只需最少的配置,就可表达广泛的行为。

为此,Linkerd 2.11 引入了一组默认授权策略,只需设置 Kubernetes annotation 即可应用于 clusternamespacepod 级别,包括:

  • all-authenticated(只允许来自 mTLS-validated 服务的请求);
  • all-unauthenticated(允许所有请求)
  • deny(拒绝所有请求)
  • … 和更多。

Linkerd 2.11 还引入了两个新的 CRD Server 和 ServerAuthorization,它们一起允许在任意一组 pod 中应用细粒度的策略。例如,Server 可以选择 namespace 中所有 pod 上的所有管理端口(admin ports),ServerAuthorization 可以允许来自 kubelet 的健康检查连接,或用于指标收集(metrics collection)的 mTLS 连接。

这些 annotationCRD 一起使您可以轻松地为集群指定各种策略,从 “允许所有流量”“服务 Foo 上的端口 8080 只能从使用 Bar 服务帐户的服务接收 mTLS 流量”,更多。(请参阅完整的策略文档 »)

重试带有正文的 HTTP 请求

重试失败的请求是 Linkerd 提高 Kubernetes 应用程序可靠性能力的关键部分。到目前为止,出于性能原因,Linkerd 只允许重试无正文请求,例如 HTTP GET。在 2.11 中,Linkerd 还可以重试带有 body 的失败请求,包括 gRPC 请求,最大 body 大小为 64KB

容器启动排序解决方法

Linkerd 2.11 现在默认确保 linkerd2-proxy 容器在 pod 中的任何其他容器初始化之前准备就绪。这是 Kubernetes 对容器启动顺序缺乏控制的一种解决方法,并解决了一大类棘手的竞争条件,即应用程序容器在代理准备就绪之前尝试连接。

更小、更快、更轻

像往常一样,Linkerd 2.11 继续让 Linkerd 成为 Kubernetes 最轻、最快的服务网格2.11 中的相关变化包括:

  • 控制平面(control plane)减少到只有 3 个部署。
  • 由于高度活跃的 Rust 网络生态系统,Linkerd 的数据平面(data plane) “微代理(micro-proxy)” 更小、更快。
  • SMI 功能大部分已从核心控制平面中删除,并移至扩展中。
  • Linkerd 镜像现在使用最小的 “distroless” 基础镜像。

还有更多!

Linkerd 2.11 还包含大量其他改进、性能增强和错误修复,包括:

  • Kubernetes 资源的新 CLI tab completion(命令自动完成)
  • 现在可以在 Namespace 资源上设置所有 config.linkerd.io annotations,它们将作为在该命名空间中创建的 pod 的默认值。
  • 一个 linkerd check -o short 带有简短输出的新命令。
  • Dashboard 中的新 扩展(Extensions) 页面
  • 代理的模糊测试(Fuzz testing)!
  • 代理现在设置信息性的 l5d-client-idl5d-proxy-error header。
  • Helm 可配置性和 linkerd check 进行了大量改进。
  • 使用 linkerd-multiclusterStatefulSets 的实验支持
  • 还有更多!

有关详细信息,请参阅完整的发行版说明

公众号:黑客下午茶

Linkerd stable-2.11.0 稳定版发布:授权策略、gRPC 重试、性能改进等!的更多相关文章

  1. .Net Core 3.0 稳定版发布啦!

    上个月的月底(9.23-9.25),.NET 开发者大会开始了,这届大会最主要的议题其实就是微软终于将.NET Core 3.0的面纱揭开了,我们也终于了解到了最新版本的.Net Core平台给我们带 ...

  2. Microsoft.Bcl.Build 1.0.10 稳定版发布

    Microsoft.Bcl.Build 1.0.10 稳定版发布 解决了之前 1.0.8 在未下载相应的Nuget Package 的情况下项目无法加载的情况 但由于 Microsoft.Net.Ht ...

  3. Node v0.12.5 稳定版发布

    Node v0.12.5 稳定版发布了,该版本改进记录主要包括: openssl: upgrade to 1.0.1o (Addressing multiple CVEs) npm: upgrade ...

  4. Redis 3.0正式版发布,正式支持Redis集群

    Redis是一个开源.基于C语言.基于内存亦可持久化的高性能NoSQL数据库,同时,它还提供了多种语言的API.近日,Redis 3.0在经过6个RC版本后,其正式版终于发布了.Redis 3.0的最 ...

  5. Android Studio 1.0 (稳定版) 完全攻略

    这篇博文中主要从以下几点进行叙述: 1.Android Studio安装与使用 2.Android Studio特性 3.Android Studio优点 Android Studio 安装与使用 A ...

  6. Python 3.8.0 正式版发布,新特性初体验 全面介绍

    Python 3.8.0 正式版发布,新特性初体验 北京时间 10 月 15 日,Python 官方发布了 3.8.0 正式版,该版本较 3.7 版本再次带来了多个非常实用的新特性. 赋值表达式 PE ...

  7. Appium路线图及1.0正式版发布

    Appium更新的速度极快,从我试用时候的0.12到1.0(0.18版本后就是1.0),完全符合移动互联网的节奏. 更新可能会慢,可以多试几次 整理了testerhome上思寒发表的帖子,让我们来看下 ...

  8. RestServer 2.0 正式版发布

    RestServer 2.0 正式版发布 使用许可&版权说明 在保持本软件完整的情况下可以将本软件用于任何商业用途. 本软件可以自由传播,但是请保持软件相关文件和说明文档完整. 未经许可不得将 ...

  9. React Suite v3.0 正式版发布

    React Suite v3.0 正式版发布 相信很多人会好奇,React Suite 是什么? React Suite 是 HYPERS 前端团队和 UX 团队开源的一套基于 React 的 UI ...

随机推荐

  1. 【mysql】索引优化分析

    1. 索引的概念 1.1 索引是什么 MySQL 官方对索引的定义为:索引(Index)是帮助MySQL 高效获取数据的数据结构.可以得到索引的本质:索引是数据结构.可以简单理解为排好序的快速查找数据 ...

  2. clojure配置

    1.转换clojure工程为eclipse工程 Install Counterclockwise plugin in Eclipse (from eclipse marketplace). This ...

  3. Spring第一课:核心API(三)

    以上是Spring的核心部分,其中需要了解的是:BeanFactory.ApplicationContext[FileSystemXmlApplicationContext.ClassPathXmlA ...

  4. Seq2Seq sequence-to-sequence模型 简介

    Sequence-to-sequence (seq2seq) 模型. 突破了传统的固定大小输入问题框架 开创了将DNN运用于翻译.聊天(问答)这类序列型任务的先河 并且在各主流语言之间的相互翻译,和语 ...

  5. 你的 SQL 还在回表查询吗?快给它安排覆盖索引

    什么是回表查询 小伙伴们可以先看这篇文章了解下什么是聚集索引和辅助索引:Are You OK?主键.聚集索引.辅助索引,简单回顾下,聚集索引的叶子节点包含完整的行数据,而非聚集索引的叶子节点存储的是每 ...

  6. 性能测试工具JMeter 基础(二)—— 主界面介绍

    主界面介绍 JMeter的主界面主要分为菜单导航栏.工具栏.计划树标签栏.内容栏 菜单导航栏:全部的功能的都包含在菜单栏中 工具栏:相当于菜单栏常用功能的快捷按钮 计划树标签栏:显示测试用例(计划)相 ...

  7. Redis详解(二)——

    https://www.cnblogs.com/yeya/p/14274948.html https://www.cnblogs.com/liang24/tag/redis/

  8. Junit5快速入门指南-3

    Fixtures 是测试中非常重要的一部分.他们的主要目的是建立一个固定/已知的环境状态以确保 测试可重复并且按照预期的方式运行.比如在app测试中 基类@BeforeClass 配置初始化,初始化d ...

  9. sed中传递变量进行替换

    sed命令中传递变量 例如:修改配置文件某一个变量的值 配置文件如下: toney@ubantu:/mnt/hgfs/em嵌入式学习记录/shell/shell脚本常见用法$ cat common_u ...

  10. redis跨实例迁移 & redis上云

    1)redis跨实例迁移--源实例db11迁移至目标实例db30 root@fe2e836e4470:/data# redis-cli -a pwd1 -n 11 keys \* |while rea ...