使用Prometheus+Grafana监控Ceph
在Ceph Luminous(12.x)之前的版本,可以使用第三方的ceph_exporter采集Ceph集群的监控信息。 从Ceph Luminous 12.2.1版本开始,MGR中自带了Prometheus插件,内置了Prometheus Ceph Exporter,可以使用Ceph MGR内置的exporter作为Prometheus的target。
在Ceph Luminous(12.x)之前的版本,可以使用第三方的ceph_exporter采集Ceph集群的监控信息。 从Ceph Luminous 12.2.1版本开始,MGR中自带了Prometheus插件,内置了Prometheus Ceph Exporter,可以使用Ceph MGR内置的exporter作为Prometheus的target。
由于种种原因,在国内从k8s.gcr.io或者us.gcr.io这些镜像仓库上拉取镜像都相当慢甚至就直接拉取失败。因此对于一些比较常用的镜像建议拉取后就推送到国内各镜像仓库(例如阿里云Docker Registry)上留存起来,方便后续使用。阿里云Docker Registry免费提供了个人容器镜像托管服务,虽然有限额(3个命名空间、300个仓库),但已足够使用,具体使用方法可见https://cr.console.aliyun.com/。本文主要对一些常用镜像的自动转存脚本进行整理和记录,包括支持情况和使用方法,脚本基本是我自己编写的,如有问题可通过评论反馈给我。
默认情况下,kubeadm会生成一个集群所需的全部证书。而由于kubeadm生成的CA根证书有效期为10年,客户端证书有效期只有1年,因此在一年之内就需要对所有的客户端证书进行续签。所有证书都存放在/etc/kubernetes/pki目录下。
开发和运维人员在进行开发或测试部署的时候,常常使用的是单节点的Kubernetes环境。了解Kubernetes的都知道,在Kubernetes中,Pod一旦重启,Pod中的数据就会丢失,因此需要持久化存储的支持。虽然Kubernetes的PV支持多种存储驱动方式,网上大部分推荐使用的是NFS,但避免不了要先搭建一个NFS Server,而且集群只有一个节点,这种方式不仅麻烦而且低效。这个时候hostPath方式就成了最佳的选择,开销最小效率最高,并且可以结合StorageClass来实现其动态供给。
Metrics Server是Kubernetes内置的、可扩展的、高效的容器资源指标来源。
Metrics Server从Kubelet收集资源指标,并通过Metrics API在Kubernetes ApiServer中公开这些指标,以供Horizontal Pod Autoscaler和Vertical Pod Autoscaler使用。也可以通过kubectl top访问Metrics API,从而更容易调试自动缩放。
2019年的时候在公司内开始做业务的微服务化,逐步接触了Kubernetes,当时使用的版本是1.14.6,为了提高性能,kube-proxy使用ipvs模式,但是发现当删除services后,虽然在kube-proxy的日志中显示已成功删除ipvs规则,但是实际在node节点上执行ipvsadm -Ln发现相应的ipvs规则仍然存在,并没有清除。Google了下,发现社区也有人遇到相同的情况。相关issue见https://github.com/kubernetes/kubernetes/issues/78421
Cilium是一个基于eBPF和XDP的高性能容器网络方案,与其他网络方案不同的是,Cilium着重强调了其在网络安全上的优势,可以透明的对Kubernetes等容器管理平台上的应用程序服务之间的网络连接进行安全防护。
Cilium在设计和实现上,基于Linux的一种新的内核技术eBPF,可以在Linux内部动态插入强大的安全性、可见性和网络控制逻辑,相应的安全策略可以在不修改应用程序代码或容器配置的情况下进行应用和更新。
Cilium是第一个通过eBPF实现了kube-proxy所有功能的Kubernetes网络方案,让我们一起来实践下吧~