Kubernetes 从Azure DevOps部署到AKS时如何传入环境变量
我想部署一个自定义SQL Server映像,它需要使用以下管道定义向AKS传递4个环境变量:Kubernetes 从Azure DevOps部署到AKS时如何传入环境变量,kubernetes,azure-devops,azure-aks,Kubernetes,Azure Devops,Azure Aks,我想部署一个自定义SQL Server映像,它需要使用以下管道定义向AKS传递4个环境变量: jobs: - deployment: Deploy condition: and(succeeded(), not(startsWith(variables['Build.SourceBranch'], 'refs/pull/'))) displayName: Deploy pool: vmImage: $(vmImageName) environm
jobs:
- deployment: Deploy
condition: and(succeeded(), not(startsWith(variables['Build.SourceBranch'], 'refs/pull/')))
displayName: Deploy
pool:
vmImage: $(vmImageName)
environment: 'xxxx.default'
strategy:
runOnce:
deploy:
steps:
- task: KubernetesManifest@0
displayName: Create imagePullSecret
inputs:
action: createSecret
namespace: $(k8sNamespace)
secretName: $(imagePullSecret)
dockerRegistryEndpoint: $(dockerRegistryServiceConnection)
- task: KubernetesManifest@0
displayName: Deploy to Kubernetes cluster
inputs:
action: deploy
namespace: $(k8sNamespace)
manifests: |
$(Pipeline.Workspace)/manifests/deployment.yml
$(Pipeline.Workspace)/manifests/service.yml
imagePullSecrets: |
$(imagePullSecret)
containers: |
$(containerRegistry)/$(imageRepository):$(tag)
清单文件在这个实例中是由Azure DevOps创建的,因此,如果我想为这个容器注入SA_密码/inistial用户配置,我该怎么做?
kubernetes清单部署操作没有添加额外环境变量的选项。请随时打开功能请求,网址为
- 您可以做两个选择,使用yq()编写一个脚本,在部署之前更新清单文件
- 或者使用KubernetesManifest补丁选项(),例如
步骤:
-任务:KubernetesManifest@0
显示名称:补丁
投入:
行动:补丁
种类:豆荚
名称:demo-5fbc4d6cd9-pgxn4
合并战略:战略
修补程序:{“规范”:{“模板”:{“规范”:{“容器”:[{“环境”:[{“名称”:“SAU密码”,“值”:“1234”}]}'
kubernetesServiceConnection:someK8sSC
名称空间:默认值
kubernetes清单部署操作没有添加额外环境变量的选项。请随时打开功能请求,网址为
- 您可以做两个选择,使用yq()编写一个脚本,在部署之前更新清单文件
- 或者使用KubernetesManifest补丁选项(),例如
步骤:
-任务:KubernetesManifest@0
显示名称:补丁
投入:
行动:补丁
种类:豆荚
名称:demo-5fbc4d6cd9-pgxn4
合并战略:战略
修补程序:{“规范”:{“模板”:{“规范”:{“容器”:[{“环境”:[{“名称”:“SAU密码”,“值”:“1234”}]}'
kubernetesServiceConnection:someK8sSC
名称空间:默认值
我对Tummala comment的贡献是,如果您可以控制docker映像的构建方式,我建议从中添加env变量。因此,如果在开发分支上提交时触发了docker构建,则可以将该env传递给该docker映像
我有一篇专门的帖子讨论Azure DevOps中的CI/CD,以防您感兴趣:。我对Tummala评论的贡献是,如果您可以控制docker映像的构建方式,我建议从中添加env变量。因此,如果在开发分支上提交时触发了docker构建,则可以将该env传递给该docker映像
我有一篇专门的帖子讨论Azure DevOps中的CI/CD,以防您感兴趣:。不确定要将这些变量传递到哪里。你能详细说明一下吗?这是个好问题。我也想知道。Azure DevOps正在生成清单。在tehre中,通常指定这些变量。然而,我没有找到一种方法在这里注入这些变量。不确定要将这些变量传递到哪里。你能详细说明一下吗?这是个好问题。我也想知道。Azure DevOps正在生成清单。在tehre中,通常指定这些变量。但是,我看不到在这里注入这些变量的方法。如果在docker中嵌入变量,则无法将同一映像部署到不同的环境。如果在docker中嵌入变量,则无法将同一映像部署到不同的环境。