写点什么

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

  • 2019-05-04
  • 本文字数:3365 字

    阅读完需:约 11 分钟

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

前言

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

业界要闻

  1. Docker Hub遭入侵,19万账号被泄露 : 4 月 25 日 Docker 官方邮件曝露,因为 Hub 的一个数据库收到非授权访问,影响了约 19 万用户的用户名和哈希后的密码,以及用户自动构建的 Github 和 Bitbucket Token。Docker 公司建议用户修改其登录密码。如果您在公有云上的应用依赖于来自 Docker Hub 的镜像,我们强烈建议您登录容器服务控制台更新相应的 docker login 信息或 kubernetes secret。此外,阿里云容器镜像服务企业版提供网络访问控制、独享 OSS Bucket 加密存储等安全加固功能,最大程度保障您的镜像仓库的安全。

  2. Java 8 终于开始提供良好的容器支持长久以来,容器 和 Java 就像一对“欢喜冤家”。一方面,容器技术的“不可变基础设施”特性为开发者带来了无比宝贵的依赖与环境一致性保证;但另一方面, Linux 容器通过 Cgroups 对应用进行资源限制的方式跟所有依赖于 JVM 进行资源分配的编程语言都产生了本质的冲突。而就在上周,最近发布的 OpenJDK 镜像 openjdk:8u212-jdk 终于能够让 Java 8 运行时在容器里面为应用分配出合理的 CPU 数目和堆栈大小了。自此,发布 Java 容器应用的痛苦经历,可能要一去不复返了。

  3. Snyk 年度安全报告出炉,容器安全问题形势空前严峻知名开源安全厂商 Snyk 在年初发布了 2019 年度安全报告。报告中指出:“随着容器技术在 2019 年继续在 IT 环境中爆发式增长,针对容器安全的威胁正在迅猛增加,任何一家企业现在都必须比以往更加重视容器镜像安全,并将此作为企业的首要任务”。报告详情,请点击此处查看全文

上游重要进展

Kubernetes 项目


  1. Kubernetes 集群联邦 v1(Federation v1) 正式宣布废弃。K8s 社区近日宣布将 Federation v1 代码库正式废弃。Federation v1 即 Kubernetes 项目原“集群联邦”特性,旨在通过一个统一的入口管理多个 Kubernetes 集群。但是,这个特性逐步被设计成了在多个 Kubernetes 集群之上构建一个 “Federation 层”的方式来实现,从而背离了 Kubernetes 项目的设计初衷。最终,在 RedHat、CoreOS、Google 等多位社区成员的推动下,社区开始全面拥抱 Federation v2一个完全旁路控制、以 K8s API 为核心的多集群管理方案。

  2. Kubernetes 1.15 进入发布节奏 K8s 1.15 发布进入日程,5 月 30 日即将 Code Freeze(即:不接受任何功能性 PR)。

  3. [KEP] Ephemeral Containers KEP 合并,进入编码阶段

  4. Ephemeral container 旨在通过在 Pod 里启动一个临时容器的方式,来为用户提供对 Pod 和容器应用进行 debug 和 trouble shooting 的能力。这种通过“容器设计模式”而非 SSH 等传统手段解决运维难题的思路,对于“不可变基础设施”的重要性不言而喻,阿里巴巴在“全站云化”过程中也采用了同样的设计来解决类似问题。在上游完成该功能的编码实现后,会通过 kubectl debug 命令方便用户直接使用。


Knative 项目


  1. Knative 逐步弃用原 Build 项目。按照计划,Tektoncd/Pipeline 子项目已经在 v0.2.0 时移除了对 Build 的依赖。最近,Knative Serving v1beta1 也移除了对 Build 的依赖,目前,社区已经开始制定弃用 Build 的确切方式并通知到 knative 开发者社区。

  2. knative 正在考虑为事件触发(Trigger)引入更高级的规则和策略。 社区正在就 Advanced Filtering 设计一个 提案。该提案提议基于 CEL (Google 维护的一种表达式语言)来进行事件的过滤。具体来说,Trigger 的 filter 字段会增加一个 Spec 字段,然后在 Spec 字段下使用 CEL 语法完成对事件的过滤规则定义。


