`
大涛学长
  • 浏览: 105510 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Helm 3 发布 | 云原生生态周报 Vol. 27

阅读更多
作者 | 墨封、元毅、冬岛、敖小剑、衷源

![0](https://yqfile.alicdn.com/3e093953b2e97265f54cc2ebee1254f9b7415138.png)

业界要闻
----

1.[Helm 3 发布](https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzI5ODk5ODI4Nw%3D%3D%26amp%3Bmid%3D2247489079%26amp%3Bidx%3D1%26amp%3Bsn%3Da05b94ef35a4e1d412dc06e4b9325f2d%26amp%3Bscene%3D21%23wechat_redirect)

美国时间 11 月 13 日,Helm 团队发布 Helm 3 第一个稳定版本。Helm 3 以 Helm 2 的核心特性为基础,改进了 chart 存储库、版本管理、安全性和 chart 库。在这个版本中,Helm 维护者整合了来自社区的反馈和请求,以更好地满足 Kubernetes 用户和广泛的云原生生态系统的需求。附:[博客地址](https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fhelm.sh%2Fblog%2Fhelm-3-released%2F)。

2.[Github Octoverse 报告发布](https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Foctoverse.github.com%2F)

[报告显示](https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fgithub.blog%2F2019-11-06-the-state-of-the-octoverse-2019%2F),JavaScript 依然是最受欢迎的语言,Python 反超 Java 成为第二名,Kubernetes 进入最受欢迎的开源项目 Top10。

![1](https://yqfile.alicdn.com/d4ad1a7cb8acf7338a2f951ff58364c76d41dc2e.png) 

3.[KubeCon + CloudNativeCon 北美地区](https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fevents19.linuxfoundation.org%2Fevents%2Fkubecon-cloudnativecon-north-america-2019%2Fschedule%2F)\[会议召开\]()

KubeCon + CloudNativeCon North America 2019 将在下周(11 月 18 日 - 11月 21 日)在 San Diego 召开。

4.[CNCF 发布 Prometheus 项目发展报告](https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fwww.cncf.io%2Fcncf-prometheus-project-journey%2F)

这是继 Kubernetes 和 Envoy 之后,发布的第三份关于 CNCF 毕业项目的报告。本报告试图客观地评估 Prometheus 项目的状态,以及 CNCF 如何影响 Prometheus 项目的进展和成长。

5.[Kubernetes release 1.17](https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fgithub.com%2Fkubernetes%2Fsig-release%2Ftree%2Fmaster%2Freleases%2Frelease-1.17%23tldr)

Kubernetes release 1.17 将于周四(11 月 14 日)code freeze。

上游重要进展
------

### Kubernetes Feature

*   InterPod Affinity(Scheduler)
   
    *   [优化计算 priority 的过程](https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fgithub.com%2Fkubernetes%2Fkubernetes%2Fpull%2F84264),在 topology 层对 score 进行汇聚,不用遍历 node 进行汇聚;
    *   [nodeInfo snapshot 中记录 pod affinity 信息](https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fgithub.com%2Fkubernetes%2Fkubernetes%2Fpull%2F84824),缩小 priority 和 predicate 中的查询范围;
    *   [加入到 score plugin](https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fgithub.com%2Fkubernetes%2Fkubernetes%2Fpull%2F84973%2Ffiles)。

*   节点租约 NodeLease(Kubelet)
   
    *   [降低节点更新频率](https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fgithub.com%2Fkubernetes%2Fkubernetes%2Fpull%2F84007),强制心跳的时间阈值调整到 5min;
    *   节点心跳的 NodeLease 的 feature 从 FeatureGate [提升到了 GA](https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fgithub.com%2Fkubernetes%2Fkubernetes%2Fpull%2F84351%2Ffile)(1.17)。
*   [Apiserver watcher 优化](https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fgithub.com%2Fkubernetes%2Fkubernetes%2Fpull%2F84043%2Ffiles)

权衡使用 `CacheObject` 的开销,当 watcher 的数量大于 3 的情况下才使用,小幅度提升 watcher 性能。

*   [Apiserver bugfix](https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fgithub.com%2Fkubernetes%2Fkubernetes%2Fpull%2F84693)

当存在 encoding error 时需要及时关闭 watcher,防止出现 goroutine 泄漏。

*   [kubelet: Record preemptions similarly to evictions](https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fgithub.com%2Fkubernetes%2Fkubernetes%2Fpull%2F84120%2Ffiles)

Kubelet 增加了一个 `kubelet_preemptions` 的 Metric 去记录 Pod 因缺少资源而被 evict 的次数,短时间内大量的 evict 可以反映出 scheduler 或者 controller 上可能有 BUG。

*   [Add a kubelet serving cert age metric](https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fgithub.com%2Fkubernetes%2Fkubernetes%2Fpull%2F84534%2Ffiles)

Kubelet 增加一个 Histogram Metric 记录集群中所有 Kubelet 的证书过期时间。

### KEP

*   [Add scheduler priority](https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fgithub.com%2Fkubernetes%2Fenhancements%2Fissues%2F1355)

增加 scheduler priority `ReadyPodPriority` ,适用于例如新加入的集群的 node,会在短时间内被调度大量的 pod,同时启动多个 pod 可能造成压力过大的情况。

*   [增加 distributed tracing](https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fgithub.com%2Fkubernetes%2Fenhancements%2Fpull%2F650)

用来追踪一个 Object 在不同 Kubernetes 组件中的整个生命周期。

### ETCD

*   [优化 compact](https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fgithub.com%2Fetcd-io%2Fetcd%2Fpull%2F11330):将 compact 和 put/range handler 放在不同的 goroutine,减少 compact 阻塞 put/range 的情况;
*   boltdb freelistType 的 Feature 从 experimental [提升至 GA(3.5)](https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fgithub.com%2Fetcd-io%2Fetcd%2Fpull%2F11262),默认的 freelistType 从 array 改为 map;
*   为 etcd server 的 put、range、compact 请求过程[增加 tracing](https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fgithub.com%2Fetcd-io%2Fetcd%2Fpull%2F11179),与 apiserver tracing 方式一致,记录 raft、内存 btree 索引、boltdb 等多个查询过程的耗时,便于排查性能问题,txn 暂不支持。

### Istio

*   [Envoy Aggregate Clusters in Istio](https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fdocs.google.com%2Fdocument%2Fd%2F1IyWswIvmptZ5qhoCDhF_XIVzyL1FzcNph8vIF8GpBYY)

Istio 和 Envoy 当前支持两种主要的解析形式,用于对服务的流量进行负载均衡:基于 IP 的终端列表(EDS)和基于 IP 的主机列表(STRICT\_DNS),由 Envoy 在运行时解析。

社区在讨论支持新的用例,要求可以使用混合解析模型:服务既可以包含基于 IP 地址的终端,也可以包含需要进行 DNS 解析的主机名。满足这个需求的方法之一是在 Envoy 中引入 Aggregate Cluster 的概念,Aggregate Cluster 包含 EDS cluster 和 STRICT\_DNS cluster,当 EDS cluster 失败时,回退到 STRICT\_DNS cluster。

*   讨论 [用 Istiod 代替 Pilot](https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fdocs.google.com%2Fdocument%2Fd%2F1jO2oM9zdm9h7tUqOpnAG3dh1xavtW1L7zQ5LyraYRAs%2Fedit%23) 的方式

计划以增量方式来推进 Istiod 合并部署控制平面的方案,建议的合并顺序是:Sidecar injector,Galley,Citadel。Istiod 计划在 1.5 版本中提供并作为默认安装方式,现有客户可以逐渐将组件迁移到 Istiod。

*   讨论引入 [ExternalInstance](https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fdocs.google.com%2Fdocument%2Fd%2F1VDV4-prbMbzW06hslfp12sn7V6oUvnIAst6mT6FtSWc%2Fedit%23) 进行 Mesh 的扩展

这个 Proposal 提出通过将每个虚拟机注册为 ExternalInstance(视为非托管 Pod),在 VM 和服务之间添加一个间接层,从而改善 Mesh 的扩展。这将解耦网格中的 VM 成员资格与路由和服务命名事项。

### Knative

*   [Eventing make Knative eventing more serverless and scalable](https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fgithub.com%2Fknative%2Feventing%2Fissues%2F2152)

发起 Knative eventing 组件 serverless 化的讨论。当前 consumer service 可通过 knative-serving 部署,具备 autoscale 的能力。但是 Knative eventing 本身组件(sources, channels, brokers, ...) 不具备 scale 能力。

开源项目推荐
------

### [quarkus](https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fgithub.com%2Fquarkusio%2Fquarkus)

云原生 Java 应用框架,精简了 OpenJDK 的 HotSpot 和 GraalVM,启动速度快,RSS memory 开销小。

![2](https://yqfile.alicdn.com/25aba80ddefe8d9f7f9534c1c44db954c1991b32.png)

### [kfserving](https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fgithub.com%2Fkubeflow%2Fkfserving)

serverless 机器学习 model serving 框架。

![3](https://yqfile.alicdn.com/628db53fe28c4a4efc3dd6d99df46388648dd770.png)

### [tracee](https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fgithub.com%2Faquasecurity%2Ftracee)

利用 eBPF 的容器 tracing 工具,可以收集容器中进程调用的 syscall 等 

 

[原文链接](https://yq.aliyun.com/articles/726935?utm_content=g_1000088570)

本文为云栖社区原创内容,未经允许不得转载。
分享到:
评论

相关推荐

    PyPI 官网下载 | pipenv-3.6.0.tar.gz

    5. **云原生支持**:pipenv可能提供了与容器化环境集成的功能,比如生成Dockerfile,或者与Kubernetes的Helm图表配合,方便部署到云原生环境。 6. **持续集成/持续部署(CI/CD)**:pipenv可能支持与常见的CI/CD...

    构建微服务云原生应用——介绍.zip

    CI/CD流程是云原生应用开发的关键部分,它包括使用GitOps、Jenkins、GitHub Actions等工具进行持续集成,以及通过Kubernetes的Helm或Kustomize进行持续部署。这样可以确保代码的快速验证和发布,同时保持高质量和...

    Daniel:云原生DevOps现状.pdf

    云原生DevOps是指在云计算环境下,通过自动化工具链将软件开发(Dev)和运维(Ops)紧密集成的方法论,旨在快速、可靠地交付应用程序和服务。云原生DevOps的实践不仅涉及技术工具和平台的使用,还包括组织文化、工作...

    Python库 | cdk_eksdistro-0.0.112-py3-none-any.whl

    通过利用这个库,开发者可以更高效地构建云原生应用,同时享受到CDK带来的代码级基础设施管理和EKS提供的高性能容器服务。熟悉和掌握cdk_eksdistro库,对于在AWS环境中进行容器化应用程序开发的Python开发者来说,...

    PyPI 官网下载 | helm-farrukh90-0.0.15.tar.gz

    总结来说,“helm-farrukh90”是一个与Zookeeper、分布式系统和云原生概念相关的Python库,它可能提供了与Kubernetes的Helm工具类似的部署和管理功能,或者直接提供了与Zookeeper交互的接口。要深入了解其用途和用法...

    helm3_linux_amd64.tar.gz

    标题中的“helm3_linux_amd64.tar.gz”是一个针对Linux x86_64架构的Helm 3二进制文件的压缩包。Helm是Kubernetes的包管理工具,它使得在集群上部署、管理和升级应用变得更加简单。这个压缩包的全名应该是“helm-v...

    云原生架构白皮书.rar

    《云原生架构白皮书》是一份深入探讨云原生技术与架构的重要文献,它旨在阐述云原生的核心理念、关键技术和最佳实践。云原生(Cloud Native)是一种构建和运行应用程序的方法,充分利用云计算的弹性、可扩展性和服务...

    Python库 | cdktf-cdktf-provider-helm-0.0.27.tar.gz

    标题中的“Python库 | cdktf-cdktf-provider-helm-0.0.27.tar.gz”指的是一款基于Python的软件开发工具包,名为`cdktf`,其中包含了一个针对Helm的提供者组件,版本为0.0.27。这个压缩包文件以`.tar.gz`格式打包,这...

    云原生应用DevSecOps技术架构.pdf

    CNCF(云原生计算基金会)云原生定义V1.0为云原生应用提供了明确的指导方向,标志着云原生技术的快速发展。本文档深入探讨了云原生应用的DevSecOps技术架构,这是一套完整的解决方案,它不仅关注开发和运维(DevOps...

    helm3 linux安装包

    Helm是Kubernetes生态系统中的一个关键组件,用于管理和部署应用程序。Helm 3是其最新版本,带来了许多改进和新特性,使得在Kubernetes集群上部署和管理应用变得更加简单和安全。本文将详细介绍如何在Linux环境下...

    云原生技术学习路线图_pro

    云原生技术学习路线图_pro 云原生技术学习路线图_pro是一份全面且详细的云原生技术学习路线图,旨在帮助开发者和运维工程师快速掌握云原生技术 Stack。该路线图从基础知识开始,逐步深入到高阶知识,涵盖了云原生...

    基于 Golang 构建高可扩展的云原生 PaaS 平台.pdf

    云原生PaaS平台是指在云基础设施之上,以平台即服务(PaaS)的方式,提供给开发者的应用程序开发、运行和管理环境。云原生PaaS平台通常具备高度的可扩展性、灵活性和自动化能力,能够支持微服务架构和容器化技术,以及...

    软件工程与云原生架构融合.pptx

    ### 一、软件工程与云原生架构融合概述 #### 敏捷开发与DevOps实践 在云原生环境下,敏捷开发模式得到了进一步强化。通过持续集成(CI)和持续交付(CD)管道,实现了软件开发过程中的快速迭代和部署。DevOps的...

    k8s heml v3.9.0

    Helm Chart 是用来封装 Kubernetes 原生应用程序的一系列 YAML 文件。可以在你部署应用的时候自定义应用程序的一些 Metadata,以便于应用程序的分发。 使用 Helm 后不用需要编写复杂的应用部署文件,可以以简单的...

    2021云原生监控、日志、告警新体验.pdf

    根据提供的文件信息,本文档主要涉及云原生技术领域中的监控、日志和告警技术。云原生是一种构建和运行应用程序的方法,它依赖于云计算模型的容器、微服务、编排以及动态管理等技术。文件内容中提到了一些关键技术和...

    PyPI 官网下载 | cdktf-cdktf-provider-helm-0.0.126.tar.gz

    综合以上信息,可以推断"cdktf-cdktf-provider-helm"是一个Python库,专为云原生环境设计,特别是与Kubernetes的Helm工具集成。它可能帮助开发者在Kubernetes集群上部署和管理应用,利用Zookeeper进行分布式协调。这...

    helm下载,helm-v3.8.1

    Helm是Kubernetes生态系统中的一个关键组件,用于管理Kubernetes应用的部署和服务。它提供了一种方式,让开发者和管理员能够方便地打包、发布以及管理Kubernetes应用。在本例中,我们关注的是Helm的v3.8.1版本。 ...

    helm-3.5.3.tar.gz

    Helm是Kubernetes生态中的一个关键组件,用于管理和部署应用程序,被称作“Kubernetes的包管理器”。在本文中,我们将深入探讨Helm 3.5.3版本及其相关知识点。 1. **Helm基本概念** - **Chart**:Helm的核心单位,...

    helm-v2.16.3-linux-amd64.tar.gz

    Helm是Kubernetes(K8s)生态中的一个关键组件,它是一个用于管理和部署应用程序的工具,被称为“Kubernetes的包管理器”。标题提到的“helm-v2.16.3-linux-amd64.tar.gz”是一个针对Linux x86_64架构的Helm 2.16.3...

    helm-v2.16.6-linux-amd64.tar.gz

    Helm是Kubernetes(K8s)生态系统中的一个关键组件,主要用作包管理工具,它允许用户部署、管理和升级在Kubernetes集群上的应用程序。标题提到的"helm-v2.16.6-linux-amd64.tar.gz"是一个针对AMD64架构的Linux系统的...

Global site tag (gtag.js) - Google Analytics