业界要闻
====
[全球首个开放应用模型 OAM 开源](https://yq.aliyun.com/go/articleRenderRedirect?url=http%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzUzNzYxNjAzMg%3D%3D%26amp%3Bmid%3D100003362%26amp%3Bidx%3D1%26amp%3Bsn%3D67bd3ddac5c21797182496f892732f29%26amp%3Bchksm%3D7ae505ed4d928cfbae70a2822e7ae51fc4302b1651db74870c65b27b3d89640ab22cc3fd2dc5%23rd)
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
2019 年 10 月 17 日,阿里巴巴合伙人、阿里云智能基础产品事业部总经理蒋江伟(花名:小邪)在 Qcon 上海重磅宣布,阿里云与微软联合推出开放应用模型 Open Application Model (OAM)开源项目。OAM 的愿景是以标准化的方式沟通和连接应用开发者、运维人员、应用基础设施,让云原生应用管理与交付变得更加简洁,高效,并且可控。
[KubeVirt 进入 CNCF Sandbox](https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fblog.openshift.com%2Fkubevirt-joins-cloud-native-computing-foundation%2F)
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
[KubeVirt](https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fblog.openshift.com%2Fgetting-started-with-kubevirt%2F) 尽管容器技术提供了各种便利,但是在特定情况下使用 VM 仍然是不可避免的(编者按:VM 只是选择之一,不同的安全容器解决方案都可以在不同方面代替单纯的 VM)。来自 Redhat 的 KubeVirt 项目可以提供在 K8s 集群内部准备、部署、运行和管理 VM 的能力,让用户可以使用 Pod 一样来使用一个 VM。现在,这个项目已经正式进入了 CNCF 的 Sandbox 了。
[Megalix 发布 KubeAdvisor 1.0 版本](https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fwww.magalix.com%2Fblog%2Fkubeadvisor-release)
----------------------------------------------------------------------------------------------------------------------------------------------
KubeAdvisor 日前发布了 1.0 版本。KubeAdvisor 一款辅助 K8s 运维的工具,能够扫描 K8s 集群的资源、状态、配置等,通过提供恰当的“可观测性”(编者按:眼花缭乱的监控数据和曲线图不等于可观测性),为集群使用者提供最有价值的信息,来辅助保障基础设施和上层应用的可靠性和稳定性。
上游重要进展
======
1.[允许动态调整 kube-scheduler 的 log level](https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fgithub.com%2Fkubernetes%2Fkubernetes%2Fpull%2F83910)。kube-scheduler 作为 K8s 重要的默认调度组件,在一些情况下它们的日志可以反映出不少信息,这个 PR 允许 kube-scheduler 的日志打印级别可以动态被调整。
2.调度器方面最近的一个举动是将一些 Prioritizing 的逻辑插件化(Score Plugin)。最近几个相关的PR如下,感兴趣的同学可以关注。
* [BalancedResourceAllocation](https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fgithub.com%2Fkubernetes%2Fkubernetes%2Fpull%2F83892)
* [MostRequestedPriority](https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fgithub.com%2Fkubernetes%2Fkubernetes%2Fpull%2F83908)
* [LeastResourcePriority](https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fgithub.com%2Fkubernetes%2Fkubernetes%2Fpull%2F83905)
3.[为 scheduler 添加一个跟踪 Binding 和 Prioritizing 的 goroutine 数目的 metric](https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fgithub.com%2Fkubernetes%2Fkubernetes%2Fpull%2F83535)。
在大规模应用部署等一些特殊场景中,调度器可能成为整体性能的瓶颈。
4.这里有两个优化 kubeadm 使用体验的 PR:
1. [kubeadm 的 structured output](https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fgithub.com%2Fkubernetes%2Fkubernetes%2Fpull%2F83941):结构化输出 kubeadm 的一些输出信息(yaml、json 等),方便被继续处理;
2. [kubeadm 添加 --with-ca flag 来显示 ca 的过期信息](https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fgithub.com%2Fkubernetes%2Fkubernetes%2Fpull%2F83932):ca 过期是常见的造成组件不可用的愿意之一,有了这个 flag 可以更方便的指导 ca 的过期信息。
5.下面是几个比较重要 / 有意思的 KEP,感兴趣的朋友可以关注一下:
1. [为 Kube API Server 的 network proxy 添加了 beta 版毕业条件](https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fgithub.com%2Fkubernetes%2Fenhancements%2Fblob%2Fmaster%2Fkeps%2Fsig-api-machinery%2F20190226-network-proxy.md)。KAS 允许配置 Kube API Server 的网络流量到(或者不到)指定的 proxy;
2. [insecure kubelet log](https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fgithub.com%2Fkubernetes%2Fenhancements%2Fblob%2Fmaster%2Fkeps%2Fsig-api-machinery%2F20190927-insecure-backend-proxy.md):通过一个开关,使得在 kubelet 的 serving cert 过期(kube apiserver 不认识 kubelet)但kube-apiserver 的 client cert 没有过期(kubelet 认识 kube apiserver)的条件下,允许 kubelet 通过跳过 tls 验证返回一些 log。这个功能在测试和debug的场景是有用的。
3. [规范化 conformanece test 的内容的实施](https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fgithub.com%2Fkubernetes%2Fenhancements%2Fblob%2Fmaster%2Fkeps%2Fsig-architecture%2F20190412-conformance-behaviors.md)(文档、API schema、代码检验、专家知识等)
4. [扩展 NodeRestriction Controller](https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fgithub.com%2Fkubernetes%2Fenhancements%2Fblob%2Fmaster%2Fkeps%2Fsig-auth%2F20190916-noderestriction-pods.md) 来限制更多 Node 可以 Pod 进行的操作(主要是来自安全上的考虑);
5. [HPA 的状态达到 implementable](https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fgithub.com%2Fkubernetes%2Fenhancements%2Fblob%2Fmaster%2Fkeps%2Fsig-autoscaling%2F20190307-configurable-scale-velocity-for-hpa.md)
6. 两个计划中的 GA,对于想要参与到 K8s 社区的新手贡献者来说,这两个 KEP 是不错的切入点(目标、方法很明确的需求)
1. [根据 Node condition 给 Node 打上 taint 标记](https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fgithub.com%2Fkubernetes%2Fenhancements%2Fblob%2Fmaster%2Fkeps%2Fsig-scheduling%2F20191012-graduate-taint-node-by-condition-to-ga.md),自动化帮助调度器识别出不适合的调度节点;
2. 之前 DaemonSet 的调度逻辑是在 DaemonSet controller 中的,[这个 KEP ](https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fgithub.com%2Fkubernetes%2Fenhancements%2Fblob%2Fmaster%2Fkeps%2Fsig-scheduling%2F20191011-graduate-schedule-daemonset-pods-to-ga.md)希望把调度逻辑移动到调度器中实现。
开源项目推荐
======
[VMware-Tanzu](https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fgithub.com%2Fvmware-tanzu)
----------------------------------------------------------------------------------------------------------
[VMware](https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fblogs.vmware.com%2Fcloudnative%2F2019%2F10%2F01%2Fopen-source-in-vmware-tanzu%2F) 已经开始全面支持 K8s,最近该公司在开源方面的一个举措是将几个自己拥有的云原生开源项目迁移到了新的 Organization:VMware-Tanzu。这个项目中目前包括下面几个项目:
* velero:应用迁移工具
* octant:一个集群状态展示的 dashboard
* sonobuoy:一个 K8s 分析工具
* ······
[k8s-transmogrifier](https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fgithub.com%2Ffunkypenguin%2Fk8s-transmogrifier)
-------------------------------------------------------------------------------------------------------------------------------------
K8s 1.16 中废弃了大量的 API,影响到很多的已经用于生产的集群配置和 Helm chart 等。这里有一个自动转换 K8s 1.16 中的 depreciated 的 API 的[工具](https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fwww.funkypenguin.co.nz%2Fnote%2Ftransmogrify-deprecated-kubernetes-apis%2F),有需要的人可以了解一下。
本周阅读推荐
======
1.《[阿里巴巴的研发模式是如何演进的?](https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fmp.weixin.qq.com%2Fs%2FAkj5gy3dBCv_qcJNybGznw)》
随着云计算的不断发展,很多开发者都对这一技术将为开发方式带来的变化充满兴趣,云计算解决的是从 CAPEX 到 OPEX 的转变问题。云可以带来哪些切实的好处?在云环境下应该怎么做应用架构?基于从传统架构到云架构的亲身经历,阿里巴巴合伙人、阿里云智能基础产品事业部总经理蒋江伟(小邪)阐述了企业由新架构和新研发模式带来的价值点。本文整理自正在召开的 [QCon 上海 2019 ](https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fqcon.infoq.cn%2F2019%2Fshanghai)蒋江伟(小邪)的演讲内容。
2.《[How Zalando manages 140+ Kubernetes Cluster](https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fsrcco.de%2Fposts%2Fhow-zalando-manages-140-kubernetes-clusters.html)》
本文介绍了 Zalando 的团队在(公有云上)管理数量棒庞大的 K8s 集群中得到的一些实践经验,例如每个 domain 或者 production community 总是部署双集群(prod & non-prod)、使用 Github 托管配置文件、通过 CLM(Cluster Lifecycle Manager)管理升级等等。
3.《[Liveness Probes are Dangerous](https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fsrcco.de%2Fposts%2Fkubernetes-liveness-probes-are-dangerous.html)》
Liveness Probe 和 Readiness Probe 是 K8s 中判断应用是否可用的重要工具,然而不正确的使用 Liveness Probe 或者 Readiness Probe 会带来的风险(例如不小心使用了外部依赖、Liveness Probe 有时候反而会阻止 Pod 正确的进入失败状态从而无法彻底恢复健康等),这篇文章总结了使用这两者的最佳实践。
4.《[A Practical Guide to Setting Kubernetes Requests and Limits](https://yq.aliyun.com/go/articleRenderRedirect?url=http%3A%2F%2Fblog.kubecost.com%2Fblog%2Frequests-and-limits%2F)》
Kubernetes 资源定义中的 request 和 limit 是老生常谈的问题了,本文除了更好的解释这些概念意外,还从 SLA 的角度提供了如何配置它们的建议。
5.《[Protecting Kubernetes API Against CVE-2019-11253 (Billion Laughs Attack) and Other Vulnerabilities](https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fwww.stackrox.com%2Fpost%2F2019%2F09%2Fprotecting-kubernetes-api-against-cve-2019-11253-billion-laughs-attack%2F)》
本文通过介绍 K8s 中的一个可能导致 billions laughs attacks 漏洞的例子,讲解了在生产环境中使用 K8s 的常规安全操作,包括正确配置 RBAC、定期检查 Role 和 RoleBinding、永远不要暴露 Master host 的地址等等。
6.《[基于 Knative Serverless 技术实现天气服务-下篇](https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fmp.weixin.qq.com%2Fs%2FOEJCC7x8Em6lY1rO5kum5g)》
本文作者:临石、元毅、冬岛、衷源、天元
[原文链接](https://yq.aliyun.com/articles/721237?utm_content=g_1000082462)
本文为云栖社区原创内容,未经允许不得转载。
分享到:
相关推荐
阿里巴巴的新一代云原生应用引擎实践,主要围绕开放应用模型(OAM)和 KubeVela 这一开源项目展开,旨在解决云原生时代应用管理的挑战和困境。 首先,云原生时代见证了从物理机、虚拟机到容器化的转变,Kubernetes ...
OAM应用模型是一个云原生的应用模型,它可以帮助企业快速构建和交付云原生应用。OAM应用模型由Component、Trait和Application Configuration组成。 Component是一个完全从研发视角定义的待部署单元,工作负载是待...
云原生架构强调的是以容器技术、微服务、Serverless、开放应用模型(OAM)、ServiceMesh技术和DevOps等为核心的架构模式。这些技术共同作用,促使业务和应用开发更加灵活、可靠,并且具备快速迭代的能力。 阿里巴巴...
该技术由OAM(云原生应用模型)和KubeVela项目的主要作者共同推动,旨在实现标准化的云原生应用交付和应用管理体系。 - **OAM(云原生应用模型)**:这是一种用于定义、构建和部署云原生应用的标准模型。通过OAM,...
根据提供的文档信息,“O-RAN-WG1.OAM-Architecture-v02.00.pdf”这份技术规范主要聚焦于O-RAN(开放无线接入网)中的操作与维护(OAM,Operations and Maintenance)架构的设计与实现。接下来,我们将详细探讨这份...
总结来说,基于OAM的应用模型为PaaS平台带来了标准化、可扩展的架构,使得平台能够更好地适应云原生环境,尤其是Kubernetes生态。通过Operator化的方法,EDAS实现了与Kubernetes的深度融合,为用户提供了一套完整的...
开放应用模型(OAM)提供了一种描述应用程序的工作方式,便于开发者、运维和云服务提供商在云原生生态系统中协同工作。ServiceMesh技术则通过提供一个透明的网络层来管理服务之间的通信,简化了分布式系统的复杂性。...
以太网OAM(Operations, Administration and Maintenance,操作、管理和维护)是网络管理的重要组成部分,特别是在局域网和城域网环境中。802.3ah标准是针对以太网接入链路(如EPON,Ethernet Passive Optical ...
OAM:云原生时代的应用模型与下一代 DevOps 技术 RocketMQ 新特性揭秘-Request-Reply 模式 RocketMQ Connect 平台的搭建与实践 RocketMQ Go 客户端实践 RocketMQ Operator-K8s 平台自动化部署工具 Serverless 工作流...
- 运维自动化与标准化:开放应用模型(Open Application Model,OAM)推动运维进一步自动化和标准化,使得应用跨云部署和管理变得更加简单。 8. **下一步:普惠** - 云原生技术的普及:未来,云原生运维将进一步...
基于 Kubernetes 与 OAM 构建统一而强大的云原生应用引擎 分布式追踪不是银弹 从架构设计到代码 三、微服务开源专场 Sentinel 微服务高可用容错最佳实践 Dubbo3.0-开启下一代云原生微服务 云原生微服务下混沌工程...
KubeVela是一个标准化的云原生应用平台构建引擎,其构建基于Kubernetes和开放应用模型(OAM)模型。它是用纯Golang编写的,并且是由社区发起、社区构建的产品。2021年3月,KubeVela 1.0版本正式发布,并且迅速吸引了...
标题"oam_beams_轨道角动量_oam_beams_OAM波束_OAM轨道角动量_oam.zip"暗示了该压缩包可能包含关于OAM波束的研究、实现或应用的源代码。"源码"这一标签进一步证实了这一点,意味着我们可以期待找到与OAM相关的编程...
O-RAN联盟致力于推动无线接入网的开放化、智能化、服务化,旨在通过开源软件和白盒硬件等方式,促进网络架构的创新和生态系统的建立。本文件“O-RAN.WG1.OAM-Architecture-v04.00”为O-RAN联盟发布的关于操作维护...
OAM的应用配置(Application Configuration)允许将组件和特征组合在一起,形成一个完整的应用定义。这种模型强调关注点的分离,使开发和运维人员能够分别关注各自的核心任务,从而简化DevOps流程,提高效率。 在云...
总结来说,云原生时代的DevOps面临复杂性和规模化的问题,而OAM应用模型通过组件和特征的分离,提供了更加灵活和面向研发运维的解决方案。这种模式有助于简化云原生环境中的DevOps流程,提升效率,同时满足业务的...
### O-RAN Operations and Maintenance (OAM) Interface Specification #### 概述 O-RAN(开放无线接入网络)联盟致力于推进无线接入网(RAN)的开放性与灵活性,通过标准化接口来实现不同供应商之间的互操作性和...