K8S|K8S 生态周报| Kubernetes v1.22.0-beta.0 发布
「K8S 生态周报」内容主要包含我所接触到的 K8S 生态相关的每周值得推荐的一些信息。欢迎订阅知乎专栏 「k8s生态」。runc v1.0 正式发布 从 2016 年 6 月发布 v1.0-rc1 版本开始,至今已整整 5 年时间,runc 历经多个 rc 版本终于发布了 v1.0 版本。整个过程及其思考请参考我之前的文章 《开源项目的 5 年长跑,runc v1.0 终于正式发布!》 。这里我们来看看 v1.0 新版本中带来了哪些值得注意的变更。
破化性变更
- #2999 删除了
libcontainer/configs.Device*
标识,请使用libcontainer/devices.*
来替代(是自 v1.0-rc94 开始废弃的); - #2999 删除了
libcontainer/system.RunningInUserNS
函数,请使用libcontainer/userns.RunningInUserNS
函数代替(同样是自 v1.0-rc94 开始废弃的);
- #2994 在
runc update
的时候设置了SkipDevices
,所以在此期间我们就不会更新 cgroups 了; - #3010 cgroup1 相关的 blkio 支持 BFQ weight 了,这里需要注意的是 2018 年 CFQ 已经从 Linux 删除,22019 年发布的 RHEL 8.0 和 Ubuntu 19.01 等发行版中也均使用 BFQ 替代了 CFQ 。关于 Linux 内核的 BFQ 和 CFQ 这里就不再展开了,只需要知道 BFQ 相比 CFQ 做到了低延迟和吞吐即可;
Prometheus v2.28 正式发布 Prometheus v2.28 在使用体验上有了重大提升,我们来看看有哪些值得关注的内容:
- PromQL 编辑器默认将会开启, 这个编辑器我在之前的 k8s生态中介绍过了,这里贴个图,看看它的自动补齐, 除此之外还有高亮和 linting 的能力。
- 还有 metrics 的浏览窗口,为什么会再次提这个功能呢?因为我觉得它很实用。在之前的版本,我要么是需要提前记住有哪些 metrics,要么就是直接去 curl 请求下 metrics 接口,看看有哪些 metrics 可用。现在的话,直接浏览即可。
- 可以展示 trace exemplar 了,效果如下:
这个功能还是蛮方便的,有空了我可以详细介绍下。(flag+1)
- 新增了一个基于 HTTP 的 service discovery ,这个功能比较实用,不再要求非要特定于使用某个组件,只要 HTTP 接口返回的内容符合其要求的格式,即可注册到 Prometheus 中。
- 在 Kubernetes SD 中,增加了一个 ingress class name 的字段,比如你在使用 Apache APISIX Ingress controller 的时候,通过新版的 Prometheus 采集,就会看到一个
{__meta_kubernetes_ingress_class_name: apisix}
的字段了;
Kubernetes v1.22.0-beta.0 发布 Kubernetes v1.22 正在持续的进行迭代和发布,我们来看看 v1.22.0-beta.0 中有哪些值得关注的变更吧!
废弃
--hard-pod-affinity-symmetric-weight
和--scheduler-name
已经从 kube-scheduler 中移除(自 v1.18 废弃);
- #99597 kube-scheduler component config 现在开始用 v1beta2 API ,这意味着三个插件被废弃,分别是 NodeLabel, ServiceAffinity, NodePreferAvoidPods;
- #102834 Network Policy EndPort 已达到 beta 级别,并将默认开启使用;
- #101316 为 StatefulSet 增加了一个 minReadySeconds 参数,通过此参数可以设置 sts 的最小就绪时间,不会过早的在 Pod 就绪前就把流量引入;
- #102722 为 kubeadm 在
kubeadm init
增加了--dry-run
的选项; - #102466 将 kubeadm 部署用的 CoreDNS 升级到了 v1.8.4 同时也授予了其
EndpointSlice
的 list 和 watch 权限;
- 102840 更改了 Graceful Node Shutdown Pod 的 Reason 和 Message,变更如下:
-nodeShutdownReason= "Shutdown" -nodeShutdownMessage= "Node is shutting, evicting pods" -nodeShutdownNotAdmitMessage = "Node is in progress of shutting down, not admitting any new pods" +nodeShutdownReason= "Terminated" +nodeShutdownMessage= "Pod was terminated in response to imminent node shutdown." +nodeShutdownNotAdmittedReason= "NodeShutdown" +nodeShutdownNotAdmittedMessage = "Pod was rejected as the node is shutting down."
欢迎订阅我的文章公众号【MoeLove】
【K8S|K8S 生态周报| Kubernetes v1.22.0-beta.0 发布】
文章图片
推荐阅读
- 2019年第22周报
- 湖州大学生实践团开展系列活动践行生态文明理念
- 你是比特币生态圈的哪种角色(沽空者、退出者还是留守者?)
- K8S|K8S 生态周报| Istio 即将发布重大安全更新,多个版本受影响
- 中途再整理,坚定生态心
- 个人日记|K8s中Pod生命周期和重启策略
- k8s|Scheduling Framework 与 Extender对比及详细介绍
- k8s|k8s(六)(配置管理与集群安全机制)
- 样板项目乐驿享生活圈-S2B2C2S生态盈利系统
- 2021-04-24|2021-04-24 K8s构建Jenkins(1)