首页 > 其他分享 >云原生周刊:Kubernetes v1.29 新特性一览 | 2023.12.11

云原生周刊:Kubernetes v1.29 新特性一览 | 2023.12.11

时间:2023-12-12 16:04:33浏览次数:38  
标签:11 Kyverno runwhen Kubernetes 2023.12 ArgoCD v1.29 Pod

开源项目推荐

kubedog

Kubedog 是一个用于在 CI/CD 部署管道中监视和跟踪 Kubernetes 资源的库。

这个库被用于 werf CI/CD 工具中,在部署过程中跟踪资源。

RunWhen Local

runwhen-local 是一个工具,用于在本地环境中运行 runwhen 脚本。runwhen 是一个灵活的任务调度工具,可以根据条件和时间表来执行任务。通过 runwhen-local,开发者可以在本地测试和调试 runwhen 脚本,以确保其正确运行。

KubeGateway

kube-gateway 是字节跳动内部管理海量 kubernetes 集群的最佳实践。 它是为 kube-apiserver 的 HTTP2 流量专门设计并定制的七层负载均衡代理。 目标是为海量的大规模 kubernetes 集群(千级 node 以上)提供灵活的稳定的流量治理方案。

flannel

Flannel 是为 Kubernetes 设计的一种简单且易于配置的第三层网络结构的解决方案。

文章推荐

Kubernetes v1.29 新特性一览

这篇文章介绍了 Kubernetes v1.29 版本的新特性。该版本包含了 49 个主要的更新,其中有 19 个增强功能进入 Alpha 阶段,19 个升级到 Beta 阶段,还有 11 个升级到稳定版。

文章重点介绍了两个重要的特性:基于 CEL 的 CRD 规则校验和为动态和静态分配预留 NodePort 端口范围。基于 CEL 的 CRD 规则校验是一种在 CRD 声明中编写校验规则的方式,简化了开发和维护成本。而为动态和静态分配预留 NodePort 端口范围的特性解决了在创建 NodePort 时可能产生的端口冲突问题。总体而言,Kubernetes v1.29 版本的新特性为用户提供了更好的功能扩展和更可靠的输入校验。

