5.4. 可用的路由器插件


路由器可以分配给节点,以控制 OpenShift Container Platform 集群中的流量。OpenShift Container Platform 使用 HAProxy 作为默认路由器,但选项可用。

5.4.1. HAProxy 模板路由器

HAProxy 模板路由器实施是模板路由器插件的参考实施。它使用 openshift3/ose-haproxy-router 存储库运行 HAProxy 实例以及模板路由器插件。

模板路由器有两个组件:

  • 监视端点和路由的打包程序,并基于更改导致 HAProxy 重新加载
  • 基于路由和端点构建 HAProxy 配置文件的控制器
注意

HAProxy 路由器使用版本 1.8.1。

控制器和 HAProxy 存储在由部署配置管理的 pod 中。oc adm router 命令自动设置路由器的过程。

控制器监控路由和端点是否有变化,以及 HAProxy 的健康状况。当检测到更改时,它会构建一个新的 haproxy-config 文件并重启 HAProxy。haproxy-config 文件基于路由器的模板文件和 OpenShift Container Platform 的信息构建。

HAProxy 模板文件可以根据需要自定义,以支持 OpenShift Container Platform 当前不支持的功能。HAProxy 手册 描述了 HAProxy 支持的所有功能。

下图显示了如何通过插件处理 master 的数据,最后进入 HAProxy 配置中:

图 5.4. HAProxy 路由器数据流

HAProxy 路由器数据流

HAProxy 模板路由器指标

HAProxy 路由器以 Prometheus 格式 公开或发布指标,供外部指标收集和聚合系统(如 Prometheus, statsd)消耗。路由器可以被配置为提供 HAProxy CSV 格式 指标,或者根本不提供路由器指标。

指标从路由器控制器以及 HAProxy 每 5 秒从 HAProxy 收集。当路由器部署并随着时间增加时,路由器指标计数器从零开始。每次重新加载 haproxy 时,HAProxy 指标计数器都会重新设置为零。路由器收集每个 frontend、后端和服务器的 HAProxy 统计信息。为减少资源使用超过 500 台服务器时,将报告后端而非服务器,因为后端可以有多个服务器。

统计信息是 可用 HAProxy 统计 的子集。

以下 HAProxy 指标会定期收集,并转换为 Prometheus 格式。对于每个前端,都会收集"F"计数器。当为每个后端收集计数器并为每个服务器收集"S"服务器计数器时。否则,会为每个后端收集"B"计数器,并且不收集服务器计数器。

如需更多信息,请参阅 路由器环境变量

在下表中:

栏 1 - HAProxy CSV 统计中的索引

列 2

F

前端指标

b

如果因为 Server Threshold 没有显示服务器指标时的后端指标,

B

显示服务器指标时的后端指标

S

服务器指标.

列 3 - 计数器

列 4 - Counter description

索引

使用方法

计数

描述

2

bBS

current_queue

当前未分配给任何服务器的已排队请求数量。

4

FbS

current_sessions

当前活跃会话数量。

5

FbS

max_sessions

观察到的活跃会话数量上限。

7

FbBS

connections_total

连接总数。

8

FbS

bytes_in_total

当前传入字节总数.

9

FbS

bytes_out_total

传出字节的当前总数。

13

bS

connection_errors_total

连接错误总数。

14

bS

response_errors_total

响应错误总数。

17

bBS

up

后端的当前状态(1 = UP,0 = DOWN)。

21

S

check_failures_total

失败健康检查的总数。

24

S

downtime_seconds_total

总停机时间(以秒为单位), nil),

33

FbS

current_session_rate

当前每秒的会话数量已超过秒。

35

FbS

max_session_rate

每秒观察到的会话数量上限。

40

FbS

http_responses_total

HTTP 响应总数, 代码 2xx

43

FbS

http_responses_total

HTTP 响应总数, 代码 5xx

60

bS

http_average_response_latency_milliseconds

最新的 1024 请求(以毫秒为单位)。

路由器控制器提取下列项目:它们只能通过 Prometheus 格式指标使用。

名称

描述

template_router_reload_seconds

测量重新加载路由器的时间(以秒为单位)。

template_router_write_config_seconds

测量将路由器配置写入磁盘的时间(以秒为单位)。

haproxy_exporter_up

是 haproxy 成功的最后一个提取。

haproxy_exporter_csv_parse_failures

解析 CSV 时的错误数。

haproxy_exporter_scrape_interval

允许其他提取前的时间(以秒为单位)与数据大小成比例。

haproxy_exporter_server_threshold

跟踪的服务器数量和当前的阈值。

haproxy_exporter_total_scrapes

当前的 HAProxy 提取总数。

http_request_duration_microseconds

HTTP 请求延迟(微秒)。

http_request_size_bytes

HTTP 请求大小(以字节为单位)。

http_response_size_bytes

HTTP 响应大小(以字节为单位)。

openshift_build_info

带有由 OpenShift 构建的 main、min、git commit & git version 标签的恒定"1"值的指标。

ssh_tunnel_open_count

SSH 隧道总数打开的尝试计数器

ssh_tunnel_open_fail_count

SSH 隧道失败的打开尝试计数器

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.