启用 Monitoring
管理员或集群所有者可以通过配置 Rancher 来部署 Prometheus,从而监控 Kubernetes 集群。
本文介绍如何使用新的 monitoring 应用在集群内启用监控和告警。
不论是否使用 SSL,你都可以启用 monitoring。
要求
- 确保在每个节点上允许端口 9796 上的流量,因为 Prometheus 将从这里抓取指标。
- 确保你的集群满足资源要求。集群应至少有 1950Mi 可用内存、2700m CPU 和 50Gi 存储。要查看资源限制和请求的明细,请查看此处。
- 在使用 RancherOS 或 Flatcar Linux 节点的 RKE 集群上安装 monitoring 时,请将 etcd 节点证书目录更改为
/opt/rke/etc/kubernetes/ssl
。 - 如果集群是使用 RKE CLI 配置的,而且地址设置为主机名而不是 IP 地址,请在安装的 Values 配置步骤中将
rkeEtcd.clients.useLocalhost
设置为true
。YAML 片段如下所示:
rkeEtcd:
clients:
useLocalhost: true
备注
如果要设置 Alertmanager、Grafana 或 Ingress,必须通过 Helm chart 部署上的设置来完成。在部署之外创建 Ingress 可能会产生问题。
设置资源限制和请求
安装 rancher-monitoring
时可以配置资源请求和限制。要从 Rancher UI 配置 Prometheus 资源,请单击左上角的 Apps & Marketplace > Monitoring(Rancher v2.6.5 之前的版本)或 Apps > Monitoring(Rancher v2.6.5+)。
有关默认限制的更多信息,请参阅此页面。
安装 Monitoring 应用
在不使用 SSL 的情况下启用 Monitoring
- 点击 ☰ > 集群管理。
- 选择你创建的集群,并点击 Explore。
- 点击集群工具(左下角)。
- 单击 Monitoring 的安装。
- 可选:在 Values 步骤中为 Alerting、Prometheus 和 Grafana 自定义请求、限制等。如需帮助,请参阅配置参考。
结果:Monitoring 应用已部署到 cattle-monitoring-system
命名空间中。
在使用 SSL 的情况下启用 Monitoring
- Rancher v2.6.5+
- Rancher 版本低于 v2.6.5
- 按照此页面上的步骤创建密文,以便将 SSL 用于告警。
- 密文应该创建到
cattle-monitoring-system
命名空间中。如果它不存在,请先创建它。 - 将
ca
、cert
和key
文件添加到密文中。
- 在左上角,单击 ☰ > 集群管理。
- 在集群页面上,转到要启用 Monitoring 以与 SSL 一起使用的集群,然后单击 Explore。
- 单击 Apps > Charts。
- 单击 Monitoring。
- 根据你是否已安装 Monitoring,单击安装或更新。
- 选中在安装前自定义 Helm 选项,然后单击下一步。
- 单击 Alerting。
在补充密文字段中,添加之前创建的密文。
按照此页面上的步骤创建密文,以便将 SSL 用于告警。
- 密文应该创建到
cattle-monitoring-system
命名空间中。如果它不存在,请先创建它。 - 将
ca
、cert
和key
文件添加到密文中。
- 在左上角,单击 ☰ > 集群管理。
- 在集群页面上,转到要启用 Monitoring 以与 SSL 一起使用的集群,然后单击 Explore。
- 单击应用 & 应用市场 > Chart。
- 单击 Monitoring。
- 根据你是否已安装 Monitoring,单击安装或更新。
- 选中在安装前自定义 Helm 选项,然后单击下一步。
- 单击 Alerting。
- 在补充密文字段中,添加之前创建的密文。
结果:Monitoring 应用已部署到 cattle-monitoring-system
命名空间中。
创建接收器时,启用 SSL 的接收器(例如电子邮件或 webhook)将具有 SSL,其中包含 CA 文件路径、证书文件路径和密钥文件路径字段。使用 ca
、cert
和 key
的路径填写这些字段。路径的格式为 /etc/alertmanager/secrets/name-of-file-in-secret
。
例如,如果你使用以下键值对创建了一个密文:
ca.crt=`base64-content`
cert.pem=`base64-content`
key.pfx=`base64-content`
则证书文件路径需要设为 /etc/alertmanager/secrets/cert.pem
。