[Kubernetes:Pod 和 WorkerNodes – 控制 Pod 在节点上的放置

](https://rtfm.co.ua/en/kubernetes-pods-and-workernodes-control-the-placement-of-the-pods-on-the-nodes/)

这篇文章介绍了在 Kubernetes 中如何控制 Pods 在 WorkerNodes 上的部署位置。它提供了四种主要的方法来实现这种控制:

  • 配置节点
  • Taints 和 Tolerations
  • 配置 Pod 本身
  • Pod 亲和性和反亲和性

此外,文章还提到了 Pod 拓扑分布约束(Pod Topology Spread Constraints),即根据失败域(regions、可用区或节点)的规则来放置 Pod。

文章还提供了一些使用 kubectl explain 命令来查看相关参数和资源文档的技巧。

ArgoCD:多租户策略

这篇文章介绍了使用 ArgoCD 实现多租户策略的方法。在使用 ArgoCD 时,通常会允许所有用户自由操作,直到进入生产环境后才意识到某个人通过删除应用程序而删除了命名空间或 CRD。为了解决这个问题,需要使用访问控制和多租户策略。文章详细介绍了如何利用 ArgoCD 的原生功能实现多租户策略,并提供了一个示例来演示如何在大型组织中使用企业敏捷框架(例如 SAFe)来实施。文章还讨论了 ArgoCD 中的 AppProject、RBAC 和命名空间等概念,以及如何配置和使用它们来实现多租户策略。最后,文章提供了一个具体的示例,展示了如何根据团队和项目的需求来配置 AppProject 和 RBAC。

云原生动态

Kyverno 完成第三方安全审计

Kyverno 项目宣布完成了第三方安全审计。该审计是由 Ada Logics 与 Kyverno 维护人员、开源技术改进基金合作进行,由 CNCF 资助。

该安全审计是一个全面的安全审计,有以下四个目标:

  • 为 Kyverno 定义一个正式的威胁模型。
  • 对代码进行手动安全漏洞审计。
  • 根据威胁模型评估 Kyverno 的模糊测试套件。
  • 针对 SLSA 评估 Kyverno 的供应链风险。

本文由博客一文多发平台 OpenWrite 发布!

标签:11,Kyverno,runwhen,Kubernetes,2023.12,ArgoCD,v1.29,Pod
From: https://www.cnblogs.com/kubesphere/p/17897069.html

相关文章

  • 1.5万字 + 25张图盘点RocketMQ 11种消息类型,你知道几种?
    大家好,我是三友~~故事的开头是这样的最近有个兄弟私信了我一张截图我一看截图内容,好家伙,原来是我一年多前立的flag倒不是我忘了这件事,我后来也的确写了一篇的关于RocketMQ运行的原理的文章只不过这篇文章是从上帝的视角去看待RocektMQ一条消息整个生命周期的过程所以就没有......
  • Python网络连接request报错:OSError: [Errno 113] No route to host
    报错:(pytorch)devil@Monster:~$huggingface-clilogin_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|......
  • 【线段树入门】 P1198 最大数(区间最大值+无懒标记+末尾插入)
    1//笔记-自用2//#pragmaGCCoptimize("Ofast")3//#pragmaGCCoptimize("unroll-loops")4#define_CRT_SECURE_NO_WARNINGS5#defineAll(a)a.begin(),a.end()6#defineINF21474836477#include<bits/stdc++.h>8#include<nu......
  • S7-1511C-1 主要功能介绍
    https://mall.industry.siemens.com/mall/en/WW/Catalog/Products/10268309?activeTab=productinformation&regionUrl=WW CPU1511C-1PNOrderingdataAccessoriesProductInformationConfiguratorsJumptoOverviewApplicationDesignFunctionTechnicalspecification......
  • 【2023-12-11】年龄写实
    20:00 少后悔、多感恩生活中的美好。                                                 ——巴里·施瓦茨弟媳给我印象最深刻的,是她经常抱怨说看到小侄女就想吐,因为全......
  • 12 11
    第四部分:黄金标准1、刻意练习首先需要得到合理发展的行业或领域,简而言之,就是可以通过绩效或者评分来看出水平,并且最杰出的从业者已经达到一定水平。其次刻意练习需要一个已经达到一定水平的导师。 2、辨认出一个行业的杰出任务,研究他为什么与别人不同。一旦发现他的某些方法......
  • Leetcode刷题day11-栈.滑窗最大值.出现次数前K的元素
    239.滑动窗口最大值239.滑动窗口最大值-力扣(LeetCode)给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。返回 滑动窗口中的最大值 。示例1:输入:nums=[1,3,......
  • 2023年12月11日总结
    更好的观看总结今天是字符串专题,美好的一天从字符串开始。阿巴啊把啊把。智商下线,想不出什么词。膜拜将字符串掌握得炉火纯青的大佬。(是谁呢?先膜就是了)Manacher感觉思路和z函数好像哦。【模板】manacher发现还没写过模板,写一下。[SNCPC2019]Paper-cutting在二维上面的......
  • 12.11日记
    使用DataFrame有两个方式,分别是SQL语法和DSL语法➢SQL语法   1.通过"临时视图"来使用,所以先创建视图   2.通过sparkSession对象执行sql进行数据查询   scala>df.createOrReplaceTempView("user") //创建临时视图   scala>varviewdf=spark.sql("se......
  • #P1114. 多重部分和问题
    每个数字选与不选的01背包本题的核心就是每个容量j,最多选t[i]个,然后不断递归#include<bits/stdc++.h>usingnamespacestd;constintN=105;constintM=1e5+10;intw[N],t[N];intdp[M];intmain(){ intn; cin>>n; for(inti=1;i<=n;i++){ cin>>w[i]; } for(int......