关于云计算:Kubernetes-125-发布博云带你玩转新特性

33次阅读

共计 2932 个字符,预计需要花费 8 分钟才能阅读完成。

三个月转瞬即逝,Kubernetes 如约公布了 V1.25 版本,新版本在诸多畛域都有加强。
Kubernetes 1.25 带来了 40 余项性能加强,其中 13 个性能成为稳固状态;10 个是对于现有性能的改良;15 个全新性能;还有 2 个废除性能。在性能加强的数量上,1.25 与之前的两个版本大致相同,Kubernetes 仍然在按本人的节奏稳步推动中。
本文将在泛滥个性中抉择几个进行介绍,涵盖平安、存储、网络等畛域。

01 存储

CSI Migration

Kubernetes 的存储插件分为树内(in-tree)和树外(out-of-tree)两种。简略说 in-tree 是指在 Kubernetes 主仓库保护的插件,而 out-of-tree 是指独立保护的插件。在之前,Kubernetes 有很多插件都是 in-tree 的,这样会使得 Kubernetes 代码保护艰难,并且造成 Kubernetes 主库的臃肿,所以三年前 storage SIG 就开始从 Kubernetes 外围中迁徙 in-tree 的存储插件到里面,变为 out-of-tree 存储插件。
V1.25 版本中,很多 in-tree 的存储插件都将被删除,包含 GlusterFS, flocker, quobyte, storageos 等,具体列表请参考 deprecations-and-removals-for-storage-drivers [1]。举例而言,从 1.25 版本开始,用户在应用以下 yaml 对接 GFS 存储时,将失去正告信息“this feature will be removed soon after in a subsequent release”。

apiVersion: v1
kind: Pod
metadata:
  name: glusterfs
spec:
  containers:
  - name: glusterfs
    image: nginx
    volumeMounts:
    - mountPath: "/mnt/glusterfs"
      name: glusterfsvol
  volumes:
  - name: glusterfsvol
    glusterfs:
      endpoints: glusterfs-cluster
      path: kube_vol
      readOnly: true

在 1.25 中迁徙的个性终于达到了 GA 状态,感激 storage SIG 长久以来手不释卷的工作。

Container Object Storage Interface

对象存储的规范来了。这个性能是一项早退了很久的性能,在 2020 年时就曾经被提出了,并且差点合入 Kubernetes 1.24 版本。不过因为工夫来不及,所以被放到了 1.25,当初它终于要成为一个 alpha 性能了。文件和块存储通过 CSI 在 Kubernetes 生态中被视为一等公民。然而对象存储却没有失去这么高的待遇。近年来,对象存储作为文件系统和块设施的代替存储模式越来越受到欢送,对象存贮存进了计算和存储的合成。它也更加易于治理、扩大和自动化。以后 COSI 设计文档提出的的指标是:
性能上

  • 反对主动创立桶
  • 反对主动删除桶
  • 反对主动生成拜访凭证
  • 反对主动拜访凭证撤销
  • 反对工作负载的自动化 Bucket Provisioning(使 Pod 可能拜访 Bucket)
  • 反对桶重用(通过 COSI 应用现有的桶)
  • 反对跨命名空间的主动存储桶

共享零碎属性上

  • 反对跨集群的工作负载可移植性
  • 以供应商中立的形式实现上述指标
  • 标准化第三方供应商与 COSI 轻松集成的机制
  • 容许用户(非管理员)创立和应用存储桶(自助服务)
  • 为存储桶创立和共享建设一流的访问控制实际

COSI 的设计文档能够参考 object-storage-support [2]

博云 & Kubernetes & 存储

讲了有对于存储的新个性后,也向大家介绍下由博云开源的 CSI — Carina,它是一个为 Kubernetes 而生的高性能本地存储组件,专门针对云原生的有状态利用而生。Carina 项目前期由博云单独研发,当初曾经开源。它的地址是 https://github.com/carina-io/…

通过了一段时间的倒退,Carina 社区的活跃度获得了令人惊喜的增长。最近 Carina 社区正在对社区成员的身份进行布局,Carina 社区十分欢送各位使用者和贡献者的退出。

02 网络

multiple ClusterCIDRs

在用户初始化一个集群时,找到一个失当的 CIDR 很难,如果太大的话会造成节约,如果太小的话,等到业务增多了 IP 可能会不够用,到时候就会如鲠在喉了。因为 CIDR 是在集群启动时设置的,而且当前不能批改,重大的可能会铲掉集群从新开始。Kubernetes 1.25 带来了一个新性能,通过 ClusterCIDRConfig 来动静的配置 CIDR,这个形式能够很好解决下面提出的问题。

Reserve Service IP ranges for dynamic and static IP allocation

还记得在上篇 Kubernetes 1.24 公布的文章中提到过的 service 动静和动态 IP 的预留性能吗,在 1.25 中这个性能曾经从 alpha 版本进化到了 beta 版本,想尝鲜的曾经能够用起来了。

博云 & Kubernetes & 网络

在 Kubernetes 相干的组件中,博云对于网络的投入是工夫最久、精力最多的。博云自研的 CNI — fabric 曾经在诸多客户中被长时间应用,其中不乏金融类、科研类的用户,作为一个反对 linux、windows 操作系统,amd64、arm64 架构的软件,fabric 将持续撑持用户的作业,为用户的云利用提供高效稳固的运行环境。在最近的更新中,fabric 将在可观测性方面做出微小晋升,敬请期待!

03 平安

在 Kubernetes 1.21 中 PodSecurityPolicy 被标记为弃用,而在 1.25 中,这个性能被正式删除了。不过不必放心,Kubernetes 对于每个破坏性的变更都是慎之又慎的,PodSecurityPolicy 的删除也不例外。之所以删除它,是因为它被多方诟病应用上的艰涩难懂,Kubernetes 社区通过思考后,抉择删除这个性能。并且提供了一个更好的替代品 — Pod Security Admission,目前 Pod Security Admission 在 1.25 中达到了稳固阶段,用户能够释怀迁徙到 Pod Security Admission。之前博云公众号也已经零碎介绍过 PSA,欢送大家查阅。

结语

Kubernetes 1.25 兴许不如上个版本夺人眼球,但它足够优良。很多不须要的性能被革除,很多性能达到稳固状态,值得咱们去好好应用。尽可能降级手边的 Kubernetes 吧,感触新版本带来的新鲜感!

援用:
[1]https://kubernetes.io/blog/20…
[2]https://github.com/kubernetes…
参考内容:https://github.com/kubernetes… 
https://kubernetes.io/blog/20… 
https://sysdig.com/blog/kuber…

正文完
 0