云原生生态:全球首个开放应用模型 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:
- kubeadm 的 structured output:结构化输出 kubeadm 的一些输出信息(yaml、json 等),方便被继续处理;
- kubeadm 添加 --with-ca flag 来显示 ca 的过期信息:ca 过期是常见的造成组件不可用的愿意之一,有了这个 flag 可以更方便的指导 ca 的过期信息。
5.下面是几个比较重要 / 有意思的 KEP,感兴趣的朋友可以关注一下:
- 为 Kube API Server 的 network proxy 添加了 beta 版毕业条件。KAS 允许配置 Kube API Server 的网络流量到(或者不到)指定的 proxy;
- insecure kubelet log:通过一个开关,使得在 kubelet 的 serving cert 过期(kube apiserver 不认识 kubelet)但kube-apiserver 的 client cert 没有过期(kubelet 认识 kube apiserver)的条件下,允许 kubelet 通过跳过 tls 验证返回一些 log。这个功能在测试和debug的场景是有用的。
- 规范化 conformanece test 的内容的实施(文档、API schema、代码检验、专家知识等)
- 扩展 NodeRestriction Controller 来限制更多 Node 可以 Pod 进行的操作(主要是来自安全上的考虑);
- HPA 的状态达到 implementable
- 两个计划中的 GA,对于想要参与到 K8s 社区的新手贡献者来说,这两个 KEP 是不错的切入点(目标、方法很明确的需求)
- 根据 Node condition 给 Node 打上 taint 标记,自动化帮助调度器识别出不适合的调度节点;
- 之前 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 系列文章》。
“ 阿里巴巴云原生微信公众号(ID:Alicloudnative)关注微服务、Serverless、容器、Service Mesh等技术领域、聚焦云原生流行技术趋势、云原生大规模的落地实践,做最懂云原生开发者的技术公众号。”
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
消息称 Chrome 正开发新功能:将 tab 拖到另一个浏览器
有消息称,谷歌正在开发一项全新的 Chrome 浏览器功能,该功能将允许用户将标签从一个浏览器拖到另一个浏览器。 乍一看,这种功能没有意义,但这对于使用多个浏览器并希望轻松地将特定页面加载到其他浏览器中的人来说非常方便。比如开发人员需要在多个浏览器中测试一个特定的应用或网站,因此将一个选项卡从一个应用拖到另一个选项卡是十分方便的功能。 根据ChromeStory的介绍,目前已经在最新版本的 Google Chrome Canary 中添加了该特性实验 tag(Mix browser type tabs),该 tag 说明显示:混合浏览器类型选项卡–允许在支持选项卡的任何浏览器(包括应用程序)之间拖动选项卡。同时还将跨平台支持 macOS、Windows、Linux 与 Chrome OS。 Allows tabs to be dragged between any browsers that support tabs, including apps–Mac, Windows, Linux, Chrome OS 标签 URL 为:chrome://flags/#mix-browser-t...
- 下一篇
常用Docker镜像操作命令
一、docker images 列出本地主机上的镜像 [root@iz2ze0lvzs71710m0jegmsz docker]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE hello-world latest fce289e99eb9 9 months ago 1.84kB REPOSITORY----表示镜像的仓库源TAG----表示镜像的标签IMAGE ID----镜像IDCREATED----镜像创建时间SIZE----镜像大小 同一仓库源可以有多个 TAG,代表这个仓库源的不同个版本,我们使用 REPOSITORY:TAG 来定义不同的镜像。如果你不指定一个镜像的版本标签,例如你只使用 ubuntu,docker 将默认使用 ubuntu:latest 镜像 语法及常用参数: Usage: docker images [OPTIONS] [REPOSITORY[:TAG]] Options: -a: 列出本地所有的镜像 -q:只显示镜像ID --digests:显示镜像的摘要信息 --no-trunc:显示完整的镜像...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS6,CentOS7官方镜像安装Oracle11G
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- CentOS关闭SELinux安全模块
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- Hadoop3单机部署,实现最简伪集群
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长