Openshift-Automation Broker-自定义头盔存储库中图表的自动发现

时间:2019-12-17 10:43:47

标签: kubernetes-helm openshift-origin

我已经使用下面的链接设置了自动化代理,并且能够从“ https://kubernetes-charts.storage.googleapis.com”存储库中查看服务目录上的头盔图表。

https://blog.openshift.com/automation-broker-discovering-helm-charts/

我的要求是建立一个自定义的头盔存储库,我在Nexus中也做了同样的事情。

enter image description here

我能够在安装了舵机的kubernetes集群上从该存储库添加和搜索图表。但是,现在要自动化该过程并在openshift服务目录上查看这些图表,我已经在自动化代理配置中配置了nexus url。但是我看不到nexus存储库的服务目录上有可用的图表。

有人可以帮忙吗?

更新:我也尝试使用openshift ansible服务代理进行相同的操作,并且在调试日志中可以看到已检测到其中两个工件(mysql和redis),但它们并未在服务中更新目录。

1 个答案:

答案 0 :(得分:0)

Ansible Service Broker和自动化代理无法与nexus helm(托管)存储库一起使用,因为在nexus存储库中创建的index.yaml没有Helm图表的绝对URL。

apiVersion: '1.0'
entries:
  my-app:
  - appVersion: 5.0.7
    created: 2019-12-18T13:59:38.027Z
    description: Open source, advanced key-value store. It is often referred to as
      a data structure server since keys can contain strings, hashes, lists, sets
      and sorted sets.
    digest: 8331c7641aa21fc40a160f85f9e8d9cbe61b17258eb13877ff83e0632c1d66aa
    icon: https://bitnami.com/assets/stacks/redis/img/redis-stack-220x234.png
    maintainers:
    - email: containers@bitnami.com
      name: Bitnami
    - email: cedric@desaintmartin.fr
      name: desaintmartin
    name: my-app
    sources:
    - https://github.com/bitnami/bitnami-docker-redis
    urls:
    - my-app-0.1.0.tgz
    version: 0.1.0
generated: 2019-12-18T14:20:43.228Z

网址部分应为完整路径:

urls:
    - https://<ip>:<port>/nexus/repository/helm-release/my-app-0.1.0.tgz

但是openshift中的ansible服务代理正在index.yaml中寻找一个绝对URL,该URL正在该应用的服务目录中使用。

这似乎是服务代理的错误。应该有一个读取相对路径的修复程序,因为URL已在broker config的注册表信息中给出。