我已经使用下面的链接设置了自动化代理,并且能够从“ https://kubernetes-charts.storage.googleapis.com”存储库中查看服务目录上的头盔图表。
https://blog.openshift.com/automation-broker-discovering-helm-charts/
我的要求是建立一个自定义的头盔存储库,我在Nexus中也做了同样的事情。
我能够在安装了舵机的kubernetes集群上从该存储库添加和搜索图表。但是,现在要自动化该过程并在openshift服务目录上查看这些图表,我已经在自动化代理配置中配置了nexus url。但是我看不到nexus存储库的服务目录上有可用的图表。
有人可以帮忙吗?
更新:我也尝试使用openshift ansible服务代理进行相同的操作,并且在调试日志中可以看到已检测到其中两个工件(mysql和redis),但它们并未在服务中更新目录。
答案 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的注册表信息中给出。