CNCF 发布 2019 年度报告

上周,CNCF 发布 2019 年度报告,指出全球范围内 Kubernetes 专业 IT 人员队伍正在不断扩大。

从专业技能掌握上看,去年参加过 CNCF Kubernetes MOOC 的工程师人数达到了 98000 名,通过 CKA 认证的工程师达到了 12950 名,同时,有 5754 名工程师注册了 CKAD 考试注册,另有 5247 家企业注册了 Kubernetes 认证服务提供商(KCSP)考试申请。

从落地应用角度看,在 2019 年加入 CNCF 的 518 个企业组织中,有 131 个是真正在内部落地使用 Kubernetes 的最终用户型企业,这之中包括阿迪达斯、彭博社、CapitalOne、Discover、摩根大通、万事达卡、摩根士丹利、纳斯达克、纽约时报、索尼互动娱乐、Spotify 等。

同时,CNCF 在 2019 年为 53 个国家/地区的 217 个活动提供了支持,吸引了超过 14 万名工程师参加,其中在圣地亚哥举行的 KubeCon 北美会议上就有超过 12000 名与会者。

CNCF 现在正在跟踪 1200 多个项目、产品和公司。在 2019 年,Fluentd、CoreDNS、containerted、Envoy、Jaeger 和 Vitess 迎来毕业,孵化项目则新增 CloudEvents、Falco 和 Open Policy Agent(OPA),总数达到 14 个。

延续上述趋势,总的来看,2020 将是整个云原生社区突破的一年。

https://www.cncf.io/cncf-annual-report-2019/

Octarine 开源 K8s 安全性项目

上周,Octarine 宣布已启动两个旨在提高 Kubernetes 安全性的开源项目。

第一个项目是 kube-scan,这是一个工作负载和评估工具,可以扫描 Kubernetes 的配置和设置,并在几分钟之内识别和排名应用程序中的潜在漏洞。

github.com/octarinesec/kube-scan

第二个项目是 Kubernetes 通用配置评分系统(KCCSS),该框架用于对涉及错误配置的安全风险进行评级。由于它将风险和补救措施作为单独的规则进行评分,所以 IT 团队可以为每个运行时设置和应用程序工作负载计算风险。

github.com/octarinesec/kccss

Octarine 产品负责人 Julian Sobrier 表示:

这两个项目是 Octarine 基于自身网络安全框架的扩展,Kubernetes 集群有超过 30 多种安全设置,因此经常会出现一个或多个集群配置错误。KCCSS 和 kube-scan 使用 CIS 定义的合规性基准,可以识别 Docker、Kubernetes 1.6 版本和 1.7 版本的错误配置。

大型跨平台游戏《无畏》的容器实践

《无畏》是 The Phoenix Labs 工作室的一款角色扮演游戏。在这个游戏中,玩家可以分组对抗怪物,并用怪物掉落的各种材料打造新装备,不断提高自己的武力水平。

为了保障这个跨平台游戏运行流畅,The Phoenix Labs 把项目放到了云上,并在容器中运行其所有游戏服务器。当一名玩家加载游戏时,《无畏》会将他与其他玩家配对,组成一个虚拟团队进行“团体狩猎”,每回“团体狩猎”都是在一个临时 Pod 上进行的,持续约 15 分钟。

云服务为游戏扩容提供了极大便利。当《无畏》进行 beta 测试时,人数还不多,但仅过了一周,这个游戏的玩家数量就迅速攀升至 400 万。面对人数激增挑战,工作室在 Kubernetes 的助力下,在一周内对其生产平台进行了 1700 多次部署,敏捷回应了玩家需求。

如今,《无畏》已经拥有超过 1600 万玩家,并计划继续利用云把游戏服务扩展到俄罗斯、波兰等地区。对此,The Phoenix Labs 技术副总裁 Simon Beaumont 表示:

在游戏行业,特别是对于大型游戏,容器化服务并不常见。但我们引领了这一趋势,并灵活地在生产中使用了 Kubernetes。

PingCap 开源 Chaos Mesh

日前,数据库公司 PingCap 宣布根据 Apache 2.0 许可开源 Kubernetes 混沌工程项目 Chaos Mesh。

混沌工程指的是将故障注入(生产)基础架构以测试系统弹性的技术。Chaos Mesh 可以以全方位故障注入的方法帮助工程师找出 Pod、网络、文件系统甚至内核中的故障,如:

  • pod-kill:模拟 Kubernetes Pod 被 kill;
  • pod-failure:模拟 Kubernetes Pod 持续不可用,可以用来模拟节点宕机不可用场景;
  • network-delay:模拟网络延迟;
  • network-loss:模拟网络丢包;
  • network-duplication: 模拟网络包重复;
  • network-corrupt: 模拟网络包损坏;
  • network-partition:模拟网络分区;
  • I/O delay : 模拟文件系统 I/O 延迟;
  • I/O errno:模拟文件系统 I/O 错误 。

根据 PingCap 团队介绍,Chaos Mesh 并非在统一的 CRD 对象中定义所有类型的故障注入,而是允许针对不同类型的故障注入使用灵活且独立的 CRD 对象,这意味着工程师们可以直接通过 Kubernetes API 操作 CRD 对象。当前 Chaos Mesh 存在三个混乱对象:PodChaos、NetworkChaos 和 IOPChaos。

该工具可以直接部署到 Kubernetes,不需要修改测试系统的部署逻辑。目前它可以在 Kubernetes v1.12 或更高版本上运行,要求 Helm 版本在 v2.8.2 和 3.0.0 之间。

https://github.com/pingcap/chaos-mesh

适用于 Kubernetes 的开源备份工具

在 Kubernetes 环境中,etcd 存储着包括资源规范在内的所有集群数据,因此保护其中存储的数据非常重要。

日前,Catalogic Software 首次推出适用于 Kubernetes 的开源备份工具 KubeDR,可用于备份和恢复 etcd 存储库中的 Kubernetes 集群配置、证书和元数据。

以下是 KubeDR 支持的一些高级功能:

将 etcd 中的集群数据备份到任何 S3 兼容存储中;

  • 备份证书;
  • 暂停并恢复备份;
  • 根据保留设置清除较旧的快照。

有了 KubeDR,企业在发生故障时能更容易恢复 Kubernetes 集群,当然 IT 团队仍然需要其他工具来备份和恢复可能丢失的应用程序数据。

https://catalogicsoftware.com/blog/kubedr-disaster-recovery-for-kubernetes-clusters

DevOps 面试习题大全

DevOps 问题与练习是工程师 Arie Bregman 开源的一个习题项目,可用于面试前的知识点复习。

该项目一共有 834 个问题,主题包括 Linux、Jenkins、AWS、SRE、Prometheus、Git、Docker、Python、Ansible、Kubernetes、Terraform、OpenStack、SQL、NoSQL、Azure、GCP、DNS、弹性、网络、虚拟化等。