无需kubectl!快速使用Prometheus监控Etcd

网友投稿 380 2022-10-02

无需kubectl!快速使用Prometheus监控Etcd

在本文中,我们将安装一个Etcd集群并使用Prometheus和Grafana配置监控,以上这些操作我们都通过Rancher进行。

我们将看到在不需要依赖的情况下充分利用Rancher的应用商店实现这一目标是如此容易。在本文中,我们将不需要:

为运行kubectl专门配置交互框,并指向Kubernetes集群 kubectl的使用知识,因为我们可以使用Rancher UI完成这一切 安装/配置 Helm binary

Demo的前期准备

你将需要:

一个Google云平台的账号(免费的即可)。任意其他云也可以。 Rancher v2.4.7(撰写本文时的最新版本) 运行在GKE(版本为1.16.3-gke.1)上的Kubernetes集群(在EKS或AKS上运行也可以)

启动一个Rancher实例

首先,启动你的Rancher实例。你可以访问以下链接查看快速启动指南:

使用Rancher部署一个GKE集群

使用Rancher来设置和配置一个Kubernetes集群,你可以查看相关文档:

部署etcd、Prometheus和Grafana

我们可以利用Rancher的应用商店来安装所有的软件。应用商店是Helm chart的集合,它可以让用户能够轻松地重复部署这些应用程序。

我们要安装的第一个应用是etcd-operator。保留它预先填充的所有默认值,并确保你也启用了etcd集群的创建(为了demo的简单性,我们取消选择etcd Backup Operator和etcd Restore Operator)。

Operator的作用是观察、分析和行动。它使用Kubernetes API来观察当前集群的状态。如果运行状态与所需状态之间有任何差异,它就会发现并修复它们。

例如,假设我们正在运行一个有三个成员的etcd集群。如果发生了一些事情,其中一个成员倒下了,Operator会观察到这一点。它根据所需的状态做一个差异,然后根据差异恢复丢失的成员。于是,我们在没有人为干预的情况下拥有了一个健康的集群。

要安装Prometheus和Grafana,请激活Rancher中集成的集群监控支持。从 【全局】视图中,选择你要配置的集群,并选择【工具】→【监控】以启用它。为了允许对Grafana的更改持久化,请确保为Grafana和Prometheus启用持久化存储。如果你没有设置任何持久化存储,可以了解一下Longhorn,这是Kubernetes的云端分布式块存储。

当一切都在安装时,你可以探索一些选项卡。检查工作负载(Pods、Deployments、DaemonSet)或创建的服务的进度。

配置Prometheus以及Grafana

Grafana已经预先配置了Prometheus作为数据源,包含几个可视化集群状态的dashboard。

我们已经成功导入了dashboard,我们可以看到各种图表,但是没有数据显示。为什么呢?我们已经运行了Prometheus,并且Grafana也与之集成。可问题是我们没有告诉Prometheus去收集与我们etcd集群相关的目标。

apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: labels: source: rancher-monitoring name: etcd namespace: cattle-prometheus spec: endpoints: - port: client namespaceSelector: matchNames: - etcd-operator selector: matchLabels: app: etcd

这将打开Prometheus web UI界面。在界面中,进入Graphs并手动执行一些查询,如果有数据显示,那么就说明我们的设置已经完成。

我们需要做的最后一件事是检查Grafana并且查看我们有相关的数据图表。

卸载应用程序和集群

通过这样做,除了为Prometheus创建的持久化存储外,所有的东西都将被删除。我们需要从我们的云提供商控制台来处理这个问题。

当然,我们可以只从Rancher中执行清理,但步骤略有不同。

总 结

在这个demo中,我们看到了如何使用Rancher安装Etcd(使用etcd-operator),Prometheus和Grafana。所有的集成都是开箱即用的:我们只需要添加一些东西就可以完成所有的配置。Rancher还提供了所有所需的可视性,在必要的情况下,可以方便地进行故障排除。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:看焱融云CSI动态感知如何扩展Kubernetes Scheduler
下一篇:Java实现PDF转HTML/Word/Excel/PPT/PNG的示例代码
相关文章

 发表评论

暂时没有评论,来抢沙发吧~