0

我正在使用 Azure DevOps(管道 -> 管道)来创建我的 CD 管道以发布到生产环境。我了解使用 Pipelines 版本(Pipelines -> Releases)我可以选择并重新部署以前的版本。我想知道是否可以在我的 Azure 管道中使用kubectl任务rollout undo 命令来执行此操作,以及我该如何去做。如果您以前遇到过这种情况,如果您能分享您的知识,我将不胜感激。

以下是我kubectl在 Azure 管道中的任务代码:

           - task: Kubernetes@1
            inputs:
              connectionType: 'Azure Resource Manager'
              azureSubscriptionEndpoint: 'Azure subscription 1(xxxxxxx-xxx-xxxxx-xxxxxxx)'
              azureResourceGroup: 'rg'
              kubernetesCluster: 'kc'
              command: 'apply'
              useConfigurationFile: true
              configuration: '$(Pipeline.Workspace)/manifests/'
              secretType: 'dockerRegistry'
              containerRegistryType: 'Azure Container Registry'

          - task: Kubernetes@1
            name: rollout_status
            inputs:
              connectionType: 'Azure Resource Manager'
              azureSubscriptionEndpoint: 'Azure subscription 1(xxxxxxx-xxx-xxxxx-xxxxxxx)'
              azureResourceGroup: 'rg'
              kubernetesCluster: 'kc'
              command: 'rollout'
              arguments: 'status deployment/deployment-name'
              secretType: 'dockerRegistry'
              containerRegistryType: 'Azure Container Registry'
          
          - task: Kubernetes@1
            name: rollout_undo
            condition: failed()
            inputs:
              connectionType: 'Azure Resource Manager'
              azureSubscriptionEndpoint: 'Azure subscription 1(xxxxxxx-xxx-xxxxx-xxxxxxx)'
              azureResourceGroup: 'rg'
              kubernetesCluster: 'kc'
              command: 'rollout'
              arguments: 'undo deployment/deployment-name'
              secretType: 'dockerRegistry'
              containerRegistryType: 'Azure Container Registry'
4

1 回答 1

0

rollout_status从 Yaml 示例中,如果步骤失败,它应该能够回滚。

要回滚到某个版本,您可以尝试使用以下命令:

kubectl rollout undo deployment/deployment-name --to-revision=2

请参考这个博客

默认情况下,Kubernetes 存储最后 10 个 ReplicaSet,并允许您回滚到其中的任何一个。

因此,您可以将参数 (--to-revision=x) 添加到参数中以指定版本。

于 2020-10-13T05:18:41.683 回答