kubernetes - 通过 kubectl 任务创建 ConfigMap
问题描述
作为构建管道的一部分,我想创建一个包含文件内容的 ConfigMap,该文件是运行管道的 Git 存储库的一部分。
根据 Kubectl task für Azure Pipelines,这应该是可能的。但我不知道如何应用它。不管我的 YAML 对这个任务看起来如何,结果总是“成功”。即使我输入foo
/bar
作为输入参数。
https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/deploy/kubernetes?view=azure-devops
我问微软是否可能缺少文档或实现本身。我得到的唯一答案是在这里问。他们确实将支持的责任转移到了社区。
这是我的定义:
- 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 都将被删除并使用给定 Excel 文件的内容(以 ExcelTemaplte.xlsx 作为键)重新创建。Manuelly 我可以这样做:
kubectl create configmap data --from-file ExcelTemplate.xlsx
链接的文档提到了这样的用法(我 d:
- 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 集群,但可以使用任何一种。
- 为什么他们使用
apply
文件.yaml
?里面应该有什么? - 为什么他们处理秘密,只是一个组合的例子?没有提到
configMapArguments
在文档中提到(新添加的猜测,之前没有)
但是我可以为每个 ConfigMap 参数提供一个随机值,即使这样任务也成功了。或者作为回报,我可以配置正确的值并且结果是成功的而不做任何事情。
- 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 运行此任务两次,然后使用apply
命令创建 ConfigMap 的专用清单运行一次。或者作为第二种解决方案,只需kubectl
在 bash 脚本中触发删除/创建命令。
解决方案
看来,自上周五以来,有些事情已经解决了。现在以下定义按预期工作:
- 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
推荐阅读
- javascript - 如何使用 React Native 在 Android 设备上打开本机邮件,就像使用 'Linking.openURL()' iOS 完成的一样
- sql - 如果不存在,HSQLDB 将列添加到表中
- excel - 使用条件填充列表框
- csv - 从 csv 加载数据帧,丢弃所有不遵循模式的数据
- r - 使线条图上的线条在背景中透明
- powershell - 如何获取-ADDefaultDomainPasswordPassword 区分名称?
- python - 如何将 gzip 压缩的 .tsv 文件插入 PostgreSQL?
- c# - 构造函数与初始化中的 dbContext
- php - 无法再阅读 Wordpress 网站
- hyperledger-fabric - Hyperledger Fabric CA:致命错误:运行时执行期间出现意外信号