当前位置: 首页 > 后端技术 > PHP

Helm3发布-云原生生态周刊Vol.27

时间:2023-03-29 21:10:12 PHP

作者|莫锋、袁一、董导、敖小剑、中原行业动态1.Helm3发布美国时间11月13日,Helm团队发布了Helm3的第一个稳定版本。Helm3建立在Helm2的核心功能之上,改进了图表存储库、版本管理、安全性和图表存储库。在此版本中,Helm维护人员整合了社区的反馈和请求,以更好地满足Kubernetes用户和更广泛的云原生生态系统的需求。附:博客地址。2、根据GithubOctoverse报告发布,JavaScript依然是最受欢迎的语言,Python超越Java成为第二,Kubernetes进入最受欢迎的开源项目Top10。3.KubeCon+CloudNativeConNorthAmerica[会议召开]()KubeCon+CloudNativeConNorthAmerica2019将于下周(11月18日-11月21日)在圣地亚哥举行。4、CNCF发布Prometheus项目开发报告。这是继Kubernetes和Envoy之后发布的第三份CNCF毕业设计报告。本报告试图客观地评估Prometheus项目的状态以及CNCF如何影响Prometheus项目的进展和成长。5.Kubernetesrelease1.17Kubernetesrelease1.17将于周四(11月14日)代码冻结。上游重要进展KubernetesFeatureInterPodAffinity(Scheduler)优化计算优先级的过程,在拓扑层聚合分数,无需遍历节点进行聚合;在nodeInfo快照中记录pod亲和信息,在priority和predicate上缩小查询范围;加入分数插件。节点租约NodeLease(Kubelet)降低节点更新频率,强制心跳时间阈值调整为5分钟;节点心跳的NodeLease特性从FeatureGate升级到GA(1.17)。apiserverwatcher优化了使用CacheObject的开销,只在watcher数量大于3时使用,略微提升了watcher的性能。apiserverbugfix需要在出现编码错误时及时关闭watcher,防止goroutine泄露。kubelet:Recordpreemptions类似于evictionsKubelet添加了一个kubelet_preemptionsMetric来记录由于资源不足而被驱逐的Pod数量。短时间内大量的逐出可以反映调度器或控制器可能存在错误。添加一个kubeletservingcertagemetricKubelet添加一个HistogramMetric来记录集群中所有Kubelet的证书过期时间。KEPAdschedulerpriority新增调度器优先级ReadyPodPriority,适用于新加入集群的节点,例如短时间内会调度大量的pod,同时启动多个pod可能造成压力过大。添加分布式追踪,在不同的Kubernetes组件中追踪一个Object的整个生命周期。ETCD优化compact:将compact和put/rangehandler放在不同的goroutine中,减少compact阻塞put/range的情况;boltdbfreelistType的Feature从experimental升级到GA(3.5),默认的freelistType由array改为map;对于etcd在server的put、range、compact请求过程中加入了tracing,与apiserver的tracing方式一致。记录了raft、内存btree索引、boltdb等多个查询过程的耗时,方便排查性能问题。txn暂时不支持。IstioEnvoy中的IstioEnvoy聚合集群Istio和Envoy目前支持两种主要的解析形式来对服务进行负载均衡流量:基于IP的端点列表(EDS)和基于IP的主机列表(STRICT_DNS),它们由Envoy在运行时解析。社区正在讨论对需要使用混合解析模型的新用例的支持:服务可以包含基于IP地址的端点以及需要DNS解析的主机名。满足这一要求的方法之一是在Envoy中引入AggregateCluster的概念。AggregateCluster包括EDS集群和STRICT_DNS集群。当EDS集群出现故障时,它会回退到STRICT_DNS集群。讨论使用Istiod代替Pilot计划以增量方式推进Istiod的合并部署控制平面。建议的合并顺序是:Sidecarinjector、Galley、Citadel。Istiod计划在1.5版本中作为默认安装提供,现有客户可以逐步将组件迁移到Istiod。讨论引入ExternalInstance的Mesh扩展该提案建议通过在VM和服务之间添加一个间接层来改进Mesh扩展,方法是将每个虚拟机注册为ExternalInstance(被视为非托管Pod)。这将网格中的VM成员资格与路由和服务命名问题分离开来。KnativeEventingmakeKnativeeventingmoreserverlessandscalable引发了关于Knative事件组件无服务器的讨论。目前的consumerservice可以通过knative-serving进行部署,并且具备autoscale的能力。但是Knativeeventing自身的组件(sources,channels,broker,...)不具备扩展能力。开源项目推荐quarkus云原生Java应用框架,简化了OpenJDK的HotSpot和GraalVM,启动速度快,RSS内存开销低。kfservingserverless机器学习模型服务框架。tracee使用eBPF的容器跟踪工具来收集容器中的系统调用和其他进程调用。