作者 | 陈洁、高相林
业界要闻
2020 年 2 月 3 日,CNCF 进行了 TOC(技术监督委员会)选举,确定了 5 名新增的 TOC 成员,其中 3 名的提名者和投票者来自于 Governing Board,1 名的提名者和投票者来自于维护者,1 名的提名者和投票者来自于最终用户社区。
- 2019 年 CNCF 新增 173 家成员,增长 50% 以上;
- KubeCon Shanghai、Barcelona、San Diego 参会人数分别达到了 3500、7700、12000 人;
- 6 个项目(CoreDNS、containerd、Jaeger、Vitness、TUF)进入毕业阶段,3 个项目(CloudEvents、Falco、OPA)进入孵化阶段,另外还有 12 个项目加入到 Sandbox。
Tekton 是谷歌开源的云原生 CI/CD 系统,2019 年 Tekton 共发布 9 个版本(0.1.0 至 0.9.2),2020 年 Tekton Pipeline 将发布 Beta 版本。
上游重要进展
server 端的 dry-run 支持除了 kubectl apply 以外更多的 kubectl 命令。
当 pod 不可调度且 pod backoff 的时间超过 maxDuration 时,调度器会清空它的 backoff 信息,使其他 priority 更低的 pod 可能会出现饥饿问题。现在将重试 2*maxDuration 后才会清空 backoff 信息。
修复 v1.17 中调度器的 pending_pods 和 schedule_attempts_total 这两个指标没有被记录的 BUG。
client-go 中将支持传入外部的 context,以支持 context timeout/cancel ,以及支持后续的 distributed tracing 机制。
ctx := req.Context()
pod, err := k8client.CoreV1().Pods(namespace).WithContext(ctx).Get(podName, ...)
单个 Kubernetes 集群中不同的 workload 可能有不同的调度需求,运行多个 scheduler binary 来满足不同调度策略,可能会造成竞争(每个调度器中的状态可能不一致)。该 KEP 倾向于在一个 scheduler binary 中跑不同的 framework instance,每个 instance 使用不同的 Profile,并且每个 instance 会共用相同的 node/pod cache。
开源项目推荐
kube-scan 基于规则 KCCSS(Kubernetes Common Configuration Scoring System)为 Kubernetes workload 的配置提供安全风险评级。
permission-manager 是 SIGHUP 开发的 Kubernetes RBAC 管理工具,支持创建用户,分配 namespace/global 级别的权限并分发 kubeconfig,配置简单并提供了用户友好的 UI。
kubectx 是一个可以快速切换 kubectl context 的工具,便于在多集群环境下的运维操作。
本周阅读推荐
文章分析了 2020 年影响云原生的四个方向,包括商业化企业级平台,混合云,云原生安全和边缘计算。
OPA(open-policy-agent)提供了一种高级声明性语言,可以将策略指定为代码和简单的 API,以减轻软件决策的负担。OPA 可以被使用在微服务,Kubernetes,CI / CD 管道,API 网关等中实施策略。
Jepsen 对 etcd 3.4.3 进行了测试和分析,得到了良好的结果和反馈。
讲述了在 LinkedIn 如何将所有的项目从 Python 2 迁移到 Python 3 。
“阿里巴巴云原生关注微服务、Serverless、容器、Service Mesh 等技术领域、聚焦云原生流行技术趋势、云原生大规模的落地实践,做最懂云原生开发者的技术圈。”