在我的伞Helm图表中,我定义了Redis的依赖关系:
apiVersion: v2
appVersion: "1.0"
description: A Helm chart for Kubernetes
name: my-project
version: 0.1.0
dependencies:
- name: redis
version: ~6.2.x
repository: https://charts.bitnami.com/bitnami在编写本报告时,最新版本为6.2.6 (参见https://bitnami.com/stack/redis/helm)。
但是当我执行helm dependency update my-project时,Helm会下载6.2.0版本,而不是6.2.6版本。当我试图安装我的图表时,它失败了:没有对Redis的依赖的Error: INSTALLATION FAILED: unable to build kubernetes objects from release manifest: [unable to recognize "": no matches for kind "Deployment" in version "extensions/v1beta1", unable to recognize "": no matches for kind "StatefulSet" in version "apps/v1beta2"],我的图表安装得很好。
我还试图指出chart.yaml中的特定Redis版本,但随后helm dependency list返回:
NAME VERSION REPOSITORY STATUS
redis 6.2.6 https://charts.bitnami.com/bitnami wrong version我正在用笔记本电脑在码头桌面上运行Kubernetes。我使用的版本:
当我使用helm install my-release bitnami/redis独立安装Redis时,安装就成功了。
如何将Redis 6.2.6用作图表中的依赖项?
发布于 2021-10-08 19:00:50
K8s版本1.21有最新的部署API
简单参考:https://stackoverflow.com/a/66164857/5525824
当您正在使用旧API的图表时,您可能需要进行一些更改或使用最新的图表进行安装。
最新的部署API版本是:app/v1
可以使用以下方法检查您的K8s群集支持的API
for kind in `kubectl api-resources | tail +2 | awk '{ print $1 }'`; do kubectl explain $kind; done | grep -e "KIND:" -e "VERSION:"输出
KIND: deployment
VERSION: v1
KIND: statefulset
VERSION: v1或使用简单命令:kubectl api-versions
您应该签出这个Bitnami Redis文档:https://artifacthub.io/packages/helm/bitnami/redis
它在几天前进行了更新,只在您的情况下可以处理API的一些小更改。
如果您检查稳定的Redis版本helm图表:https://github.com/helm/charts/blob/master/stable/redis/templates/redis-master-statefulset.yaml
有状态API版本:apiVersion: apps/v1
使用:https://github.com/bitnami/charts/tree/master/bitnami/redis#common-parameters更改Bitnami头盔图表API
此Helm图表的早期版本使用apiVersion: v1 (可由Helm 2和3同时安装),此Helm图被更新为apiVersion: v2 (仅可由Helm 3安装)。在这里,您可以找到有关apiVersion字段的更多信息。对于所有Bitnami,Chart.yaml文件中的不同字段都是按字母顺序排列的。
阅读更多信息,请访问:https://helm.sh/docs/topics/charts/#the-apiversion-field
或:https://github.com/bitnami/charts/tree/master/bitnami/redis#to-1200
你有两个选择
使用最新的稳定API
出错
https://stackoverflow.com/questions/69497900
复制相似问题