Istio/Envoy 项目


  1. Envoy正通过ORCA改善负载均衡的精准度

  2. 目前 Envoy 可以用于进行负载均衡决策的信息主要是权重和连接数等信息,为了能让 Envoy 的负载均衡更加精准需要为 Envoy 提供更多的决策因素。比如本地和远程机器的负载情况、CPU、内存等信息,更复杂的还可以利用应用程序特定的指标信息来进行决策,比如队列长度。而 ORCA 的目的是定义 Envoy 和上游代理之间传递这些信息的标准。该功能的提出者希望 ORCA 可以成为 Universal Data Plane API (UDPA)。

  3. Envoy正引入RPC去代替共享内存机制以便提高统计模块的的扩展性

  4. Envoy 当下通过共享内存的方式来保存 stats 数据的这种方式存在很多局限性,比如需要限制 stats 使用固定的内存大小,当有大量集群的时候没办法扩展。这给他升级 stats 子系统的架构带来了不少的阻碍。因此他希望可以通过将 stats 数据以堆内存的方式来保存,然后通过 RPC 在新老进程中传递。

  5. Envoy正在xDS协议中增加VHDS协议减小动态路由信息的更新粒度

  6. 现状是,Envoy 中的路由配置是通过 RDS 来动态更新的,但是 RDS 的粒度太粗了,包含了一个 Listener 下所有的路由配置信息。由于一个 Listener 下面可能会有多个服务,每一个服务对应一个 Virtual Host,因此在更新路由的时候,如果只是其中一个 Virtual Host 更新了,那么会导致所有的路由配置都重新下发而导致通讯负荷偏重。引入 VHDS 就是为了只下发变化的路由信息,从而将更新的路由配置信息量缩小。


Containerd 项目


  1. Non-root用户运行 containerd 近日,社区正在尝试实现无需 root 权限就可以运行 containerd 的能力。在这种场景下,用户可以提前准备好容器所需要的 rootfs ,但是 containerd 服务端在清理容器时依然会尝试去 unmount rootfs,对于没有 root 权限的 containerd 进程而言,该步骤必定会失败(mount 操作必须要有 root 权限)。目前 Pivotal 的工程师正在解决这个问题,这种 non-root 模式可以为解决云上安全问题提供新的思路,

开源项目推荐

  1. 本周,我们向您推荐 kubeCDN 项目

  2. kubeCDN 项目是一个基于 Kubernetes 实现的自托管 CDN 方案,只要将它部署在分布在不同地域(Region) 的 Kubernetes 集群上,你就拥有了一个跨地域进行内容分发的 CDN 网络。而更重要的是,通过 kubeCDN,用户不再需要第三方的内容分发网络,从而重新控制了原本就属于自己的从服务器到用户设备的数据流。kubeCDN 目前只是一个个人项目,但是这里体现出来的思想确实至关重要的:在不久的未来,每一朵云、每一个数据中心里都会布满 Kubernetes 项目,这将会成为未来云时代基础设施的“第一假设”。 推荐你阅读 InfoQ 的解读文章来进一步了解 kubeCND。

本周阅读推荐

  • 《Knative 入门——构建基于 Kubernetes 的现代化 Serviceless 应用》中文版,这是一本 O’Reilly 出品的免费电子书,已经由 servicemesher 社区组织完成翻译。提供 在线阅读PDF下载

  • 信通院发起的云原生产业联盟出具《云原生技术实践白皮书》,白皮书系统性地梳理了云原生概念、关键技术、应用场景、发展趋势及实践案例。PDF链接

  • 阿里云 PB 级 Kubernetes 日志平台建设实践》Kubernetes 近两年来发展十分迅速,已经成为容器编排领域的事实标准,但是 Kubernetes 中日志采集相对困难。本文来自 InfoQ 记者的采访,文中谈及了如何让使用者专注在“分析”上,远离琐碎的工作。

  • Istio Observability with Go, gRPC, and Protocol Buffers-based Microservices》,这是一篇很长的博文,介绍可以与 Istio 相适配的观测性组件,用实际的例子演示了如何对以 Go 语言、Protobuf 和 gRPC 为基础的微服务框架进行全面的观测。如果你还对 Prometheus、Grafana、Jaeger 和 Kiali 这几个组件感到既熟悉又陌生,并且好奇如何把它们组合在一起使用来提升微服务的可观测性,这个博客的内容应该会对你很有帮助。

  • 云原生的新思考:为什么说容器已经无处不在了?》这篇文章在对云原生技术总结的同时,对未来应用趋势走向进行了展望。“云原生不但可以很好的支持互联网应用,也在深刻影响着新的计算架构、新的智能数据应用。以容器、服务网格、微服务、Serverless 为代表的云原生技术,带来一种全新的方式来构建应用。”

  • 名词解释:KEP - Kubernetes Enhancement Proposal, 即 Kubernetes 上游设计文档




