CNCF 宣布 TUF 毕业 | 云原生生态周报 Vol. 33

做者 | 孙健波、汪萌海、陈有坤、李鹏html

业界要闻

  1. CNCF 宣布 TUF 毕业

CNCF 宣布 TUF(The update Framework)项目正式毕业,成为继 Kubernetes、Premetheus、Envoy、CoreDNS、containerd、Fluentd Jaeger 以及 Vitess 以后,第九个正式毕业的项目。TUF 是一项用于保护软件更新系统的开源安全技术,也是从云原生计算基金会毕业的第一个以规范与安全性为重点的项目。与此同时,TUF 仍是首个源自高校的 CNCF 毕业项目。git

  1. Istio 发布安全公告
  • CVE-2019-18801:该漏洞经过向下游发送 HTTP/2 大 header 请求影响 Envoy 的 HTTP/1 编解码器,利用此漏洞可能致使拒绝服务、权限逃逸或信息泄露;
  • CVE-2019-18802:HTTP/1 编解码器没有修剪掉 header 值以后的空格,使攻击者能够绕开 Istio 的策略,最终致使信息泄露或特权升级;
  • CVE-2019-18838:收到不带 "Host" header HTTP 请求后, Envoy 路由管理器会因为空指针致使 Envoy 进程异常终止。

解决方案github

  • 对于 Istio 1.2.x 版本:升级到 Istio 1.2.10 或以上;
  • 对于 Istio 1.3.x 版本:升级到 Istio 1.3.6 或以上;
  • 对于 Istio 1.4.x 版本:升级到 Istio 1.4.2 或以上。
  1. 2020 年 Service Mesh 三大发展趋势
  • 随着 Kubernetes 的愈发普及和标准化,应用场景愈来愈复杂,服务网格的需求会快速增长;
  • Istio 的先发优点会愈来愈明显,以致于它很难被击败,由于愈来愈多的软件供应商会提供 Istio 的解决方案;
  • 更多的使用场景会出现,目前服务网格的使用场景主要在 "mTLS(统一鉴权解决方案)",“应用可观测性解决方案”,“流量管理解决方案”,2020 年会出现服务网格技术的杀手级解决方案。

上游重要进展

Kubenetes

  1. add KEP: Node Maintenance Lease

增长用于 Node 协做的租约,该提案主要解决的是多个组件对 Node 均有操做,加锁独占的问题,好比在线 debug Node 问题的时候,又好比 Node 更新系统起做用的时候,不但愿 Node 快照备份系统起做用。算法

  1. K8s 调度器升级计划进入到阶段二
  • 一阶段是构建了新的调度框架,目标是把 scheduler 变成一个执行不一样扩展插件的 callback 的引擎,能够注册 callback 函数,把一系列调度计算、预测相关的函数做为 plugin;
  • 二阶段的主要目标是把原先内置在 K8s scheduler 里面的预测和调度算法移入对应的 plugin 中经过调度框架调用,许多 PR 围绕该目标在展开。
  1. K8s 社区子项目 rktlet 正式被归档

rktlet 是基于容器运行时 rkt 项目的 CRI(Container Runtime Interface) 实现,相似 kubelet,随着 rkt 项目退出 CNCF,rktlet 也无人维护,现在正式被移出。数据库

Knative

  1. Knative serving PodSpec 功能性

在 Knative 中,RevisionTemplateSpec 像 PodSpec 的一个子集,只实现了部分功能。为了保持 Knative 的简易性,哪些字段须要加,哪些字段不须要加,文档中列出了一些条件。另外针对运维角色,有些字段不是面向开发的,但 K8s 都把字段暴露出来了,K8s 这样作不意味着 Knative 也须要这样作,能够把它做为一个 Configmap 的配置值或者新增运维的 CRD。segmentfault

  1. 关于事件域 Eventing domains

在事件系统中,事件生产者和消费者一般不直接通讯。在许多状况下,都涉及充当事件总线的消息中间件。经过这种方式,能够对事件进行集中管理,消费者和生产者能够发出和订阅哪些内容,而且能够设置过滤器或策略。所以,引入了事件域的定义。安全

Istio

  1. 社区在讨论如何缓解 Istio CNI 竞争问题

Istio CNI 竞争问题是指在经过使用 Istio CNI 插件配置容器网络安装 iptables 规则时,可能会遇到应用程序的 pod 在 Istio CNI 配置完成以前就启动,致使出现没有配置 iptables 规则的应用程序 pod 出现,这会致使安全问题,由于能够绕开全部的 Istio 策略检查。网络

社区讨论了可能在 Istio1.5 中提供的短时间方案,并提出长期方案是但愿 K8s 提供标准方法:在节点调度 Pod 以前,确保关键守护程序已经准备好;若是关键守护程序失败,请污染节点。后续将与 K8s 社区继续讨论。框架

开源项目推荐

  1. OAM Go SDK

基于OAM(开放应用模型)的 Go 语言 SDK,SDK 中包含了 OAM Spec 的解析和 Controller 框架,能够快速构建 OAM 的实现,快速对接标准应用模型。less

  1. Vault

Vault 是 HashiCorp公司(旗下还有Vagrant,Terraform,Consul 等知名产品)维护的开源软件,它的设计思想基于云原生背景下动态基础设施的特色,在云上的不一样网络层以及不一样的服务之间已经很难找到传统的信任边界,服务之间更增强调以身份(identity)为核心的认证和访问控制,而不是像传统静态基础设施中以 IP、主机地址做为信任凭证(与 K8s 对接)。

  1. kube-score

kube-score 是 K8s 对象静态检查工具,经过分析 K8s 对象的 Yaml 文件作一些推荐,以提高可靠性和安全性。

本周阅读推荐

  1. 《The Open Application Model from Alibaba's Perspective》

InfoQ 国际总站发表文章《阿里巴巴视角下的开放应用模型》,详细讲述了 OAM 的由来以及阿里巴巴在 K8s 应用管理上的实践。

  1. 《Dynamic Database Credentials with Vault and Kubernetes》

使用 Vault 在 Kubernetes 体系中提供动态数据库鉴权信息,文中针对云原生场景下 Pod 生命周期短、变化快等问题,Vault 提供了一系列 Policy 解决动态鉴权信息注入的问题。

  1. 《Debugging and Monitoring DNS issues in Kubernetes》

在 Kubernetes 上 debug DNS 问题的指南。

  1. 《将 Sidecar 容器带入新的阶段 | KubeCon NA 2019》

本文介绍了蚂蚁金服和阿里巴巴集团场景下对 Sidecar 容器的各类使用方式。

  1. 《容器十年:隔离性、效率与兼容性》

从 2008 年基于内核 cgroup 的 LXC 诞生至今,现代 Linux 的容器化已逾 10 年,前后有基于 cgroup/namespace 的进程隔离容器技术、基于 CPU 硬件指令集的虚拟化技术,以及经过重写内核功能实现的用户空间内核容器技术纷纷登场,各有千秋。

  1. 《StackRox 2020 预测:从 Kubernetes 到 DevOps》

StackRox 的联合创始人,首席技术官Ali Golshan 对 2020 年技术发展作了一些预测,这些预测涉及 Kubernetes 和服务网格技术的增加。

阿里巴巴云原生关注微服务、Serverless、容器、Service Mesh 等技术领域、聚焦云原生流行技术趋势、云原生大规模的落地实践,作最懂云原生开发者的技术圈。”