“「K8S 生态周报」内容主要包含我所接触到的 K8S 生态相关的每周值得推荐的一些信息。欢迎订阅知乎专栏「k8s生态」[1]。”
大家好,我是张晋涛。
最近的 GitHub Universe 上 Kyle Daigle 介绍了 GitHub 的一个处于技术预览阶段的特性,名为 GitHub Blocks,你可以点击左侧的链接,加入 waitlist 或者查看其具体介绍。
简单来说 GitHub Blocks 就是允许在 GitHub 的仓库中增加一些 JavaScript 代码,并由 GitHub 直接进行执行/渲染。
这个特性的本意是用于增强 GitHub 上文档的体验 (当在 GitHub 上的文档体验很强大时,各种项目应该就没必要再自建文档站了吧(笑))。
我来列几个我认为特别实用的特性:
.csv
文件,不仅仅可以渲染成表格,而且还可以直接渲染出图表,根据用户的选择来自定义横纵轴,以及图表类型;.excalidraw
的源文件,以及进行一些编辑,这可比 GitHub 集成 Mermaid 要强大的多;当然,这里需要重点说明一下,这个功能目前是 GitHub 特有的,如果你依赖了这些功能,那么后续可能就无法简单的通过 迁移到其他的服务提供商(比如 GitLab)来得到相同的体验了。
kube-state-metrics (KSM) 是一个比较简单的,通过监听 kube-apiserver 并生成关于 Object 状态指标的组件。
我们可以通过这个组件暴露出集群内各种对象的 metrics,并结合 Prometheus 做一些监控,以及一些其他的需求。
在 v2.7 中有一个很重要的变化, 实验性的 VerticalPodAutoscaler metrics 被废弃,并将在 v2.9 中移除。 用户可以通过使用 CustomResourceStateMetrics 从 VPA 资源中获取。 主要是由于 VPA 并不是一个 Kubernetes 内置的资源,并且添加此实验性的特性,本身已经超过了该项目的主要目标,所以社区决定将其逐步移除。
此外 实验性的 CustomResourceState 也修改了其命名规则,以便于更加易用。之前 CRD 的名称等信息都被插入到了 metrics 的名称中,这非常不方便进行聚合查询。本次的修改如下:
kube_apisix_apache_org_v2_ApisixRoute_myroute > kube_crd_myroute{group="apisix.apache.org", kind="ApisixRoute", version="v2"}
可以看到,经过这次修改,可读性更好,并且也更容易按 Group 聚合。如果存在多个版本的资源,也会很方便进行管理。
此外还有一些值得注意的变更:
更多关于此版本的变更,请查看其 ReleaseNote
Kubernetes 自 v1.25 起将默认的镜像仓库从 k8s.gcr.io 切换到了 registry.k8s.io ,以便于给用户提供更高可用的镜像服务,且可以通过 CDN 提升速度。
这主要是由于 k8s.gcr.io 本质上是由 Google 提供的镜像服务,但是目前有其他的供应商也可以提供类似的服务, 比如,近期 Amazon 也宣布会对 Kubernetes 进行捐赠。
并且以后可能也会有其他的厂商也可能会提供类似的服务。
所以本次切换相当于提供了一个中立的服务,并通过使用各个云厂商提供的镜像服务做为后端服务, 实现了镜像仓库的高可用,并且可以在各个厂商之间进行分流,节省开支等。
大家以后拉取镜像/安装的时候,默认就会使用这个镜像仓库了。
如果你不想使用此镜像仓库,可以通过以下两种方法来使用旧的域名:
kubeadm init --image-repository=k8s.gcr.io
ClusterConfiguration
进行配置apiVersion: kubeadm.k8s.io/v1beta3
kind: ClusterConfiguration
imageRepository: "k8s.gcr.io"
此外,kubelet 中也可以通过如下方式来指定使用旧的仓库:
kubelet --pod-infra-container-image=k8s.gcr.io/pause:3.5
在我之前的文章 GitOps 应用实践系列 - Flux CD 及其核心组件 | MoeLove 中,我曾详细介绍过 Flux 的发展过程以及其用法,感兴趣的小伙伴可以翻翻那篇文章,这里就不重复了。
Flux 是 CNCF 第 18 个毕业的项目,自 2019 年 7 月加入 CNCF sandbox,2021 年 3 月达到孵化级别,截至目前该项目获得了 4.2K star, 并且有上百位贡献者,也有很多知名公司在生产环境中使用了它。
目前 Flux 社区正在积极推进 Flux 达到 GA,预计 Flux GitOps 和 Flux Helm 在 2023 年均会达到 GA。详细计划请参考 Flux Roadmap | Flux.
talosctl etcd remove-member
命令,删除指定 member ID 的节点了;[1]
k8s生态: https://zhuanlan.zhihu.com/container