zoukankan      html  css  js  c++  java
  • Kubernetes等待部署完成

    在CI/CD的时候,我们有时候需要等待部署完成,pod已经正常运行后,再进入容器执行一些命令,例如laravel环境下,我们需要等pod起来后,再执行migrate。

    正确的方式应该是判断status,而不是使用kubectl wait

    kubectl wait --for=condition=available --timeout=600s deployment/myapp -n namespace

    因为这样只能判断deployment是否OK,并不能判断容器是否OK,正确的应该是以下脚本方式

    ATTEMPTS=0
    ROLLOUT_STATUS_CMD="kubectl rollout status deployment/myapp -n namespace"
    until $ROLLOUT_STATUS_CMD || [ $ATTEMPTS -eq 60 ]; do
      $ROLLOUT_STATUS_CMD
      ATTEMPTS=$((attempts + 1))
      sleep 10
    done
  • 相关阅读:
    最大子列和
    喷水装置
    某种排序
    三个水杯
    奇偶数分离
    ASCII码排序(未完)
    1002
    if语句
    6.7
    A+B问题 涉及EOF
  • 原文地址:https://www.cnblogs.com/flyingaway/p/13948388.html
Copyright © 2011-2022 走看看