Docker 使用ansible的舵扩展覆盖values.yml

Docker 使用ansible的舵扩展覆盖values.yml,docker,ansible,ibm-connections,kubernetes-helm,Docker,Ansible,Ibm Connections,Kubernetes Helm,我想创建一个剧本,用于安装IBM ZIP archive提供的外部掌舵图。我们需要用自定义值(例如主机到docker注册表)覆盖values.yml中的一些值 来自IBMs values.yml的示例 image: pullPolicy: IfNotPresent repository: artifactory.swg.usma.ibm.com:6562 由于IBM设置了非公开回购,因此我将图像(从IBMs发行版下载)上载到我的自定义注册表registry.example.com,并希

我想创建一个剧本,用于安装IBM ZIP archive提供的外部掌舵图。我们需要用自定义值(例如主机到docker注册表)覆盖values.yml中的一些值

来自IBMs values.yml的示例

image:
  pullPolicy: IfNotPresent
  repository: artifactory.swg.usma.ibm.com:6562
由于IBM设置了非公开回购,因此我将图像(从IBMs发行版下载)上载到我的自定义注册表
registry.example.com
,并希望在我的playbook中进行设置:

- name: CNX Bootstrap
  helm:
    # Port forwarding from tiller to localhost
    host: localhost
    state: present
    name: bootstrap-test
    namespace: "{{namespace}}"
    chart: 
      name: bootstrap
      source:
        type: directory
        location: /install/component-pack/IC-ComponentPack-6.0.0.7/microservices_connections/hybridcloud/helmbuilds/bootstrap
    values: 
      image.repository: "registry.example.com"
这不起作用,吊舱日志说:

未能提取映像“artifactory.swg.usma.ibm.com:6562/bootstrap:20190204-022029”:rpc错误:代码=未知描述=获取:服务不可用

因此,它仍然使用错误的注册表,我的自定义
值似乎被忽略。使用
helm
cli,我可以使用
--如下设置
开关进行覆盖:

helm install --name=bootstrap /install/component-pack/IC-ComponentPack-6.0.0.7/microservices_connections/hybridcloud/helmbuilds/bootstrap-0.1.0-20190204-022029.tgz --set image.repository=registry.example.com
如何像Ansible中的
--set
开关那样覆盖图表的值?
没有提供任何信息。我只使用了这些信息。但我找不到覆盖默认值的方法。

当PyHelm从Ansible图表定义中获得传递的值时,它将作为字典传递,并将其转换为yaml.Tiller(Helm的服务器端组件)希望yaml传递的值保持嵌套。因此,您需要将它们作为嵌套字典存储在Ansible定义中

在您的情况下,它看起来像:

- name: CNX Bootstrap
  helm:
    # Port forwarding from tiller to localhost
    host: localhost
    state: present
    name: bootstrap-test
    namespace: "{{namespace}}"
    chart: 
      name: bootstrap
      source:
        type: directory
        location: /install/component-pack/IC-ComponentPack-6.0.0.7/microservices_connections/hybridcloud/helmbuilds/bootstrap
    values: 
      image:
        repository: "registry.example.com"