码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • CoreDNS篇8-健康检查


    本文主要讲解介绍CoreDNS内置的两个健康检查插件health和ready的使用方式和适用场景。

    1、health插件

    health插件默认情况下会在8080端口的/health路径下提供健康状态查询服务,当CoreDNS服务正常的时候,会返回200的http状态码并附带一个OK的内容。

    [root@coredns-10-31-53-1 conf]# curl -v http://10.31.53.1:8080/health
    * About to connect() to 10.31.53.1 port 8080 (#0)
    *   Trying 10.31.53.1...
    * Connected to 10.31.53.1 (10.31.53.1) port 8080 (#0)
    > GET /health HTTP/1.1
    > User-Agent: curl/7.29.0
    > Host: 10.31.53.1:8080
    > Accept: */*
    >
    < HTTP/1.1 200 OK
    < Date: Thu, 28 Jul 2022 03:52:56 GMT
    < Content-Length: 2
    < Content-Type: text/plain; charset=utf-8
    <
    * Connection #0 to host 10.31.53.1 left intact
    OK
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    比较特别的是health插件还附带了一个lameduck功能,lameduck的效果就是在coredns进程关闭之前延迟对应的时间。假设我们设置了lameduck 10s,那么coredns在接收到退出进程命令的时候会延迟10s的时间再结束进程。

    health [ADDRESS] {
       
        lameduck DURATION
    }
    
    • 1
    • 2
    • 3
    • 4

    需要特别注意的是,假设我们在多个配置块中都使用了lameduck功能,那么时间会叠加。举个例子,假设我们在10个配置块中都设置了lameduck 10s,那么coredns在接收到退出进程命令的时候会延迟10*10=100s的时间再结束进程。

    此外还有一个小问题,在开启health插件之后会导致health插件对应的端口会有较多的TIME_WAIT连接,目前怀疑是插件本身会请求自身端口进行检查导致产生TIME_WAIT连接。

    [root@coredns-10-31-53-1 conf]# netstat -nt | grep 8080 | grep -c TIME_WAIT
    61
    
    • 1
    • 2

    2、ready插件

    ready插件和health插件有些类似,默认情况下定义在8181端口的/ready路径下返回CoreDNS服务器的状态,正常情况下也是返回200的http状态码并附带一个OK的内容。

    [root@coredns-10-31-53-1
    • 相关阅读:
      国庆值得入手的蓝牙耳机哪款好?入耳式蓝牙耳机推荐
      C++数据结构X篇_17_C++实现二叉树的非递归遍历(企业链表实现栈,利用栈的先进后出特点实现二叉树的非递归遍历)
      win或安卓通过内网穿透(frp)远控Mac的配置指南
      正点原子lwIP学习笔记——Socket接口TCP实验
      学生成绩管理系统
      .Linux基础正则表达式字符
      二叉树—相关计算题
      vue3-video-play视频播放组件
      R语言根据分隔符分割字符串:使用strsplit函数基于指定分隔符将字符串进行分割(返回的结果为列表)
      IDEA启动C:\Users\badboy\.jdks\corretto-17.0.7\bin\java.exe -Xmx700m报错
    • 原文地址:https://blog.csdn.net/qq_36885515/article/details/127833790
    • 最新文章
    • 攻防演习之三天拿下官网站群
      数据安全治理学习——前期安全规划和安全管理体系建设
      企业安全 | 企业内一次钓鱼演练准备过程
      内网渗透测试 | Kerberos协议及其部分攻击手法
      0day的产生 | 不懂代码的"代码审计"
      安装scrcpy-client模块av模块异常,环境问题解决方案
      leetcode hot100【LeetCode 279. 完全平方数】java实现
      OpenWrt下安装Mosquitto
      AnatoMask论文汇总
      【AI日记】24.11.01 LangChain、openai api和github copilot
    • 热门文章
    • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
      奉劝各位学弟学妹们,该打造你的技术影响力了!
      五年了,我在 CSDN 的两个一百万。
      Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
      面试官都震惊,你这网络基础可以啊!
      你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
      心情不好的时候,用 Python 画棵樱花树送给自己吧
      通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
      13 万字 C 语言从入门到精通保姆级教程2021 年版
      10行代码集2000张美女图,Python爬虫120例,再上征途
    Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
    正则表达式工具 cron表达式工具 密码生成工具

    京公网安备 11010502049817号