云原生一周动态要闻:
- Knative 成为 CNCF 孵化项目
- Podman 发布 v4.0.0
- Aeraki Mesh 加入 CNCF 云原生全景图
- Argo 发布 fuzzing 报告
- Platform9 发布云原生企业趋势报告
- 关键的 GitLab 漏洞可能允许攻击者窃取运行者的注册令牌
- 开源项目推荐
- 文章推荐
美国国家安全局(NSA)又来啦😅,上次发布的是《Kubernetes 安全加固指南》,这次发布的是《网络基础设施安全指南》,涵盖了网络设计、设备密码管理、远程登录管理、安全更新、密钥交换算法,以及 NTP、SSH、HTTP和 SNMP 等重要协议,为所有组织提供了有关如何保护其 IT 网络基础设施免受网络攻击的最新建议。
云原生动态
日前,CNCF 技术监督委员会(TOC)已投票决定接受 Knative 作为 CNCF 的孵化项目。
Knative 是一个基于 Kubernetes 的开源平台,用于构建、部署和管理无服务器和事件驱动的应用程序。它帮助开发团队以一种需要较少技术知识和时间的方式管理、监视和操作 Kubernetes。
Knative 由谷歌于 2018 年创建,随后与 IBM、Red Hat、VMWare 和 SAP 密切合作开发。该项目自成立以来,得益于社区中 1800 多名不同个人的合作和贡献。
该项目在 2021 年 11 月达到了 1.0 版本,这意味着它的所有仓库都由社区指定为稳定且适合商业使用。它目前的版本是 1.2,每六周发布一次。
日前,Podman v4.0.0 发布。此版本具有 60 多个新功能,重点是彻底重写网络堆栈,以提高功能和性能,但也有许多其他变化,包括改进 Podman 对 Mac 和 Windows 的支持,改进 Pods,超过 50 个错误的修复,以及更多更多的功能。
以下是该版本的主要变化:
- 除了现有的 CNI 堆栈之外,Podman 现在还支持基于 Netavak 和 Aardvark 的新网络堆栈。新的堆栈改进了对多个网络中容器的支持、改进的 IPv6 支持和改进的性能。
- 在 Windows 和 OS X 上支持 Podman 也是重中之重。其中最主要的是支持在主机系统上安装 Podman API 套接字,允许在主机系统上使用 Docker Compose 等工具,而不是在 podman 机器虚拟机内。另外,podman 机器现在可以在 Windows 上使用 WSL2 作为后端,大大改善了 Podman 对 Windows 的支持。
- Podman Pods 已经添加了许多新功能,以允许在 pod 中的容器之间共享资源。
以上变化只是冰山一角——这个版本还有更多内容,更多信息请见发行说明。
近日,Aeraki Mesh 正式进入 CNCF 云原生全景图,位于 Service Mesh 类别下。云原生全景图(CNCF Landscape),旨在帮助企业和开发人员快速了解云原生体系的全貌,帮助用户选择云原生实践中的恰当的软件和工具,因此受到广大开发者和使用者的关注和重视。
Aeraki Mesh 是 Service Mesh 领域的一个开源项目,解决目前的服务网格项目只处理了 HTTP/gRPC 协议,不支持其他开源及私有协议的痛点。
Aeraki Mesh 可以帮助你在服务网格中管理任何七层协议。目前已经支持了 Dubbo、Thrit、Redis、Kafka、ZooKeeper 等开源协议。你还可以使用 Aeraki Mesh 提供的 MetaProtocol 协议扩展框架来管理私有协议的七层流量。
安全是 Argo 项目的重中之重。为了提高安全性,来自 Akuity、Red Hat 和 Intuit 的 Argo 维护人员最近与 Ada Logics 合作,参与了一个由 CNCF(云原生计算基金会)委托的项目,为 Argo 项目建立 Fuzzing(模糊测试)。
Fuzzing 是一种通用技术,用于自动识别可靠性和安全问题。它通常被安全研究人员用来发现系统中的漏洞,该技术已成功应用于各种 CNCF 项目,如 Kubernetes、Envoy、Helm、Linkerd2-proxy 和 Fluent-bit。fuzzing 的一般方法是使用遗传算法(genetic algorithm)与复杂的程序分析和软件仪器技术相结合,以生成在目标软件中实现高水平代码覆盖的输入。在 Argo 的环境中,这样做的目的是识别引发各种系统故障的输入,例如崩溃、恐慌、内存溢出问题和挂起。
这个项目建立了一个持续的 fuzzing 基础设施,现在作为项目循环工作的一部分运行。共开发了 41 个 fuzzer,发现了 10 个缺陷。所有发现的 bug 都已修复(除了在项目结束时发现的两个问题),并可在最新的项目补丁集中获得。完整的细节可以在 Argo fuzzing 报告中获得。
Platform9 在 2021 年 12 月 15 日至 2022 年 1 月 8 日期间进行了一项调查,以了解企业如何采用云原生技术,包括他们的投资和招聘计划,预期的挑战,云锁定的担忧等。受访者包括 526 名架构师、DevOps 和云平台工程师、经理和高管,涉及 85 个行业和 450 家独特公司。
这份研究报告 "2022 年云原生企业趋势"详细介绍了从调查和 1:1 访谈中收集到的几个重要见解。一些关键的发现包括:
- Kubernetes主导了容器管理。近 85% 的受访者正在使用 Kubernetes 或计划在未来 6 个月内部署它。
- 云原生招聘仍然是一个优先事项。DevOps、云平台工程、云原生开发人员和安全是 2022 年的首要招聘投资。
- 各地的高管都在寻找切实可行的解决方案,以减少对供应商的锁定。虽然 61% 的受访者对供应商锁定有高度或中度担忧,但 71% 的拥有大型部署的高级用户甚至比早期用户更担心。
该漏洞影响从 12.10 到 14.6.4 的所有版本,从 14.7 到 14.7.3 的所有版本,以及从 14.8 到 14.8.1 的所有版本,在 GitLab 的安全公告中宣布。
如果被利用,未经授权的用户可以使用快速操作命令通过信息泄露漏洞窃取注册者的注册令牌。
它的 CVSS 评分为 9.6,并已在最新版本中进行了修补:GitLab 社区版 (CE) 和企业版 (EE) 的 14.8.2、14.7.4 和 14.6.5。
开源项目推荐
TeslaMate 是一个自托管的特斯拉日志收集平台,可以将车主的特斯拉行驶数据收集、存储、展示,而且方便地支持 Docker 部署。数据存储在 Postgres 中,监控面板通过 Grafana 来展示。
apko 是一个新型镜像构建工具,用来构建基于 Alpine 的 distroless 镜像。它直接使用 Alpine 的包管理工具 apk 来构建镜像,不需要使用 Dockerfile,只需要提供一个声明式的配置清单。例如:
contents:
repositories:
- https://dl-cdn.alpinelinux.org/alpine/edge/main
keyring:
- /etc/apk/keys/alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub
- /etc/apk/keys/alpine-devel@lists.alpinelinux.org-5243ef4b.rsa.pub
- /etc/apk/keys/alpine-devel@lists.alpinelinux.org-5261cecb.rsa.pub
- /etc/apk/keys/alpine-devel@lists.alpinelinux.org-6165ee59.rsa.pub
- /etc/apk/keys/alpine-devel@lists.alpinelinux.org-61666e3f.rsa.pub
packages:
- alpine-baselayout
- nginx
entrypoint:
type: service-bundle
services:
nginx: /usr/sbin/nginx -c /etc/nginx/nginx.conf -g "daemon off;"
local-disk-manager 旨在简化管理节点上面的磁盘。它将磁盘抽象成一种可以被管理和监控的资源。它本身是一种 Daemonset 对象,集群中每一个节点都会运行该服务,通过该服务检测存在的磁盘并将其转换成相应的资源 LocalDisk。
KoolKits 是一组用于 kubectl 调试功能的镜像,它可以被 kubectl debug 调用,作为 Pod 中的一个容器,与业务容器共享命名空间。Koolkits 为常见的几种语言定制了特定的调试镜像,例如,调试 JVM 容器可以使用 JVM 专属镜像:
$ kubectl debug -it <POD-NAME> --image=lightrun-platform/koolkits/koolkit-jvm --image-pull-policy=Never --target=<DEPLOYMENT-NAME>
调试 Node.js 容器使用 Node.js 专属镜像:
$ kubectl debug -it <POD-NAME> --image=lightrun-platform/koolkits/koolkit-node --image-pull-policy=Never --target=<DEPLOYMENT-NAME>
Twitter 去年下半年新增了 Community 版块,类似于社区的概念,可以跟拥有共同兴趣的人一起发推文。一旦加入一个社区,用户就可以直接向其他成员而不仅仅是他们的关注者发推文。只有社区成员才能点赞或回复其他成员发送的推文。awesome-twitter-communities 收录了工程师们创建的各类社群,有云原生主题、Rust 主题、Webassembly 主题等等,如果你是 Twitter 小白,不知道你感兴趣的领域有哪些大佬,不防加入 Community 暗中观察一下。
CodeFever 是完全免费开源的 Git 代码托管服务,支持一行命令安装到自己服务器,没有任何仓库数量、使用数量的限制。如果想搭建自己的 Git 仓库,可以看看这个项目。
文章推荐
eBPF 改变了 Linux 世界的游戏规则,让应用可以安全地与内核进行交互,但是构建与各种 Linux 发行版兼容的应用程序是仍然是一项巨大的挑战。如果你的用户拥有各种 Linux 发行版,不同的内核版本、内核配置以及某些发行版特定的配置,你该怎么做才能确保你的基于 eBPF 的应用程序能在尽可能多的环境下工作?本文给出了这个问题的部分答案。
容器环境错综复杂,特别是像 Kubernetes 这样的分布式调度平台,每一个环节都有自己的生命周期和攻击面,很容易暴露出安全风险,容器集群管理员必须注意每一处细节的安全问题。总的来说,绝大多数情况下容器的安全性都取决于 Linux 内核的安全性,因此,我们需要时刻关注任何安全问题,并尽快实施对应的解决方案。
KubeKey(以下简称 KK) 是一个用于部署 Kubernetes 集群的开源轻量级工具。它提供了一种灵活、快速、便捷的方式来仅安装 Kubernetes/K3s,或同时安装 Kubernetes/K3s 和 KubeSphere,以及其他云原生插件。除此之外,它也是扩展和升级集群的有效工具。本教程使用 KK 2.0.0 作为部署工具来实现 kubesphere 集群在离线环境中的部署,帮助大家实现离线闪电交付的目的。