使用Azure devops将容器部署到AKS(Azure Kubernetes Services)后,我想运行Powershell或批处理脚本。
我的Web api(容器化)到AKS的部署正在工作。但是,我想在部署后在容器内运行脚本。
是否可以在devops管道中添加任务?还是有另一种方法可以做到这一点。
接下来的问题,我想在容器内运行shell的原因是为了执行此命令dotnet ef update database
以运行迁移。但是它需要在容器内部安装EF Core迁移。不确定这是否是最佳方法,因为在应用程序启动中运行迁移将起作用。有没有一种方法可以通过外壳运行迁移而无需安装任何东西?
答案 0 :(得分:2)
要在正在运行的Pod中运行命令,您可以将kubectl客户端二进制文件与exec命令一起使用
在天蓝色devops内,该线程将向您展示两种方式
https://github.com/microsoft/azure-pipelines-tasks/issues/9365
一个人在kubernetes命令“ login”中使用bash任务
如果您未启用“天蓝色添加”集成,这将起作用。
另一种方法是使用azure CLI任务
这样,您可以使用get-credentials检索群集凭据。然后安装CLI(kubectl),您应该已全部设置为运行kubectl exec。