周一见 | Pinterest K8s 平台实践、分布式系统设计必备图谱、GitHub 挑战
新闻
作者:才云 Caicloud
译者:bot(才云)
2019-09-30 18:03

Kubernetes 资讯

1Pinterest 的 K8s 平台实践

近日,Pinterest 软件工程师透露了公司采用 Kubernetes 构建 PaaS 的实践。

Pinterest 是一个图片社交平台,拥有庞大的用户群。在过去的几年里,有 3 亿多 Pinner 在 Pinterest 上保存了超过 2000 亿次 Pin,覆盖了超过 40 亿个 Board。

由于用户数量庞大以及基础架构堆栈的相关增长,Pinterest 团队面临一些挑战,比如工程师在启动工作负载时并没有统一的经验管理大量虚拟机正在为基础架构团队带来巨大维护负担工程师们也很难跨单独的系统构建基础架构治理工具,并确定可以回收哪些资源……

早在 2017 年,Pinterest 的云管理平台团队就开始探索 Kubernetes,并在当年上半年完成了大部分生产工作负载的容器化(包括核心 API 和 Web 服务器集群)。到 2017 年底,经过为期一年的评估,Pinterest 决定继续走 Kubernetes 的道路。

在应用 Kubernetes 的过程中,Pinterest 团队发现可用性是一个“巨大障碍”,同时,在同一 Kubernetes 集群上支持不同版本的运行时很麻烦。他们的解决方案是设计 CRD

  • Pinterest 团队将各种 Kubernetes 本地资源捆绑在一起作为一个工作负载来工作,从而避免了工程师的零碎工作;
  • 通过在规范中添加必要的 Sidecar、init 容器、设备变量和 volume,为其应用注入必要的运行时支持;
  • 这些 CRD 用于执行本机资源的生命周期管理,例如协调规范和更新事件记录,大大减少了工程师的工作量,并减少了出错的风险。

除了利用 CRD 来增强 Kubernetes 工作负载模型,Pinterest 团队从 Kubernetes 实践中还学到了如何用容器编排系统提供统一工作负载管理,以及强大的端到端测试管道是一个关键。

2错过 K8s,这家企业倒闭了

上周,容器编排服务企业 Containership.io 宣布停止营业。这家总部位于宾夕法尼亚州匹兹堡的公司将在 10 月 31 日后停止平台服务。而这一切的根本,是因为没能及时抓住 Kubernetes 的发展机遇

K8sMeetup 中国社区翻译了 Containership.io 的创始人兼 CTO Norman Joyner 发布的官方博客,详情请见《没能抓住 Kubernetes,这家企业倒了!》。

3用 MicroK8 部署 K8s WebUI

如果你有 IT 背景,你一定知道 Kubernetes 是什么。在这篇文章中,作者将介绍一个功能强大的 Web UI,它可以让使用 Kubernetes 变得更加容易。通过它,你几乎可以管理 Kubernetes 集群的每个方面,甚至可以管理证书轮换并配置云提供商的防火墙。

详见:https://profittech.info/how-to-deploy-the-kubernetes-webui-with-microk8s/

4分布式系统设计必备知识图谱

我们身处于一个充斥着分布式系统解决方案的计算机时代,无论是支付宝、微信这样顶级流量产品、还是区块链、IOT 等热门概念、抑或如火如荼的容器生态技术如 Kubernetes,其背后的技术架构核心都离不开分布式系统

然而分布式系统是一个很大的概念,从架构设计、研发流程、运维部署、工程效率等多个角度均有很深的知识可以挖掘,学习成本和难度相对较大。

在这篇文章中,阿里云技术专家杨泽强(竹涧)整理了过去阅读过的一些和分布式相关书刊和文章,汇总成一份非常完整的知识图谱:《云原生时代,分布式系统设计必备知识图谱(内含22个知识点)》!

5本周 K8s 开源项目推荐

magalix-agent

  • 这是一个关于 Kubernetes 内部资源利用的工具。通过动态管理 Pod 和容器的资源,它能确定 Kubernetes 集群的大小,帮你节省多达 50% 的云费用。
  • https://github.com/MagalixCorp/magalix-agent?utm_sq=g65tflktpu

k8s-security

  • 这个 repo 是 Kubernetes 安全资料和研究的集合
  • https://github.com/kabachook/k8s-security?utm_sq=g642vqu3tn

Testcontainers

  • 这是一个 Java 库,支持 JUnit 测试。它提供了常见的数据库、Selenium Web 浏览器及其他可以在 Docker 容器中运行的轻型、一次性的实例。
  • https://www.testcontainers.org/?utm_sq=g64jgqun90

ctl

  • 类似 kubectl 的助手,用于同时与多个集群进行交互
  • https://github.com/wish/ctl?utm_sq=g641sh1yvl

kubeselect

  • 这个工具可以使切换 Kubernetes 上下文变得容易
  • https://github.com/AvitalTamir/kubeselect?utm_sq=g641q8qo3n

kfilt

  • kfilt 是一个工具,可让用户从 Kubernetes YAML 清单流中过滤特定资源。它可以从文件、URL 或 stdin 中读取清单,旨在为创建 Helm Chart 或 Kustomize base 的开发人员带去便利。
  • https://github.com/ryane/kfilt?utm_sq=g641nzc3pb

AI 新闻

6GitHub 推出 CodeSearchNet 挑战

通过搜索代码来进行再利用、调用或查看其他人如何处理问题是软件开发人员一天中最常见的任务之一。然而代码搜索引擎似乎永远无法完全理解我们想要的东西。

为改善代码搜索体验,近日 GitHub 宣布与 Weights&Biases 推出 CodeSearchNet 挑战赛评估环境及排行榜。除此之外,GitHub 还将发布包含 600 万个来自开源项目的方法数据集,以帮助数据科学家建模几个显示当前技术水平的基线模型

1091 comCount 0