You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过OCI云控制器管理器覆盖Kubernetes Service的健康检查端口与端点

解决OCI负载均衡器健康检查端口与端点修改问题

你已经找对了方向——通过给LoadBalancer Service添加OCI专属注解就能覆盖默认的健康检查配置,具体操作如下:

  • 确认并完善Service配置
    你的frontend-service.yaml里已经添加了正确的健康检查注解,只需确保这些注解没有拼写错误,完整配置如下:

    # frontend-service.yaml
    apiVersion: v1
    kind: Service
    metadata:
      name: frontend-service
      annotations:
        service.beta.kubernetes.io/oci-load-balancer-shape: "flexible"
        service.beta.kubernetes.io/oci-load-balancer-internal: "false"
        service.beta.kubernetes.io/oci-load-balancer-shape-flex-min: "2"
        service.beta.kubernetes.io/oci-load-balancer-shape-flex-max: "8"
        # 健康检查核心配置
        service.beta.kubernetes.io/oci-load-balancer-health-check-protocol: "HTTP"
        service.beta.kubernetes.io/oci-load-balancer-health-check-port: "80"
        service.beta.kubernetes.io/oci-load-balancer-health-check-path: "/"
      labels:
        app: checklister-frontend
    spec:
      type: LoadBalancer
      selector:
        app: checklister-frontend
      ports:
      - protocol: TCP
        port: 80
        targetPort: 80
    
  • 应用更新后的Service配置
    执行kubectl命令更新Service:

    kubectl apply -f frontend-service.yaml
    
  • 验证配置生效

    • 通过kubectl查看Service的注解是否正确应用:
      kubectl describe service frontend-service
      
      在输出的Annotations部分确认三个健康检查注解存在且配置正确。
    • 登录OCI控制台,找到对应的负载均衡器,查看后端集的健康检查配置:确认协议为HTTP、端口为80、路径为/,等待几分钟后观察健康状态是否恢复正常。

补充说明

OCI Cloud Controller Manager默认会使用kubelet的10256端口/healthz端点做健康检查,你的集群因为IPv6配置问题导致该端点返回healthy: false,替换为应用的80端口/端点后,就能绕过这个IPv6问题,直接检查应用本身的可用性。

内容的提问来源于stack exchange,提问作者Shakir

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 02:27:06