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-->