云原生生态周报 Vol. 23:全球首个开放应用模型 OAM 开源

2019 年 10 月 28 日

云原生生态周报 Vol. 23:全球首个开放应用模型 OAM 开源

前言


《云原生生态周报》由阿里云容器平台联合蚂蚁金服共同发布,每周一期。众多一线社区专家与您一起“跟踪动态,读懂社区”,分享云原生社区项目进展、活动发布、精选博客等信息。以下是第二十三期云原生生态周报的内容。


业界要闻


全球首个开放应用模型 OAM 开源


2019 年 10 月 17 日,阿里巴巴合伙人、阿里云智能基础产品事业部总经理蒋江伟(花名:小邪)在 Qcon 上海重磅宣布,阿里云与微软联合推出开放应用模型 Open Application Model (OAM)开源项目。OAM 的愿景是以标准化的方式沟通和连接应用开发者、运维人员、应用基础设施,让云原生应用管理与交付变得更加简洁,高效,并且可控。


KubeVirt 进入 CNCF Sandbox


KubeVirt 尽管容器技术提供了各种便利,但是在特定情况下使用 VM 仍然是不可避免的(编者按:VM 只是选择之一,不同的安全容器解决方案都可以在不同方面代替单纯的 VM)。来自 Redhat 的 KubeVirt 项目可以提供在 K8s 集群内部准备、部署、运行和管理 VM 的能力,让用户可以使用 Pod 一样来使用一个 VM。现在,这个项目已经正式进入了 CNCF 的 Sandbox 了。


Megalix 发布 KubeAdvisor 1.0 版本


KubeAdvisor 日前发布了 1.0 版本。KubeAdvisor 一款辅助 K8s 运维的工具,能够扫描 K8s 集群的资源、状态、配置等,通过提供恰当的“可观测性”(编者按:眼花缭乱的监控数据和曲线图不等于可观测性),为集群使用者提供最有价值的信息,来辅助保障基础设施和上层应用的可靠性和稳定性。


上游重要进展


1.允许动态调整 kube-scheduler 的 log level。kube-scheduler 作为 K8s 重要的默认调度组件,在一些情况下它们的日志可以反映出不少信息,这个 PR 允许 kube-scheduler 的日志打印级别可以动态被调整。


2.调度器方面最近的一个举动是将一些 Prioritizing 的逻辑插件化(Score Plugin)。最近几个相关的 PR 如下,感兴趣的同学可以关注。



3.为 scheduler 添加一个跟踪 Binding 和 Prioritizing 的 goroutine 数目的 metric


在大规模应用部署等一些特殊场景中,调度器可能成为整体性能的瓶颈。


4.这里有两个优化 kubeadm 使用体验的 PR:


1). kubeadm 的 structured output:结构化输出 kubeadm 的一些输出信息(yaml、json 等),方便被继续处理;


2). kubeadm 添加 --with-ca flag 来显示 ca 的过期信息:ca 过期是常见的造成组件不可用的愿意之一,有了这个 flag 可以更方便的指导 ca 的过期信息。


5.下面是几个比较重要 / 有意思的 KEP,感兴趣的朋友可以关注一下:


1). 为 Kube API Server 的 network proxy 添加了 beta 版毕业条件。KAS 允许配置 Kube API Server 的网络流量到(或者不到)指定的 proxy;


2). insecure kubelet log:通过一个开关,使得在 kubelet 的 serving cert 过期(kube apiserver 不认识 kubelet)但 kube-apiserver 的 client cert 没有过期(kubelet 认识 kube apiserver)的条件下,允许 kubelet 通过跳过 tls 验证返回一些 log。这个功能在测试和 debug 的场景是有用的。


3). 规范化 conformanece test 的内容的实施(文档、API schema、代码检验、专家知识等)


4). 扩展 NodeRestriction Controller 来限制更多 Node 可以 Pod 进行的操作(主要是来自安全上的考虑);


5). HPA 的状态达到 implementable


