Istio CRD 安装失败
Istio CRD failed to install
我正在尝试在我的 DO K8s 集群中安装 istio
。
我创建了一个空资源来下载 istio
和 运行 使用此示例的 helm 图表 - https://mohsensy.github.io/sysadmin/2021/04/09/install-istio-with-terraform.html
TF 看起来像 -
resource "kubernetes_namespace" "istio_system" {
metadata {
name = "istio-system"
}
}
resource "null_resource" "istio" {
provisioner "local-exec" {
command = <<EOF
set -xe
cd ${path.root}
rm -rf ./istio-1.9.2 || true
curl -sL https://istio.io/downloadIstio | ISTIO_VERSION=1.9.2 sh -
rm -rf ./istio || true
mv ./istio-1.9.2 istio
EOF
}
triggers = {
build_number = timestamp()
}
}
resource "helm_release" "istio_base" {
name = "istio-base"
chart = "istio/manifests/charts/base"
timeout = 120
cleanup_on_fail = true
force_update = true
namespace = "istio-system"
depends_on = [
digitalocean_kubernetes_cluster.k8s_cluster,
kubernetes_namespace.istio_system,
null_resource.istio
]
}
我可以看到 istio
图表与 CRD 一起下载。
│ Error: failed to install CRD crds/crd-all.gen.yaml: unable to recognize "": no matches for kind "CustomResourceDefinition" in version "apiextensions.k8s.io/v1beta1"
│
│ with helm_release.istio_base,
│ on istio.tf line 32, in resource "helm_release" "istio_base":
│ 32: resource "helm_release" "istio_base" {
我需要帮助来理解 unable to recognize ""
在这里讲述的内容!
我正在寻找带有一些解释的解决方案。
错误正在尝试帮助您:
unable to recognize "": no matches for kind "CustomResourceDefinition" in version "apiextensions.k8s.io/v1beta1"
查看您的 Kubernetes 环境中可用的 API 资源:
$ kubectl api-resources | grep CustomResourceDefinition
您可能会看到如下内容:
customresourcedefinitions crd,crds apiextensions.k8s.io/v1 false CustomResourceDefinition
请注意那里的 API 版本:它是 aspiextensions.k8s/io/v1
,而不是 /v1beta1
。您的清单是为旧版本的 Kubernetes 构建的。更改是您只需将清单中的 apiVersion
更改为正确的值即可。
我正在尝试在我的 DO K8s 集群中安装 istio
。
我创建了一个空资源来下载 istio
和 运行 使用此示例的 helm 图表 - https://mohsensy.github.io/sysadmin/2021/04/09/install-istio-with-terraform.html
TF 看起来像 -
resource "kubernetes_namespace" "istio_system" {
metadata {
name = "istio-system"
}
}
resource "null_resource" "istio" {
provisioner "local-exec" {
command = <<EOF
set -xe
cd ${path.root}
rm -rf ./istio-1.9.2 || true
curl -sL https://istio.io/downloadIstio | ISTIO_VERSION=1.9.2 sh -
rm -rf ./istio || true
mv ./istio-1.9.2 istio
EOF
}
triggers = {
build_number = timestamp()
}
}
resource "helm_release" "istio_base" {
name = "istio-base"
chart = "istio/manifests/charts/base"
timeout = 120
cleanup_on_fail = true
force_update = true
namespace = "istio-system"
depends_on = [
digitalocean_kubernetes_cluster.k8s_cluster,
kubernetes_namespace.istio_system,
null_resource.istio
]
}
我可以看到 istio
图表与 CRD 一起下载。
│ Error: failed to install CRD crds/crd-all.gen.yaml: unable to recognize "": no matches for kind "CustomResourceDefinition" in version "apiextensions.k8s.io/v1beta1"
│
│ with helm_release.istio_base,
│ on istio.tf line 32, in resource "helm_release" "istio_base":
│ 32: resource "helm_release" "istio_base" {
我需要帮助来理解 unable to recognize ""
在这里讲述的内容!
我正在寻找带有一些解释的解决方案。
错误正在尝试帮助您:
unable to recognize "": no matches for kind "CustomResourceDefinition" in version "apiextensions.k8s.io/v1beta1"
查看您的 Kubernetes 环境中可用的 API 资源:
$ kubectl api-resources | grep CustomResourceDefinition
您可能会看到如下内容:
customresourcedefinitions crd,crds apiextensions.k8s.io/v1 false CustomResourceDefinition
请注意那里的 API 版本:它是 aspiextensions.k8s/io/v1
,而不是 /v1beta1
。您的清单是为旧版本的 Kubernetes 构建的。更改是您只需将清单中的 apiVersion
更改为正确的值即可。