周一见 | CNCF 宣布归档 rkt 项目、macOS + K8s 成为可能、如何通过 Google 面试?
新闻
作者:bot
译者:bot
2019-08-26 18:30

Kubernetes 资讯 

1. Istio 发布安全版本 

上周,服务网格 Istio 发布了两个新版本:1.1.13 和 1.2.4

以修复通过 Istio 对服务进行拒绝服务(DoS)攻击的漏洞,详见《Istio 发布安全版本,防止 DoS 攻击》。

ISTIO-SECURITY-2019-003:一位 Envoy 用户公开报告了一个问题,指出正则表达式匹配可导致 Istio 因大量 URI 而崩溃。

ISTIO-SECURITY-2019-004:Envoy 和 Istio 容易受到一系列基于 HTTP/2 的简单 DoS 攻击。此次安全版本更新就是为了修复这两个漏洞:

  • 对于 Istio 1.1.x 部署:更新到最低版本的 Istio 1.1.13;
  • 对于 Istio 1.2.x 部署:更新到最低版本的 Istio 1.2.4。

2. CNCF 宣布归档 rkt 项目 

CNCF 上周宣布,技术监督委员会(TOC)已投票决定将 rkt 项目归档。所有开源项目都有一个生命周期,而且会因为各种原因变得不那么活跃。

自 2014 年 12 月创建以来,rtk 项目一度很活跃,并于 2017 年 3 月被贡献给 CNCF,但近年来,该项目的用户流失严重,项目活动、贡献者数量随着时间的推移稳步下降,未修补的 CVE 也越来越多

在 CNCF,基金会对孵化期项目的预期是用户不断增长、保持健康数量的提交,并具有大量持续的贡献流量等。对于不再满足这些要求的项目,基金会可以向 TOC 提交提案以归档项目。项目归档后:

  • 除了文档更新等过渡服务,CNCF 将不再为项目提供全面服务;
  • 归档项目的商标仍由 Linux 基金会中立托管;
  • 不再为该项目提供 CNCF 推广和活动支持。

 3. 在 macOS 应用原生 Kubernetes 命令 

上周,MacStadium 与 Kubernetes 合作推出了 Orka,这是第一个也是当前唯一一个允许用户在正版 Apple Mac 硬件上使用 Kubernetes 在云环境中进行编排的解决方案。Orka 使用户能够在正版 Apple 硬件上为 macOS 虚拟机(VM)应用原生 Kubernetes 命令。

虽然 Kubernetes 和 Docker 对全栈开发人员来说并不陌生,但在这之前,流行的编排和容器技术(如 Kubernetes 和 Docker)还无法被用于 macOS,Apple 生态系统中也不存在这样的解决方案。

“现实情况是,大多数企业需要开发 iOS 版应用程序,但这些企业更喜欢使用灵活的、软件定义的构建环境,”MacStadium 首席执行官 Greg McGraw说,“借助 Orka,开发人员和 DevOps 团队现在可以拥有软件定义的 Mac 云体验,将基础架构视为代码,就像在其他系统中一样。”

4. 本周 K8s 开源项目推荐 

Testcontainers。这是一个支持 JUnit 测试的 Java 库,提供提供常见数据库、Selenium Web 浏览器和其他任何可以在 Docker 容器中运行的浏览器的轻量级、一次性实例。

https://www.testcontainers.org/?utm_sq=g5hmwrxymi

ktop。该项目为 Kubernetes 提供了可视化监控仪表板。虽然 kubectl 也有 top 子命令,但它不能定期观看 Pod/Node 的用法,也不能将 Pod 资源的使用与 Node、限制/请求进行比较。ktop 解决了这些问题并具有更多图形化仪表板。

https://github.com/ynqa/ktop?utm_sq=g3i5hm4xyz

cassandra-k8s-operator。它可以轻松地在 Kubernetes 上运行 Apache Cassandra,可以在 Kubernetes 上创建/配置/管理 Cassandra 集群,方便运维人员创建和管理感知机架和数据中心的 Cassandra 集群。

https://github.com/Orange-OpenSource/cassandra-k8s-operator?utm_sq=g5hjjnz70

grbacsync。该项目提供了一个 Kubernetes controller,用于自动将 group 同步到 Kubernetes RBAC。

https://github.com/cruise-automation/rbacsync?utm_sq=g5hjyldp1h

anthill。这是用于管理 Gluster 集群的 Kubernetes/OpenShift 运算符。

https://github.com/gluster/anthill?utm_sq=g4zrijqhdznightshift。nightshift 是一种 OpenShift 服务,可根据预定义的时间表自动关闭和升级 OpenShift 项目中的部署。

https://github.com/joyrex2001/nightshift?utm_sq=g4zfdbkc93

5. 为什么选择云原生应用平台?

作为熟练运用 K8s 的工程师,你可能会被经常问到这个问题:

