java自学网视频教程,OpenKruise v0(2)

OpenKruise v0.8.0 引入镜像预热功能,允许规模化预拉取镜像,减少应用启动延迟。同时,SidecarSet 进行了全新重构,支持更多策略,如命名空间限制、注入位置和原地升级策略。此外,新版本引入了feature-gate机制,以更集中管理功能开关。OpenKruise已在携程、OPPO等大公司广泛应用,并提供丰富的学习资料和大厂面试题解析。
摘要由CSDN通过智能技术生成
  • 如果你存在上述情况,或者你不希望在某些节点上安装 kruise-daemon,可以在 helm 安装的时候通过 daemon.affinity 参数来指定 kruise-daemon 部署的亲和性规则。

2. 规模化镜像预热能力


在 Kubernetes 生态中,过去并没有一个成熟的镜像预热开源解决方案,可能更多的是一些公司在内部会落地一些适配于本地场景的预热,这其中也包括阿里巴巴。不过从 v0.8.0 开始,我们将阿里巴巴所做的镜像预热能力完全通用化输出到 OpenKruise 中,并且阿里内部的镜像预热也完全统一到这套开源的实现上来了。

OpenKruise 镜像预热的具体实现原理,我们会在后续的专项文章中做详细介绍,这里只以一个最简单的例子演示下如何做一个镜像的预热:

apiVersion: apps.kruise.io/v1alpha1

kind: ImagePullJob

metadata:

name: job-nginx

spec:

image: nginx:1.9.1 # [required] 完整的镜像名 name:tag

parallelism: 10 # [optional] 最大并发拉取的节点梳理, 默认为 1

selector: # [optional] 指定节点的 名字列表 或 标签选择器 (只能设置其中一种),不设置表示全部节点

names:

  • node-1

  • node-2

matchLabels:

node-type: xxx

completionPolicy:

type: Always # [optional] 默认为 Always

activeDeadlineSeconds: 1200 # [optional] 无默认值, 只对 Alway 类型生效

ttlSecondsAfterFinished: 300 # [optional] 无默认值, 只对 Alway 类型生效

pullPolicy: # [optional] 每个节点上拉镜像的侧脸,默认 backoffLimit=3, timeoutSeconds=600

backoffLimit: 3

timeoutSeconds: 300

ImagePullJob 有两种 completionPolicy 类型:

  • Always 表示这个 job 是一次性预热,不管成功、失败都会结束

  • activeDeadlineSeconds:整个 job 的 deadline 结束时间

  • ttlSecondsAfterFinished:结束后超过这个时间,自动清理删除 job

  • Never 表示这个 job 是长期运行、不会结束,并且会每天都会在匹配的节点上重新预热一次指定的镜像

详细信息参考官网文档:https://openkruise.io/zh-cn/docs/imagepulljob.html

3. SidecarSet 全新重构实现


SidecarSet 是一个用于管理 sidecar 容器的控制器。在用户创建了 SidecarSet 之后,Kruise 能为后续创建的符合规定条件的 Pod 中自动注入用户定义的 sidecar 容器,以及对已注入的 sidecar 容器做原地升级同时不影响业务容器的运行。

在过去版本中,SidecarSet 的局限性较多,比如用户无法声明只对某个 namespace 生效、sidecar 原地升级时灰度能力较弱等。在 v0.8.0 中,我们全新重构了 SidecarSet 的 controller 和 webhook,并且在 CRD 定义上新增了一些更多能力的策略字段。举一些例子:

  1. spec.namespace:指定只管理具体某个命名空间的 sidecar 注入和升级

  2. 多种注入策略:

  3. podInjectPolicy:指定 sidecar 容器注入到 Pod 原 containers 列表的前面还是后面

  4. shareVolumePolicy:与 Pod 中原容器共享卷策略

  5. transferEnv:从原 Pod 中哪些容器里共享哪些环境变量

  6. 多种原地升级策略:

  7. maxUnavailable:升级过程中最大不可用数量

  8. partition:保留旧版本的数量(灰度/分批发布)

  9. selector:只升级符合 selector 条件 Pod 中的 sidecar(金丝雀发布)

  10. scatter:按标签打散发布

详细信息参考官网文档:https://openkruise.io/zh-cn/docs/sidecarset.html

4. 新的 feature-gate 机制


过去 OpenKruise 中的 CRD 以及 controller/webhook 开关,主要配置在 CUSTOM_RESOURCE_ENABLE 环境变量中,而其他一些可配置开关则集中在命令行参数中,带来的问题一来是较为分散,二来一些关联多个 CRD 的功能开关其实很难用 CRD 开关来控制。

因此,目前新增的 feature-gate 机制已经代替了 CUSTOM_RESOURCE_ENABLE 环境变量,聚焦于功能层面。

在 v0.8.0 提供了 PodWebhook、KruiseDaemon 两个开关,前者关闭后 kruise 不会对 pod creation 做 webhook 拦截,但同时也会关闭 SidecarSet 功能,后者关闭后不会部署 kruise-daemon 组件,但同时也会关闭镜像预热功能。后续版本中个,我们会逐渐把过去的开关参数统一到 feature-gate 中。

5. 其余一些变化点


其余部分优化:

  • CloneSet、Advanced StatefulSet 部分逻辑优化。

  • 在官方 DockerHub 之外新增阿里云托管镜像,国内用户可以选择使用阿里云镜像源来安装/升级 Kruise。

  • 调用 apiserver 的 user-agent 细化到控制器。

  • clientset 中为支持 scale 子资源的 CRD 新增 GetScale/UpdateScale 方法。

总结

=======================================================================

OpenKruise v0.8.0 新版本,可以说是 Kubernetes 社区中首个提供开源的规模化镜像预热功能的产品了。而在今年后续的版本里,我们还计划提供利用镜像预热来加速应用发布、应用安全防护、Controller 灰度/分片管控等能力,预计在年中将推出 v1.0 大版本。

OpenKruise 是一个成熟的 CNCF 沙箱项目,除了在阿里巴巴内大规模应用之外,在行业内也有着广泛的用户案例:

  • 基于原地升级、灰度发布等需求,携程在生产环境使用 CloneSet、AdvancedStatefulSet 来分别管理无状态、有状态应用,单集群 Kruise workload 数量达到万级别。

  • OPPO 公司不仅大规模使用了 OpenKruise,还在下游配合其定制化的 Kubernetes 进一步加强了原地升级,广泛应用在多个业务的后端运行服务中,通过原地更新覆盖了 87% 左右的升级部署需求。

  • 此外,国内的用户还有斗鱼 TV、有赞、苏宁、比心、Boss 直聘、申通、小红书、火花思维、VIPKID、掌门教育、杭银消费、万翼科技、多点 Dmall、佐疆科技、享住智慧、艾佳生活、永辉科技中心、跟谁学、Deepexi,国外的用户有 Lyft、Bringg、Arkane Systems、Spectro Cloud 等。

我们欢迎每一位云原生爱好者共同参与 OpenKruise 的建设,共同打造业界顶尖的云原生应用自动化引擎!

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

最后

针对最近很多人都在面试,我这边也整理了相当多的面试专题资料,也有其他大厂的面经。希望可以帮助到大家。

image

上述的面试题答案都整理成文档笔记。 也还整理了一些面试资料&最新2021收集的一些大厂的面试真题(都整理成文档,小部分截图)

image

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
(都整理成文档,小部分截图)

[外链图片转存中…(img-6KRKwgKa-1713307100693)]

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值