业界要闻
- CNCF 公布 Kubernetes 的安全审计报告
报告收集了社区对 Kubernetes、CoreDNS、Envoy、Prometheus 等项目的安全问题反馈,包含从一般弱点到关键漏洞。报告帮项目维护人员解决已识别的漏洞,并给出了一系列最佳实践。
- 技术监督委员会(TOC)投票决定将 rkt 项目归档
尽管 rkt 在 2014 年 12 月创建最初很受欢迎,并在 2017 年 3 月贡献给 CNCF,但其采纳程度已严重下降,很多用户已经从 rkt 转向了如 containerd、CRI-O 等其它项目。
上游重要进展
Kubernetes 项目
- 支持 readonly 的接口指定不同的网卡; https://github.com/kubernetes/enhancements/issues/1208
- 在 Kubectl 中进行 pod 问题定位分析;
https://github.com/kubernetes/enhancements/pull/1204/files
https://github.com/kubernetes/enhancements/blob/master/keps/sig-node/20190212-ephemeral-containers.md#alternatives
方式:在运行时对已有的 pod,新增一个 ephemeral container 挂载到这个 pod 的 spec 下面,然后 status 中也会有一个 EphemeralContainers 的 debug 容器信息:
a. Debug Container Naming
b. Container Namespace Targeting:shared process namespace
c. Interactive Troubleshooting and Automatic Attaching:
官方举例了4个场景:
a. Operations:不需要预先在容器中安装诊断工具(更小的镜像);
b. Debugging:当原有容器 hang 的时候,exec 是执行不了的;
c. Automation:安全人员对指定范围的 pod 进行审计能力;
d. Technical Support: 多租集群的自动诊断工具,不需要 node 的 admin 权限。
另外,kubectl 支持 namespace 切换的插件 https://github.com/kubernetes/sample-cli-plugin
- Memory Manager for NUMA awareness https://github.com/kubernetes/enhancements/pull/1203 计划在 kubelet 中新增组件 Memroy Manager 用于支持内存和 hugepage 的 numa-awareness;https://github.com/kubernetes/sample-cli-plugin
- kustomize 成为 kubectl 的子命令。 https://github.com/kubernetes/enhancements/blob/master/keps/sig-cli/kustomize-subcommand-integration.md
Istio 项目
Netflix 安全团队联合 Google、CERT/CC 向互联网披露了 HTTP/2 协议在被各个中间件服务实现过程中出现的 DDoS (分布式-拒绝服务攻击)漏洞的问题,这些攻击大多在 HTTP/2 传输层进行。
Envoy 及 Istio 确认受此影响,阿里云 Istio on ACK 已针对此次漏洞情况及时发布更新,并针对 Istio 部署、删除及升级进行了优化处理、提供了完整的控制台支持 Istio 网关的管理以及与虚拟服务的绑定,使用控制台可以完全支持开发一个完整的 Istio 应用,具体详见 https://cs.console.aliyun.com/#/k8s/istio/lifecycle。
Knative 项目
knative v0.8.0 发布,一些新的特性包括:
- Target Burst Capacity (TBC) support: 服务可以支持的最大请求量;可以应对突发流量到达的时候避免大量的请求排队;
- service/route: Route 只有从 istio ingress 可访问,才上报为 ready;
- queue-proxy sidecar 会执行配置的 readiness 健康探测和默认的 tcp 检查,可以支持 ms 级别的频率检查,支持快速缩容到 0: grace period 可以设置为 0。
开源项目推荐
- kubectl 插件的包管理工具 krew
https://github.com/kubernetes-sigs/krew/
https://github.com/kubernetes-sigs/krew-index
作为 kubectl 的使用者:类似 apt、dnf 和 brew 工具的能力,用于发现新插件、安装插件、卸载插件和查看已有安装的插件的能力。
作为 kubectl 的开发者:打包和分发插件到多个平台,让使用者可以看到。类似 java 的 maven
krew-index 的架构设计 https://github.com/kubernetes-sigs/krew/blob/master/docs/KREW_ARCHITECTURE.md
- 分布式内存文件系统 Alluxio
开源分布式内存文件系统,现在成为开源社区中成长最快的大数据开源项目之一。
其主要特点在于数据存储与计算的分离,两部分引擎可以进行独立的扩展。更多详情可参考:https://zhuanlan.zhihu.com/p/20624086
本周阅读推荐
- 《微服务的设计模式》
这是一篇杂烩文,虽然结构比较混乱,但是对微服务相关概念的介绍还是较为全面的。微服务能在企业中发挥积极作用。因此了解微服务架构(MSA)设计的一般目标或原则,以及一些微服务的设计模式,都是很有意义的。
- 《简单几招助您加速 ARM 容器应用开发和测试流程》
今年早些时候,Docker 公司与 ARM 公司宣布合作伙伴计划,为 Docker 的工具优化面向 ARM 平台的开发者体验。Docker 开发者可以在 x86 桌面端为 ARM 设备构建容器镜像,并可将容器应用部署至云端、边缘以及物联网设备。整个容器构建流程非常简单,无需任何交叉编译步骤。
- 《荷畔微风 - 在函数计算 FunctionCompute 中使用 WebAssembly 》
WebAssembly 是一种新的 W3C 规范,无需插件可以在所有现代浏览器中实现近乎原生代码的性能。同时由于 WebAssembly 运行在轻量级的沙箱虚拟机上,在安全、可移植性上比原生进程更加具备优势。同时资源消耗小、启动速度快的特点也非常适合 Serverless 的场景。开发者们开始探索 WebAssembly 在 Serverless 的应用场景。
4. 《正式开放 | 阿里云10亿级镜像服务正式支持 Helm Charts,云原生交付再加速!》
Helm Chart 究竟是什么?相比 YAML 文件,它提出了怎样的概念,解决了怎样的问题?如何上手实践?
- 《数千台服务器,千万用户量:居然之家两年云原生改造历程》
2009 年,居然设计家 (Homestyler) 研发团队正式成立;如今,十年已过,居然设计家正式更名为躺平设计家,用户量近千万。在两年多的云原生实践改造过程中,整个团队经历了从运维数千台服务器再到全部交付给云,从探索上云到利用 Serverless 和 Service Mesh 完成云原生改造,最终整体可用性达到三个 9 以上,同时 IT 费用削减了近一半,本文分享了躺平设计家的云原生实践历程。
本周报由阿里巴巴容器平台联合蚂蚁金服共同发布
本文作者:木苏、元毅、进超、王夕宁
责任编辑:木环
了解 ACK 容器服务,请查看:https://www.aliyun.com/product/kubernetes
阿里云容器服务中国最佳,进入 Forrester 报告强劲表现者象限