首页 新闻 会员 周边

阿里云负载均衡对 K8s Nginx Ingress 的健康检查问题

0
悬赏园豆:30 [已解决问题] 解决于 2020-01-29 22:57

我们的 k8s 集群最前端用的是阿里云七层负载均衡,SLB 转发请求到 nginx ingress ,再由 nginx 转发到对应的 service 。配置阿里云负载均衡监听时需要添加健康检查地址,请问如何实现对 nginx ingress 进行健康检查?

dudu的主页 dudu | 高人七级 | 园豆:30994
提问于:2020-01-29 21:20
< >
分享
最佳答案
0

在 Nginx Ingress Controller 的 ConfigMap 中添加下面的 http-snippets 配置解决了。

apiVersion: v1
kind: ConfigMap
metadata:
  name: nginx-config
  namespace: nginx-ingress
data:
  http-snippets: |
    server {
      listen 80;
      server_name nginx-ingress;
      access_log  off;
      return 200 'Hello, World! - nginx\n';
    }

通过下面的命令可以查看生效的 nginx 配置:

kubectl exec -t daemonset/nginx-ingress -n nginx-ingress \
cat /etc/nginx/nginx.conf

对应的阿里云负载均衡健康检查配置:

域名:nginx-ingress
检查路径:/
dudu | 高人七级 |园豆:30994 | 2020-01-29 22:21

这里用的是 nginxinc/kubernetes-ingress ,如果用的是 kubernetes/ingress-nginx ,不用另外配置,已经默认实现了 /healthz 健康检查地址,详见博文

dudu | 园豆:30994 (高人七级) | 2020-02-21 12:31
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册