首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安装失败,图表依赖于Redis

安装失败,图表依赖于Redis
EN

Stack Overflow用户
提问于 2021-10-08 14:57:36
回答 1查看 1.1K关注 0票数 1

在我的伞Helm图表中,我定义了Redis的依赖关系:

代码语言:javascript
复制
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返回:

代码语言:javascript
复制
NAME    VERSION REPOSITORY                              STATUS
redis   6.2.6   https://charts.bitnami.com/bitnami      wrong version

我正在用笔记本电脑在码头桌面上运行Kubernetes。我使用的版本:

  • Helm版本: 3.7.0-rc.2
  • K8s服务器: 1.21.2
  • K8s client: 1.21.4

当我使用helm install my-release bitnami/redis独立安装Redis时,安装就成功了。

如何将Redis 6.2.6用作图表中的依赖项?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-08 19:00:50

K8s版本1.21有最新的部署API

简单参考:https://stackoverflow.com/a/66164857/5525824

当您正在使用旧API的图表时,您可能需要进行一些更改或使用最新的图表进行安装。

最新的部署API版本是:app/v1

可以使用以下方法检查您的K8s群集支持的API

代码语言:javascript
复制
for kind in `kubectl api-resources | tail +2 | awk '{ print $1 }'`; do kubectl explain $kind; done | grep -e "KIND:" -e "VERSION:"

输出

代码语言:javascript
复制
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

您可以在:https://github.com/bitnami/charts/blob/9f9d8aa887608e39aaab4ca1a80677605825b888/bitnami/redis/templates/master/statefulset.yaml#L2上更改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

  • Downgrade ( K8s集群)编辑舵图,将其编辑为1.161.18,然后使用旧的redis图表,这会导致1.21

出错

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69497900

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档