开发者社区> 问答> 正文

请问k8s滚动升级如何监控SpringBoot的健康检查?? 400 报错

请问k8s滚动升级如何监控SpringBoot的健康检查?? 400 报错

是这样的,我现在希望使用到k8s的滚动升级功能,让服务不停机的情况下升级。

但是我发现每次开启新容器的时候,刚刚有启动日志,没有完全启动,k8s就将旧的容器关掉了。这样的话服务还没有注册到consul(或其它注册中心)上面,甚至有些时候会启动出错。

想问一下有没有什么好的办法,能等待服务注册到consul上面再标记该容器为已启动呢?

我的想法是发送curl请求,确认/actuator/health这个endpoint返回的是up,但是不知道怎么实现了,麻烦给点意见。

展开
收起
爱吃鱼的程序员 2020-06-05 13:45:06 965 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    这里是存活检测,我写的是http的,还支持其他类型的。可以百度

            #存活探针
            livenessProbe:
              #get方式
              httpGet:
                #检测链接
                path: {k8sWorkingCheck}
                #端口
                port: 80
                #方式
                scheme: HTTP
              #初始化
              initialDelaySeconds: 60
              #检测间隔
              periodSeconds: 5
              #超时时间
              timeoutSeconds: 5
              #应用错误判定次数
              failureThreshold: 3

    ######好的,多谢指点,我去试试######

    你这问题简单.重点在maxUnavailable

    spec:
      #配置标记k8s1.16必填
      selector:
        matchLabels:
          app: {project}
      #启动应用数量
      replicas: 1
      #从容器启动到应用正常提供服务
      minReadySeconds: 10
      #策略
      strategy:
        #更新类型
        type: RollingUpdate
        #滚动更新
        rollingUpdate:
          #更新时允许最大激增的容器数
          maxSurge: 1
          #更新时允许最大 unavailable 容器数
          maxUnavailable: 0

    2020-06-05 13:45:23
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
ACK 云原生弹性方案—云原生时代的加速器 立即下载
ACK集群类型选择最佳实践 立即下载
企业运维之云原生和Kubernetes 实战 立即下载

相关镜像