本周报由阿里巴巴容器平台联合蚂蚁金服共同发布


本周作者:张磊,临石,浔鸣,天千,至简,傅伟,汤志敏, 王夕宁


责任编辑:木环




前期周报回顾


云原生生态周报 Vol. 2 | Istio中Envoy 代理漏洞已修复


云原生生态周报 Vol. 1 | 谷歌云发布Cloud Run


2019-05-04 10:006082
用户头像

发布了 40 篇内容, 共 27.3 次阅读, 收获喜欢 142 次。

关注

评论

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

踩准时钟节拍、玩转时间转换,鸿蒙轻内核时间管理有妙招

华为云开发者联盟

鸿蒙 时间管理 计数器 时间转换 计时

☕【JVM技术之旅】全流程化分析Java对象的创建过程

码界西柚

JVM 6月日更 对象布局 内存结构

什么是交叉编译

IT蜗壳-Tango

IT蜗壳教学 6月日更

一文回顾 Java 入门知识(中)

逆锋起笔

Java 后端 JAVA开发 java基础 javase

【星环案例】我们用TDH+Sophon把工厂“搬”进高校实验室,推进产学研一体化

星环科技

亮相Google I/O,字节跳动是这样应用Flutter的

字节跳动技术团队

和12岁小同志搞创客开发:如何驱动各类型传感器?

不脱发的程序猿

DIY 传感器 如何驱动各类型传感器? 创客

华为云IoT设备接入服务全体验

华为云开发者联盟

物联网 IoT 华为云 智能IoT边缘服务 华为云IoT云服务

毕业5年的同学突然告诉我,他已经是年薪50W的Java架构师了

Java架构师迁哥

前后端分离浅析以及分离教程

北游学Java

前后

新手小白必须知道的Linux基础:常用命令(1)

学神来啦

Linux linux命令 linux运维 linux 文件权限控制 Linux教程

从一面就被拒到收割字节offer,我花了一年时间,功夫不负有心人

Java架构师迁哥

难忘阿里,4面技术5面HR附加笔试面,走的真艰难真心酸

Java 编程 程序员 面试 架构师

C++多线程强制终止

华为云开发者联盟

c++ 安全 线程 多线程 可信

ETL工程师必看!超实用的任务优化与断点执行方案

敏捷调度TASKCTL

大数据 ETL算法 ETL ETL任务 ETL系统

有道精品课全链路测试的改进和思考

有道技术团队

测试 有道精品课

音视频学习--弱网对抗技术相关实践

Fenngton

音视频 网络 视频编解码 弱网下的极限实时视频通信 实时视频

获5项大奖,发布《云计算开放应用架构标准》,阿里云持续领航云原生

阿里巴巴中间件

为鸿蒙OS说两句公道话(我对鸿蒙OS的一些看法)

Phoenix

GitHub火到糊!这份阿里内部10W字Java面试总结,让你薪资翻倍

Java架构追梦

Java 架构 面试 跳槽

Java日志的心路历程

程序猿阿星

Java log4j logback log4j2框架 Java日志

【融云技术】超大规模并发下自定义属性的设置与分发

融云 RongCloud

小树量化机器人系统开发(马丁策略)

薇電13242772558

区块链 数字货币

2021年阿里/腾讯/美团/字节1万道Java中高级面试题汇总,新鲜出炉

Java架构师迁哥

🏆【声网Agora】「WebRTC-如何搭建语音认证服务」

码界西柚

WebRTC RTC征文大赛 Agora 6月日更

【LeetCode】连续数组Java题解

Albert

算法 LeetCode 6月日更

Overbit Flash|5 月加密货币市场风暴抹去了 90% 以上的 NFT 交易量

Overbit学院

比特币 加密货币 NFT Overbit 保证金交易

一周信创舆情观察(5.24~5.30)

统小信uos

anyRTC Web SDK 实现音视频呼叫功能

anyRTC开发者

音视频 WebRTC RTC sdk

Qcon全球软件开发大会 融云分享SDK交付质量保障经验

融云 RongCloud

【案例】构建应急指挥体系,实现生产过程实时监控

星环科技

云原生生态周报 Vol. 3:Docker Hub遭入侵,Java 8 开始提供良好的容器支持_容器_张磊_InfoQ精选文章