6). 两个计划中的 GA,对于想要参与到 K8s 社区的新手贡献者来说,这两个 KEP 是不错的切入点(目标、方法很明确的需求)


7). 根据 Node condition 给 Node 打上 taint 标记,自动化帮助调度器识别出不适合的调度节点;


8). 之前 DaemonSet 的调度逻辑是在 DaemonSet controller 中的,这个 KEP 希望把调度逻辑移动到调度器中实现。


开源项目推荐


VMware-Tanzu


VMware 已经开始全面支持 K8s,最近该公司在开源方面的一个举措是将几个自己拥有的云原生开源项目迁移到了新的 Organization:VMware-Tanzu。这个项目中目前包括下面几个项目:


  • velero:应用迁移工具

  • octant:一个集群状态展示的 dashboard

  • sonobuoy:一个 K8s 分析工具

  • ······


k8s-transmogrifier


K8s 1.16 中废弃了大量的 API,影响到很多的已经用于生产的集群配置和 Helm chart 等。这里有一个自动转换 K8s 1.16 中的 depreciated 的 API 的工具,有需要的人可以了解一下。


本周阅读推荐


1.《阿里巴巴的研发模式是如何演进的?


随着云计算的不断发展,很多开发者都对这一技术将为开发方式带来的变化充满兴趣,云计算解决的是从 CAPEX 到 OPEX 的转变问题。云可以带来哪些切实的好处?在云环境下应该怎么做应用架构?基于从传统架构到云架构的亲身经历,阿里巴巴合伙人、阿里云智能基础产品事业部总经理蒋江伟(小邪)阐述了企业由新架构和新研发模式带来的价值点。本文整理自正在召开的 QCon 上海 2019 蒋江伟(小邪)的演讲内容。


2.《How Zalando manages 140+ Kubernetes Cluster


本文介绍了 Zalando 的团队在(公有云上)管理数量棒庞大的 K8s 集群中得到的一些实践经验,例如每个 domain 或者 production community 总是部署双集群(prod & non-prod)、使用 Github 托管配置文件、通过 CLM(Cluster Lifecycle Manager)管理升级等等。


3.《Liveness Probes are Dangerous


Liveness Probe 和 Readiness Probe 是 K8s 中判断应用是否可用的重要工具,然而不正确的使用 Liveness Probe 或者 Readiness Probe 会带来的风险(例如不小心使用了外部依赖、Liveness Probe 有时候反而会阻止 Pod 正确的进入失败状态从而无法彻底恢复健康等),这篇文章总结了使用这两者的最佳实践。


4.《A Practical Guide to Setting Kubernetes Requests and Limits


Kubernetes 资源定义中的 request 和 limit 是老生常谈的问题了,本文除了更好的解释这些概念意外,还从 SLA 的角度提供了如何配置它们的建议。


5.《Protecting Kubernetes API Against CVE-2019-11253 (Billion Laughs Attack) and Other Vulnerabilities


本文通过介绍 K8s 中的一个可能导致 billions laughs attacks 漏洞的例子,讲解了在生产环境中使用 K8s 的常规安全操作,包括正确配置 RBAC、定期检查 Role 和 RoleBinding、永远不要暴露 Master host 的地址等等。


6.《基于 Knative Serverless 技术实现天气服务-下篇


上一期我们介绍了如何基于 Knative Serverless 技术实现天气服务-上篇,本篇文章我们介绍如何通过表格存储提供的通道服务,实现 Knative 对接表格存储事件源,订阅并通过钉钉发送天气提醒通知。关于 Knative 更多精彩文章请看 《Knative 系列文章》。


相关阅读


云原生生态周报 Vol. 22:Knative 暂时不会捐给任何基金会


云原生生态周报 Vol. 21:Traefik 2.0 正式发布


云原生生态周报 Vol. 20:Kubernetes v1.16 发布


云原生生态周报 Vol. 19:Helm 推荐用户转向 V3


云原生生态周报 Vol. 18:独家解读 etcd 3.4 新特性


