简体   繁体   English

为什么 helm chart 不能安装在 Microk8s 上?

[英]Why helm chart cannot be install on Microk8s?

I am using microk8s to run Kubernetes on my Ubuntu server.我正在使用 microk8s 在我的 Ubuntu 服务器上运行 Kubernetes。 I am using the helm v3 as my helm command.我正在使用 helm v3 作为我的 helm 命令。

This is the result of the helm version command:这是helm version命令的结果:

version.BuildInfo{Version:"v3.9.2", GitCommit:"1addefbfe665c350f4daf868a9adc5600cc064fd", GitTreeState:"clean", GoVersion:"go1.17.12"} version.BuildInfo{Version:"v3.9.2", GitCommit:"1addefbfe665c350f4daf868a9adc5600cc064fd", GitTreeState:"clean", GoVersion:"go1.17.12"}

I am trying to run this helm chart on this K8s instance:我正在尝试在此 K8s 实例上运行此掌舵图:

apiVersion: v2
name: myTest
description: The test daemon (test) helm chart
type: application
version: 1.4.0
appVersion: v1.18.0
kubeVersion: ">= 1.19.0"
...

But I am getting this error:但我收到此错误:

INSTALLATION FAILED: chart requires kubeVersion: >= 1.19.0 which is incompatible with Kubernetes v1.19.15-34+c064bb32deff78安装失败:图表需要 kubeVersion:>= 1.19.0,这与 Kubernetes v1.19.15-34+c064bb32deff78 不兼容

I tried different versions of Microk8s as 1.21, 1.24, and 1.19 but there is the same result.我尝试了不同版本的 Microk8s,如 1.21、1.24 和 1.19,但结果相同。

I installed this service on minikube without any problem:(我在 minikube 上安装了这个服务没有任何问题:(

According to the Semantic Versioning specification you have a pre-release version of Kubernetes.根据语义版本控制规范,您拥有 Kubernetes 的预发布版本 (This is possibly an issue in microk8s's release process.) The Helm documentation for the kubeVersion: field states that it depends on the Go github.com/Masterminds/semver package. (这可能是 microk8s 发布过程中的一个问题。) kubeVersion 的 Helm 文档kubeVersion:字段指出它取决于 Go github.com/Masterminds/semver ZEFE90A8E604A7C86F96FZ Its documentation notes: 其文档说明:

SemVer comparisons using constraints without a prerelease comparator will skip prerelease versions.使用没有预发布比较器的约束进行 SemVer 比较将跳过预发布版本。 For example, >=1.2.3 will skip prereleases when looking at a list of releases while >=1.2.3-0 will evaluate and find prereleases.例如, >=1.2.3将在查看发布列表时跳过预发布,而>=1.2.3-0将评估并查找预发布。

So setting in your Chart.yaml that you're willing to tolerate pre-release versions should address this:因此,在您的Chart.yaml中设置您愿意容忍预发布版本应该解决这个问题:

kubeVersion: ">= 1.19.0-0" # adding a -0 on the end

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM