NetScaler CPX 对 Kubernetes 探测的支持

Kubernetes 通过启动探测、存活探测和就绪探测来管理容器生命周期,以确保应用程序正确初始化并保持健康。NetScaler CPX 现在除了支持现有的启动探测和存活探测外,还支持就绪探测。此支持确保 Kubernetes 仅在 NetScaler CPX 完全运行且(如果已配置)已成功完成许可证签出时才将流量路由到它。

通过使用这些探测,您可以提高应用程序可用性,并确保及时重新创建失败或无响应的实例。

一些优点包括:

  • 增强的流量管理:确保 NetScaler CPX 仅在准备好处理请求时才接收流量。
  • 操作可靠性:自动重启不健康的容器以从故障中恢复。
  • 许可证验证:延迟就绪状态,直到许可证签出成功(当使用 LAS_CPX_BANDWIDTH 参数时)。
  • 精确初始化:协调从容器启动到活动健康监控的转换。

注意:

使用就绪探测需要 NetScaler CPX 14.1-72.x 或更高版本。有关探测机制的详细信息,请参阅官方 Kubernetes 文档。

配置用于 NetScaler CPX 的 Kubernetes 探测

要为 NetScaler CPX 配置探测,请在 Kubernetes 部署 YAML 文件中定义探测参数。

使用 CLI 配置探测

编辑您的部署 YAML 文件,以包含 Kubernetes 用于验证 NetScaler CPX 容器状态的特定 exec 命令。

配置启动探测:添加以下代码片段,以确保 Kubernetes 等待初始化过程完成。NetScaler CPX 通过创建 文件来指示成功启动。配置启动探测以监视此路径,以确保在存活检查开始之前完成初始化。


  startupProbe:
    exec:
      command:
          - ls
          - /tmp/cpx_started
    initialDelaySeconds: 30
    periodSeconds: 5
    failureThreshold: 20
    successThreshold: 1
    timeoutSeconds: 1
<!--NeedCopy-->

配置就绪探针:添加以下代码片段,以定义 Pod 何时准备好接受流量。CPX 在准备好处理流量时创建 /tmp/cpx_ready 文件。如果您配置了 LAS_CPX_BANDWIDTH 参数,CPX 会在成功进行许可证检查后创建此文件。否则,它会在启动过程完成后出现。Kubernetes 使用此文件作为就绪探针,以确定何时将流量路由到 Pod。

readinessProbe:
  exec:
    command:
      - /bin/ls
      - /tmp/cpx_ready
  failureThreshold: 15
  initialDelaySeconds: 60
  periodSeconds: 30
  successThreshold: 1
  timeoutSeconds: 1
<!--NeedCopy-->

配置活跃度探针:添加以下代码片段,以在运行时持续监控容器的运行状况。在部署 YAML 中定义活跃度探针,以在运行时监控 CPX 的运行状况。如果探针失败,Kubernetes 会重新启动容器以从不健康状态中恢复。此机制通过自动重新创建无响应的 CPX 实例来确保应用程序可用性。

livenessProbe:
  exec:
    command:
      - /bin/ping
      - -c 1
      - 192.0.0.1
  initialDelaySeconds: 10
  periodSeconds: 5
  failureThreshold: 3
  successThreshold: 1
  timeoutSeconds: 1
<!--NeedCopy-->
NetScaler CPX 对 Kubernetes 探测的支持