【问题标题】:Installation error with Istio 1.1.3 and Kubernetes 1.13.5Istio 1.1.3 和 Kubernetes 1.13.5 的安装错误
【发布时间】:2019-04-20 04:57:55
【问题描述】:

我正在尝试在 minikube 1.0.0 上部署的 Kubernetes 1.13.5 上安装 Istio 1.13.1,但最后我遇到了一些错误。这是安装日志:

    $ minikube start --memory=4096 --disk-size=30g --kubernetes-version=v1.13.5 --profile=istio
    ????  minikube v1.0.0 on darwin (amd64)
    ????  Downloading Kubernetes v1.13.5 images in the background ...
    ????  Creating virtualbox VM (CPUs=2, Memory=4096MB, Disk=30000MB) ...
    2019/04/19 19:51:56 No matching credentials were found, falling back on anonymous
    2019/04/19 19:51:56 No matching credentials were found, falling back on anonymous
    2019/04/19 19:51:56 No matching credentials were found, falling back on anonymous
    2019/04/19 19:51:56 No matching credentials were found, falling back on anonymous
    ????  "istio" IP address is 192.168.99.104
    ????  Configuring Docker as the container runtime ...
    ????  Version of container runtime is 18.06.2-ce
    ⌛  Waiting for image downloads to complete ...
    ✨  Preparing Kubernetes environment ...
    ????  Downloading kubeadm v1.13.5
    ????  Downloading kubelet v1.13.5
    ????  Pulling images required by Kubernetes v1.13.5 ...
    ????  Launching Kubernetes v1.13.5 using kubeadm ...
    ⌛  Waiting for pods: apiserver proxy etcd scheduler controller dns
    ????  Configuring cluster permissions ...
    ????  Verifying component health .....
    ????  kubectl is now configured to use "istio"
    ????  Done! Thank you for using minikube!

    $ ./bin/istioctl version
    version.BuildInfo{Version:"1.1.3", GitRevision:"d19179769183541c5db473ae8d062ca899abb3be", User:"root", Host:"fbd493e1-5d72-11e9-b00d-0a580a2c0205", GolangVersion:"go1.10.4", DockerHub:"docker.io/istio", BuildStatus:"Clean", GitTag:"1.1.2-56-gd191797"}
    $ kubectl create -f install/kubernetes/istio-demo.yaml
    namespace/istio-system created
    customresourcedefinition.apiextensions.k8s.io/virtualservices.networking.istio.io created
    customresourcedefinition.apiextensions.k8s.io/destinationrules.networking.istio.io created
    customresourcedefinition.apiextensions.k8s.io/serviceentries.networking.istio.io created
    customresourcedefinition.apiextensions.k8s.io/gateways.networking.istio.io created
    customresourcedefinition.apiextensions.k8s.io/envoyfilters.networking.istio.io created
    customresourcedefinition.apiextensions.k8s.io/clusterrbacconfigs.rbac.istio.io created
    customresourcedefinition.apiextensions.k8s.io/policies.authentication.istio.io created
    customresourcedefinition.apiextensions.k8s.io/meshpolicies.authentication.istio.io created
    customresourcedefinition.apiextensions.k8s.io/httpapispecbindings.config.istio.io created
    customresourcedefinition.apiextensions.k8s.io/httpapispecs.config.istio.io created
    customresourcedefinition.apiextensions.k8s.io/quotaspecbindings.config.istio.io created
    customresourcedefinition.apiextensions.k8s.io/quotaspecs.config.istio.io created
    customresourcedefinition.apiextensions.k8s.io/rules.config.istio.io created
    customresourcedefinition.apiextensions.k8s.io/attributemanifests.config.istio.io created
    ...
    unable to recognize "install/kubernetes/istio-demo.yaml": no matches for kind "attributemanifest" in version "config.istio.io/v1alpha2"
    unable to recognize "install/kubernetes/istio-demo.yaml": no matches for kind "attributemanifest" in version 

这似乎很奇怪,因为 CRD 似乎已成功创建,但是当它们被引用以创建一些类型为这些 CRD 之一的对象时,它就会失败。 我省略了其他错误,但“handler”、“logentry”、“rule”、“metric”、“kubernetes”、“DestinationRule”也会发生这种情况 .

在文档页面https://istio.io/docs/setup/kubernetes/ 上,指出 Istio 1.1 已通过以下 Kubernetes 版本进行测试:1.11、1.12、1.13。

有人有想法吗?

【问题讨论】:

    标签: kubernetes istio


    【解决方案1】:

    docs 中有一个步骤来执行 CRDs init。我在您的 sn-p 中没有看到这一点,似乎这就是您所缺少的。

    所以:

    $ for i in install/kubernetes/helm/istio-init/files/crd*yaml; do kubectl apply -f $i; done
    

    您缺少的 CRD 似乎在这个确切的文件中定义:https://github.com/istio/istio/blob/master/install/kubernetes/helm/istio-init/files/crd-10.yaml 但您应该安装所有这些。

    【讨论】:

    • 是的,就是这样。我不知道为什么我跳过了这一步。谢谢。
    【解决方案2】:

    我的不好,好像跳过了第一步:

    Install all the Istio Custom Resource Definitions (CRDs) using kubectl apply, and wait a few seconds for the CRDs to be committed in the Kubernetes API-server:
    
      $ for i in install/kubernetes/helm/istio-init/files/crd*yaml; do kubectl apply -f $i; done
    

    【讨论】:

      猜你喜欢
      • 2021-01-27
      • 2019-04-13
      • 2020-09-23
      • 1970-01-01
      • 2019-07-25
      • 2015-11-15
      • 1970-01-01
      • 2021-07-09
      • 1970-01-01
      相关资源
      最近更新 更多