Istio 1.1.3和Kubernetes 1.13.5的安装错误

时间:2019-04-19 20:14:38

标签: kubernetes istio

我试图在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之一的对象时,它就会失败。 我省略了其他错误,但对于“处理程序”,“登录”,“规则”,“度量”,“ kubernetes”,“ DestinationRule”也是如此

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

有人有想法吗?

2 个答案:

答案 0 :(得分:4)

docs中,有一个步骤执行CRD初始化。我看不到您的代码段中的内容,似乎正是您所缺少的。

所以:

$ 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,但您应该安装所有文件。

答案 1 :(得分:0)

不好,看来我已经跳过了第一步:

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