如果azuredevops中的部署失败,则自动推出kubernes部署

AzureDevops中有一个发布管道,可以将微服务部署到AKS,并在部署微服务后发送日志。 我们正在使用以下命令来部署带有模板kubectl的部署,并将命令作为“ -f /home/admin/builds/$(build.buildnumber)/Myservice_Deployment.yml --record”

在这里,我们注意到任务不是在等待现有吊舱终止并建立新吊舱,而是继续并只是完成工作。

我们的预期情况

1)使用kubectl apply -f /home/admin/builds/$(build.buildnumber)/Myservice_Deployment.yml --record

部署微服务

2)等待现有的pod终止并确保新pod处于运行状态。

3)一旦新pod处于运行状态,就通过kubectl log命令收集pod的日志并发送给团队

4)如果吊舱未处于运行状态,请回滚到以前的稳定状态。

我尝试使用不同的shell脚本在azuredevops中实现此目标,但没有成功

例如:


ATTEMPTS=0
ROLLOUT_STATUS_CMD="kubectl --kubeconfig /home/admin/kubernetes/Dev-kubeconfig rollout status deployment/My-service"
until $ROLLOUT_STATUS_CMD || [ $ATTEMPTS -eq 60 ]; do
  $ROLLOUT_STATUS_CMD
  ATTEMPTS=$((attempts + 1))
  sleep 10
done

还需要使用kubectl log命令获取微服务的日志,并且文件的格式应为Date,并且需要通过邮件共享。

shikabulu 回答:如果azuredevops中的部署失败,则自动推出kubernes部署

您将几个问题混在一个问题中,但是您需要使用活动探针配置部署,以实现所需的行为

阅读:https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#define-a-liveness-command

本文链接:https://www.f2er.com/3124022.html

大家都在问