如何验证 Azure 管道中的 Kubernetes@1 部署是否成功完成?

问题描述 投票:0回答:1

我有一个天蓝色的管道,它使用 Kubernetes@1 任务将映像部署到 kubernetes 集群:

- task: Kubernetes@1
inputs:
  connectionType: 'Kubernetes Service Connection'
  kubernetesServiceEndpoint: ...
  namespace: mynamespace
  command: apply
  arguments: -k kubernetes/
  secretType: 'dockerRegistry'
  containerRegistryType: 'Container Registry'
  dockerRegistryEndpoint: myendpoint...

一切正常,部署成功。

但是如何验证部署是否成功呢?理想情况下,我希望部署等到一切部署成功。

还有另一个post有类似的东西,建议使用

kubectl wait
突击队。

我想我可以做这样的事情来检查豆荚:

kubectl wait --for=condition=ready pod --all --namespace=bad --timeout=10s

再次不确定豆荚是否是最好检查的东西。我也无法检查 pod 名称,因为每次名称都会不同。

我不知道如何将它连接到我的管道上。我尝试在

Kubernetes@1
任务下添加一个脚本任务,但它没有我的 kubernetes 集群的上下文,并尝试连接到
localhost:8080

  - task: Kubernetes@1
           ....
  - script: |
      kubectl wait --for=condition=ready pod --all --namespace=bad --timeout=10s
    displayName: Execute kubectl
    env:
      KUBECONFIG: $(KUBECONFIG)

如何将其添加到我的 azure 管道中或者是否有更好的方法?

kubernetes azure-pipelines kustomize
1个回答
0
投票

但是如何验证部署是否成功呢?理想情况下,我希望等到一切部署成功后再进行部署。

任务

Kubernetes@1
默认会返回部署的状态,如果任务成功,则表示部署成功。

此外,任务还有输出变量,用于存储 kubectl 命令的输出。您可以

echo "$(taskname.KubectlOutput)"
查看详情(样本这里)。

© www.soinside.com 2019 - 2024. All rights reserved.