在本文中,咱们将装置一个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实例。你能够拜访以下链接查看疾速启动指南:
https://www.rancher.cn/quick-start/
应用Rancher部署一个GKE集群
应用Rancher来设置和配置一个Kubernetes集群,你能够查看相干文档:
https://docs.rancher.cn/docs/rancher2/cluster-provisioning/production/_index/
部署etcd、Prometheus和Grafana
咱们能够利用Rancher的利用商店来装置所有的软件。利用商店是Helm chart的汇合,它能够让用户可能轻松地反复部署这些应用程序。
当咱们的集群启动并运行后,让咱们抉择为其创立的Default我的项目,在Apps选项卡中,点击【Launch】。
咱们要装置的第一个利用是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)或创立的服务的进度。
让咱们连贯到一个etcd Pod,以便应用一些根本的etcdctl命令(更多细节能够查阅之前的文章)。抉择一个Pod,点击它的垂直省略号(3个竖点)菜单按钮,而后抉择Execute Shell。
配置Prometheus以及Grafana
监控 etcd 集群的最佳和最简略的办法之一是应用 Prometheus 和 Grafana。让咱们登录到Grafana——在集群概览中点击任意Grafana图标即可登录。
Grafana曾经事后配置了Prometheus作为数据源,蕴含几个可视化集群状态的dashboard。
登录Grafana为etcd增加一个仪表盘。默认的用户名和明码都是 “admin”(第一次登录时,会提醒你更改)。而后用id3070导入默认的etcd仪表盘模板。点击加载,而后剩下的步骤就是抉择Prometheus数据源。
咱们曾经胜利导入了dashboard,咱们能够看到各种图表,然而没有数据显示。为什么呢?咱们曾经运行了Prometheus,并且Grafana也与之集成。可问题是咱们没有通知Prometheus去收集与咱们etcd集群相干的指标。
让咱们回到Rancher中去解决这个问题。进入零碎我的项目,点击【资源】标签下的导入YAML。而后将以下资源导入到cattle-prometheus命名空间中:
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正在执行它的工作呢?咱们须要对其进行查看,请点击零碎我的项目的Apps选项卡,并点击cluster-monitoring应用程序中的第二个/index/.html链接。
这将关上Prometheus web UI界面。在界面中,进入Graphs并手动执行一些查问,如果有数据显示,那么就阐明咱们的设置曾经实现。
咱们须要做的最初一件事是查看Grafana并且查看咱们有相干的数据图表。
卸载应用程序和集群
要清理咱们在本文中应用的资源,咱们只须要在全局层级中,抉择咱们的集群并点击【Delete】。
通过这样做,除了为Prometheus创立的长久化存储外,所有的货色都将被删除。咱们须要从咱们的云提供商控制台来解决这个问题。
当然,咱们能够只从Rancher中执行清理,但步骤略有不同。
- disable monitoring:在全局层级,导航到集群,抉择工具→监控并点击【Disable】按钮。
- 移除长久化存储:进入 “零碎我的项目”→”资源”→”工作负载”→”卷”;抉择你的卷并单击 “删除”。
- 删除集群:在全局层级抉择集群并删除它。
总 结
在这个demo中,咱们看到了如何应用Rancher装置Etcd(应用etcd-operator),Prometheus和Grafana。所有的集成都是开箱即用的:咱们只须要增加一些货色就能够实现所有的配置。Rancher还提供了所有所需的可视性,在必要的状况下,能够不便地进行故障排除。
发表回复