首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过kubectl任务创建ConfigMap

通过kubectl任务创建ConfigMap
EN

Stack Overflow用户
提问于 2020-04-20 07:28:49
回答 1查看 2.1K关注 0票数 0

作为构建管道的一部分,我希望创建一个包含文件内容的ConfigMap,该文件是运行管道的Git存储库的一部分。

根据Kubectl任务für Azure管线,这应该是可能的。但我不知道该怎么应用。不管我的YAML是什么样的这个任务,结果总是‘成功’。甚至我也输入foo / bar作为输入参数。https://learn.microsoft.com/en-us/azure/devops/pipelines/tasks/deploy/kubernetes?view=azure-devops

我问微软,文档或实现本身是否可能缺乏。我得到的唯一答案就是在这里问。他们确实把支持社会的责任转移到了社会上。

这是我的定义:

代码语言:javascript
复制
- task: Kubernetes@1
  displayName: 'Create ConfigMap for /data'
  inputs:
    kubernetesServiceEndpoint: 'cluster-test'
    namespace: 'app-test'
    forceUpdateConfigMap: true
    configMapName: data
    configMapArguments: --from-file $(Build.SourcesDirectory)/data/ExcelTemplate.xlsx

根据文档,我期望在每次运行时,ConfigMap将被删除,并使用给定的ExcelTemaplte.xlsx文件的内容重新编码(ExcelTemaplte.xlsx作为键)。我可以这样做:

kubectl create configmap data --from-file ExcelTemplate.xlsx

链接的文档中提到了这样的用法(I:

代码语言:javascript
复制
    - task: Kubernetes@1
      displayName: configMap with literal values
      inputs:
        azureSubscriptionEndpoint: $(azureSubscriptionEndpoint)
        azureResourceGroup: $(azureResourceGroup)
        kubernetesCluster: $(kubernetesCluster)
        command: apply
        arguments: -f mhc-aks.yaml
        secretType: generic
        secretArguments: --from-literal=contoso=$(contosovalue)
        secretName: mysecretkey4
        configMapName: myconfig
        forceUpdateConfigMap: true
        configMapArguments: --from-literal=myname=contoso

  • 第一部分很清楚,示例使用Azure集群,但是可以使用任何类型的.
  • ,为什么他们在.yaml文件中使用apply?里面应该是什么呢?
  • ,为什么他们要处理秘密,只是一个综合的例子?它不是在文档中提到的mentioned
  • configMapArguments (新添加的猜测,之前没有提到)

但是对于每个ConfigMap参数,我都可以给出一个随机值,任务甚至会成功。或者作为回报,我可以配置正确的值,结果是成功的,什么都不做。

代码语言:javascript
复制
- task: Kubernetes@1
  displayName: 'Create ConfigMap for /data'
  inputs:
    kubernetesServiceEndpoint: 'cluster-test'
    namespace: foobar # does not exist
    forceUpdateConfigMap: true
    configMapName: data
    configMapArguments: 'today is sunny'

有人已经使用这个任务来创建ConfigMap了吗?还是成功地尝试了这个任务?

要知道,我必须运行此任务两次,一次使用delete,另一次使用专用清单来创建ConfigMap,使用apply命令。或者作为第二种解决方案,只需在bash脚本中触发用于删除/创建的kubectl命令。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-20 07:59:33

看来,从上星期五起,就有什么事情已经解决了。现在,以下定义如预期的那样起作用:

代码语言:javascript
复制
- task: Kubernetes@1
  displayName: 'Create ConfigMap for /data'
  inputs:
    kubernetesServiceEndpoint: 'cluster-test'
    namespace: 'app-test'
    forceUpdateConfigMap: true
    configMapName: data
    configMapArguments: --from-file $(Build.SourcesDirectory)/data/ExcelTemplate.xlsx
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61317167

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档