云原生生态周报 Vol. 17 :Helm 3 发布首个 beta 版本


云原生生态周报 Vol. 16:CNCF 归档 rkt,容器运行时“上古”之战老兵凋零


云原生生态周报 Vol. 15:K8s 安全审计报告发布


云原生生态周报 Vol. 14:K8s CVE 修复指南


云原生生态周报 Vol. 13 | Forrester 发布企业级容器平台报告


云原生生态周报 Vol. 12 |K8s 1.16 API 重大变更


云原生生态周报 Vol. 11 | K8s 1.16 早知道


云原生生态周报 Vol. 10 | 数据库能否运行在 K8s 当中?


云原生生态周报 Vol. 9 | K8s 1.15 后的性能提升


云原生生态周报 Vol. 8 | Gartner 发布云原生趋势


云原生生态周报 Vol. 7 | Docker 再爆 CVE


云原生生态周报 Vol. 6 | KubeCon EU 亮点汇总


云原生生态周报 Vol. 5 | etcd 性能知多少


云原生生态周报 Vol.4 | Twitter 从 Mesos 全面转向 Kubernetes


云原生生态周报 Vol. 3 | Docker Hub 遭入侵,Java 8 开始提供良好的容器支持


云原生生态周报 Vol. 2 | Godaddy 开源 KES、CNCF 提供免费云原生课程


云原生生态周报 Vol. 1 | Google 发布 Cloud Run,开源项目 Kubecost 让 K8s 花费一目了然


2019 年 10 月 28 日 13:30817

评论

发布
暂无评论
发现更多内容

ARTS 挑战打卡第十五周(200817-200823)

老胡爱分享

ARTS 打卡计划

第11周作业

赵龙

论商品促销代码的优雅性

架构师修行之路

悬挂引用是如何被Rust消灭的?

袁承兴

rust 内存模型 指针 引用 泛型

银行热衷拿区块链专利 背后有何意图

CECBC区块链专委会

区块链 银行

智能化转型将加速数字经济变革

CECBC区块链专委会

人工智能 数字经济

第二周学习总结

Vincent

极客时间 极客大学 作业

架构师训练营第十一周总结

张明森

区块链数字钱包定制开发,数字货币钱包开发费用

13530558032

云算力挖矿平台APP,一站式云算力挖矿系统开发

13530558032

沟通是一门艺术

石云升

情绪控制 沟通艺术

微服务的基建工作

看山

微服务 基础设施

架构师训练营 -- 第11周作业

stardust20

Tencent AI Lab 日常实习生招聘

InfoQ_d00afcd122a8

招聘

ArCall 升级丨新增多项功能,可支持多人在线语音

anyRTC开发者

音视频 WebRTC 直播 RTC

第11周学习总结

赵龙

微服务编程范式

看山

微服务 范式

第二周作业

Vincent

极客时间 作业

云中谁寄锦书来,免费生成一封七夕情书吧

郭旭东

阿里云 七夕 云效

永续合约交易系统源码开发,合约交易所开发

13530558032

一起学MySQL性能优化

xcbeyond

MySQL 性能优化 MySQL性能优化

跨过语言银河,构筑智能鹊桥:百度NLP的十年、今夕与未来

脑极体

为什么会出现零代码开发平台?

代码制造者

编程语言 低代码 企业信息化 零代码 编程开发

区块链承兑商支付系统开发,USDT支付软件搭建

13530558032

一次开零售店的经历(1)

石云升

零售店

架构师训练营第十一周作业

张明森

话题讨论 | 作为一名程序员,沟通能力是否重要?

InfoQ写作平台

程序员 写作平台 话题讨论

一次开零售店的经历(2)

石云升

零售店

有益思考一则:框架性思维

石君

学习 方法论

架构师第十一周作业及总结

傻傻的帅

Spring系列篇:Spring容器基本使用及原理

简爱W

云原生生态周报 Vol. 23:全球首个开放应用模型 OAM 开源-InfoQ