配置 F5 作为 Rancher 前端 7 层 LB

架构说明

本文档基于 BIGIP-15.0.1-0.0.11.ALL-vmware 虚拟机版本编写,架构如下图所示。

架构图

代理配置

步骤 1:配置健康检查

单击 Local Traffic,然后单击 Monitors 右侧的 图标,添加监控。需要修改或新增的参数如下:

  • “Name”一栏输名称,下图例子输入的是 http-rancher,对应的是 rancher 的 http 健康检查。
  • “Description”一栏输入关于这个健康检查的描述,可跳过,非必填项。
  • “Type” 选择类型为 http
  • “Send String”填写参数为:GET /healthz \r\n

其他参数保持默认即可。单击“Finished”,完成健康检查配置。

配置健康检查

步骤 2:添加节点(可选)

  1. 单击 Local Traffic,然后单击 Nodes > Nodes List 旁边的 ,添加节点。

    添加节点1

  2. 按照下图示例配置节点信息。请将Health Monitors 设置为 None

    添加节点2

步骤 3:添加节点池

  1. 单击 Local Traffic > Pools > Pool List 旁边的 添加节点池。

    添加节点池1

  2. 按照下图示例配置节点池。

  • 设置节点池名称。

  • Health Monitors 选择先前创建的健康检查。

  • New Members 中选择 Node List,选择开始添加的节点,单击下方的 Add,端口以实际 Rancher 暴露的端口为准。

    添加节点池2

步骤 4:添加 irule

  1. 单击 Local Traffic > iRules > iRules List 旁边的 ,添加 irule。

    添加irule1

  2. 设置 irule 名称,将以下内容复制粘到文本框内。

    1. when HTTP_REQUEST {
    2. HTTP::header insert X-Forwarded-Proto https”;
    3. HTTP::header insert X-Forwarded-Port 443;
    4. HTTP::header insert X-Forwarded-For [IP::client_addr];
    5. }

    添加irule2

步骤 5:添加证书

  1. 访问 system > Certificate Management > Traffic Certificate Management > SSL Certificate List > Import

    添加证书1

  2. 选择导入类型为 keycertificate,然后选择导入文件。注意:权威证书会有中间链 CA 证书,所以这里会多一个 CA 证书,如果是自签名证书则可以忽略这个 CA 证书。

    添加证书2

    添加证书3

    添加证书4

添加 SSL Profile

  1. 单击 Local Traffic > Profiles > SSL > client 旁边的 ,添加 SSL Profile。

    配置 F5 作为 Rancher 前端 7 层 LB - 图13 添加 SSL Profile1

  2. 配置 SSL 相关参数

    • 输入 profile 名称。
    • Configuration 选择高级配置,并单击右侧自定义。
    • Certificate Key Chain 处单击 Add,然后选择对应的证书和私钥。

    配置 F5 作为 Rancher 前端 7 层 LB - 图15 添加 SSL Profile2

  3. 添加之后

    配置 F5 作为 Rancher 前端 7 层 LB - 图17 添加 SSL Profile3

  4. 其他参数保持默认即可。

配置 Rancher Virtual Servers

  1. 单击 Local Traffic > Virtual Servers > Virtual Server List 旁边的

  2. 配置 Name,输入 Server 名称。

  3. 保持 Type 为默认。

  4. 配置 Source Address0.0.0.0/0

  5. 根据实际情况配置 Destination Address/Mask

  6. Service Port 设置为 443/https

  7. Configuration 选择高级。

  8. HTTP Profile (Client) 设置为 http

  9. SSL Profile (Client) 选择之前创建的 SSL Profile

  10. WebSocket Profile 选择 WebSocket

  11. Source Address Translation 选择 auto map

  12. Resources\iRules 中选择之前创建 iRules 规则。

  13. Default Pool 选择之前创建的主机池。

完成配置如下图所示:

配置 Rancher Virtual Servers1

配置 Rancher Virtual Servers2

配置 Rancher Virtual Servers3

配置 Rancher Virtual Servers4

配置 Rancher Virtual Servers5

HTTP 重定向到 HTTPS

单击 Local Traffic > Virtual Servers > Virtual Server List 旁边的 ,按照以下描述配置参数:

  1. 配置 Name
  2. 保持 Type 为默认。
  3. 配置 Source Address0.0.0.0/0
  4. 根据实际情况配置 Destination Address/Mask
  5. Service Port 设置为 80/http
  6. Configuration 选择基础。
  7. HTTP Profile (Client) 设置为 http
  8. Resources\iRules 中选择 _sys_https_redirect