Я пытаюсь установить istio
в свой кластер DO K8s.
Я создал нулевой ресурс для загрузки istio
и запуска рулевых диаграмм, используя этот пример — https://mohsensy.github.io/sysadmin/2021/04/09/install-istio-with-terraform.html
ТФ выглядит так -
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"
Взгляните на ресурсы API, доступные в вашей среде Kubernetes:
$ kubectl api-resources | grep CustomResourceDefinition
Вы, вероятно, увидите что-то вроде:
customresourcedefinitions crd,crds apiextensions.k8s.io/v1 false CustomResourceDefinition
Обратите внимание на версию API: это aspiextensions.k8s/io/v1
, а не /v1beta1
. Ваш манифест был создан для более старой версии Kubernetes. Изменения заключаются в том, что вы можете просто изменить apiVersion
в манифесте на правильное значение, и оно будет работать.
В порядке! Я понял! Это несоответствие версий!