现在到哪儿都能听到人们在用 Kubernetes 和云原生,但这是为什么呢?如果提问者是业内人士,但不太懂编程,也许你可以这么向他解释:

Q:为什么要用 Kubernetes?

首先,“Kubernetes 无处不在”是个客观事实。在过去的 18 个月里,从大型投资银行到容器初创企业,几乎所有技术团队都知道 Kubernetes 就是他们寻找的答案。CNCF 正在迅速扩大,赞助商和项目也越来越多,KubeCon 参会人数快速翻番。那些 Keynote 无一不在说明这样一个事实:Kubernetes 就是未来

Q:为什么要用云原生应用平台?

一言以蔽之,因为云原生应用程序开发正在彻底改变团队开发和运行软件的方式,所以我们需要一个新的应用平台。现如今,我们编写的大量应用程序正在使用容器和微服务,即便你今天刚开始使用 Web 应用,你也必须问为什么不是云原生,这是行业的广泛趋势。

云原生应用程序将一组模式(如微服务和 DevOps/SRE)集中在一起,这些模式会影响运行它们所需的环境。而“平台”则是一个新的运行时和环境,可以安全、大规模地运行云原生应用程序。

我们可以说 Kubernetes 是这个平台的核心,但它绝不是全部。我们以前也有平台,但是对于 Kubernetes,我们谈论的是一个完整的运行时,因为新的抽象模型是一个完整的分布式系统。

Q:为什么团队会转向云原生开发?

转向云原生开发可以帮助我们在提高开发速度和灵活性的同时,不牺牲应用的可靠性和安全性。从本质上讲,它把“开发”和“运维”这两个团队结合起来,以实现应用的持续优化和改进。总之,它旨在缩短应用开发部署周期,并提高开发人员的工作效率。

AI 资讯 

1. 53 分钟训练 BERT 

上周,英伟达宣布打破了 NLP 领域的三项记录:

  • 将 BERT 的训练时间缩短到了 53 分钟;
  • 将 BERT 的推理时间缩短到了 2.2 毫秒(10 毫秒已经是业界公认的高水平);
  • 将 GPT-2 的参数量推向 80 亿(以前 OpenAI GPT-2 最大为 15 亿参数量)。

这三个壮举的完成离不开英伟达的 SuperPOD 系统。它由 92 个英伟达 DGX-2H 系统组成,运行在 1472 块 V100 GPU 上。这样惊人的性能意味着它能为现实世界中所有使用 NLP 对话的用户带来很多便利,如降低语音助手的反应延时,使其与人类的交流更加自然。

除了这些里程碑,英伟达还训练了基于 Transformers 的最大规模语言模型。这个定制模型包含 83 亿个参数,是 BERT-Large(当前最大的核心 BERT 模型)的 24 倍。团队把这个模型戏称为“威震天”,并提供了用于训练这个模型的 PyTorch 代码。

https://nv-adlr.github.io/MegatronLM

其他 

1. 八万星:如何通过 Google 面试?

coding-interview-university 是软件工程师、全栈工程师 John Washam 在 2016 年发布的一份编程学习教程,截至目前,该项目已经收割了超过 80000 颗 star。

在成为一名软件工程师之前,他做了 15 年 Web 工程师。虽然数次创业成功,但他没有安于功成名就的现状,而是以进入 Google 为目标,重新学习数据结构、算法、编译语言、内存优化等更深层次的编程知识。经过 11 个月的刻苦学习,2017 年,John Washam 成功被亚马逊录用,成了一名软件开发工程师。虽然最后还是没有去成 Google,但他开源了自己收集的大量与编程相关的教学资源,同时也分享了自己的学习心得:

经验一:不要假设。John Washam 担心面试官会提一些超纲的问题,于是花了 3 个星期阅读一本 1000 页的 C++ 书,但是事实证明这个行为有点浪费时间,因为工作后他用的是 Python。

经验二:不要读太多书。他觉得自己看书看得太多了,事实上,只要读 3-4 本就够了。而且比起看书和看视频,自己应该尽快开始练习编码。

经验三:隔一段时间重复记忆。如果你今天学到了一些新知识,建议记录成卡片,然后隔几天再看看。坚持复习可以帮助你真正掌握这些知识,并且不遗漏任何细节。

在文档中,John Washam 指出自己的教程适用于新软件工程师和想从 Web 开发转到软件工程(需要计算机科学知识)的人员。

如果你已经有工作经验,那你的面试估计会更难,因为 Google、Amazon、Facebook 和 Microsoft 等大型软件公司认为软件工程与软件/Web 开发不一样,对 CS 知识的考察范围也不同。

如果你想成为运维工程师,你可以挑选网络、安全性等内容进行更深入的研究。

https://github.com/jwasham/coding-interview-university

666 comCount 0