探索PromQL
通过PromQL用户可以非常方便地对监控样本数据进行统计分析,PromQL支持常见的运算操作符,同时PromQL中还提供了大量的内置函数可以实现对数据的高级处理。在学习PromQL之前,还需要了解Prometheus的样本数据模型。PromQL作为Prometheus的核心能力除了实现数据的对外查询和展现,同时告警监控也是依赖PromQL实现的。
通过PromQL用户可以非常方便地对监控样本数据进行统计分析,PromQL支持常见的运算操作符,同时PromQL中还提供了大量的内置函数可以实现对数据的高级处理。在学习PromQL之前,还需要了解Prometheus的样本数据模型。PromQL作为Prometheus的核心能力除了实现数据的对外查询和展现,同时告警监控也是依赖PromQL实现的。
Prometheus受启发于Google的Brogmon监控系统(相似的Kubernetes是从Google的Brog系统演变而来),从2012年开始由前Google工程师在Soundcloud以开源软件的形式进行研发,并且于2015年早期对外发布早期版本。2016年5月继Kubernetes之后成为第二个正式加入CNCF基金会的项目,同年6月正式发布1.0版本。2017年底发布了基于全新存储层的2.0版本,能更好地与容器平台、云平台配合。
众所周知,Kubernetes每隔3个月就会发布一个版本,虽然在2021年7月20日Kubernetes官博宣布,将版本发布周期由每年4次调整为每年3次,但每年3个版本的发布同样意味着更多功能特性的来临,如果一直不更新,势必会导致许多新功能无法使用。因此,如何对Kubernetes集群进行升级是每个Kubernetes用户均需面临的一个问题。目前比较流行的Kubernetes集群部署方式分为kubeadm部署和二进制部署,本文主要介绍如何将kubeadm方式部署的Kubernetes集群进行升级。(以1.20.X升级至1.21.X为例)
https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.20.md
在Kuberntes平台中,为了解决与容器运行时(例如Docker)集成问题,在早期社区推出CRI(Container Runtime Interface,容器运行时接口),以支持更多的容器运行时。而Docker本身并不支持CRI(容器运行时接口)这一Kubernetes运行时API,Kubernetes用户一直以来所使用的其实是名为“dockershim”的桥接服务。Dockershim能够转换Docker API与CRI,但在后续版本当中,Kubernetes将不再提供这项桥接服务。