Falco 进入 CNCF Incubator 项目 | 云原生生态周报 Vol. 35

作者 | 王思宇、陈洁、敖小剑

业界要闻

  1. Falco 进入 CNCF Incubator 项目

原于 2018 年 8 月进入 sandbox,旨在 Kubernetes 运行时环境下支持配置规则来加强应用安全性、降低风险。

  1. Kubernetes v1.17.1 发布

解决部分 cloud provider 和 kubelet 相关问题,比如:

  1. CFP 2020 K8s Contributor Summit Amsterdam 开始征集 talk

将与 KubeCon 2020 EU 同期进行,欢迎 K8s contributor 参会。

  1. Istio 1.14.3 发布

Istio 发布 1.4.3 版本,此版本修复看一些 bug 以提高系统鲁棒性和用户体验。

上游重要进展

Kubenetes

  1. LoadBalancer Service 支持多种不同 protocol 类型的 port

目前一个 LoadBalancer Service 可以写多个 port,但是这些 port 的类型必须相同,比如都是 tcp 或 udp。这个 PR 允许在一个 LoadBalancer Service 中定义多种不同类型的 port,以支持不同云厂商提供的 service 服务。(对应的 PR

  1. 解决组件特定 ComponentConfig 的配置问题

ComponentConfig 是支持编写 Kubernetes-style 的配置文件,来给各种 Kubernetes 核心组件作为启动配置,而不是直接通过命令行参数的方式配置,这个 KEP 是为了解决在编写 ComponentConfig 的时候不同组件的特定配置问题。

  1. device manager 中增加 release api 接口

在 Kubelet devicemanager 中增加 release 接口,支持 device plugin 释放已经分配给 Pod 的设备。

type Manager interface {
    // ...
    
    // Release release devices allocated to pods.
    Release(pod *v1.Pod) error
}
  1. PDB status 中新增 conditions

conditions 用于上报当前 PDB 的一些状态信息,比如 PodDisruptionBudgetFailure(Failure),用于 disruption controller 在 failSafe 阶段上报状态标识。

type PodDisruptionBudgetStatus struct {
    // ...
    
    // Conditions represents the latest available observations of a PDB's current state.
    // +patchMergeKey=type
    // +patchStrategy=merge
    Conditions []PodDisruptionBudgetCondition
}

Istio

  1. 为Telemetry V2 开启 TCP 元数据交换

Telemetry V2 依靠对等代理之间的元数据交换,以便它们可以在不依赖于 side lookup 的情况下产生丰富的遥测信息。 Istio 1.4 使用 "x-envoy-peer-metadata" http header 来支持 http 流量的元数据交换。Istio 1.5 将支持 TCP 流量的元数据交换,该提案目前已经得到批准。

  1. 在 AuthorizationPolicy 实现 deny 和 exclude

Istioi 社区提出更改 AuthorizationPolicy 的 API,以支持拒绝 (deny) 和排除 (exclude) 语义。目标包括支持通过使用 AuthorizationPolicy 来拒绝请求,并支持在 AuthorizationPolicy 中使用否定匹配 (not_XXX)。用户无需复制或修改其现有策略即可使用新功能。

  1. 可验证的自定义属性

在 SPIFFE 标识(service account 和 namespace)之外,允许客户在 Istio 授权中创建和使用可验证的自定义属性。当前这个提案还处于早期阶段,讨论动机和用例,收集反馈,尚未开始设计。

开源项目推荐

  1. Flux

一个面向 GitOps 流程的 operator(CNCF sandbox 项目),支持监听 Git 变化并自动触发一系列打包部署等操作。

  1. Kubeless

符合原生 Kubernetes 模式的 serverless framework。安装部署之后,只需要提交自己写的 code 以及依赖给 kubeless cli,由 kubeless 负责部署运行。 

本周阅读推荐

  1. 《Manage Thousands of Clusters with GitOps and the Cluster API》

Weaveworks 团队如何通过 GitOps 和 Cluster API 来管理数千个 Kubernetes 集群。其中 GitOps 正是使用了上面开源项目推荐中介绍的 Flux 工具,来把 GitOps 链路打通,并结合 Cluster API 组成了 GitOps 模式的多集群管理。

  1. 《Vault replication across multiple datacenters on Kubernetes》

本文介绍了基于 Kubernetes 之上,如何管理跨多个数据中心的 Vault 集群。

  1. 《Kubernetes Networking Demystified - A Brief Guide》

本文从一次网络连接开始,介绍了 Kubernetes 中各类网络链路和配置,包括 Service、Load balancer、kube-proxy、Pod 网络等,推荐对 Kubernetes 网络机制感兴趣的同学阅读。

  1. 《从零开始入门 K8s | GPU 管理和 Device Plugin 工作机制》

本文主要介绍 K8s 中 GPU 管理方式、如何为容器配置 GPU,以及对应的 Extended Resource 和 Device Plugin的工作原理。

  1. 《K8s 实践 | 如何解决多租户集群的安全隔离问题?》

如何解决多租户集群的安全隔离问题是企业上云的一个关键问题,本文主要介绍了 Kubernetes 多租户集群的基本概念和常见应用形态,以及在企业内部共享集群的业务场景下,基于 Kubernetes 原生和 ACK 集群现有安全管理能力快速实现多租户集群的相关方案。

云原生实践峰会即将开幕

大咖海报.jpeg

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

posted @ 2020-01-19 11:22  阿里巴巴云原生  阅读(...)  评论(...编辑  收藏