Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kubernetes 从Azure DevOps部署到AKS时如何传入环境变量_Kubernetes_Azure Devops_Azure Aks - Fatal编程技术网

Kubernetes 从Azure DevOps部署到AKS时如何传入环境变量

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

我想部署一个自定义SQL Server映像,它需要使用以下管道定义向AKS传递4个环境变量:

  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中嵌入变量,则无法将同一映像部署到不同的环境。