Installation error with Istio 1.1.3 and Kubernetes 1.13.5

4/19/2019

I'm trying to install Istio 1.13.1 on Kubernetes 1.13.5 deployed on minikube 1.0.0 but I get some errors in the end. Here is log of the installation:

    $ 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 

That seems strange as the CRDs seem to have been created successfully but then when they are referenced to create some objects whose type is one of these CRDs then it fails. I omitted other errors but that happens also for "handler", "logentry", "rule", "metric", "kubernetes", "DestinationRule" .

On the documentation page https://istio.io/docs/setup/kubernetes/, it is stated that Istio 1.1 has been tested with these Kubernetes releases: 1.11, 1.12, 1.13.

Does anyone have an idea ?

-- lvaills
istio
kubernetes

2 Answers

4/19/2019

My bad, it seems that I have skipped the first step:

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
-- lvaills
Source: StackOverflow

4/19/2019

In the docs there is a step to execute CRDs init. I don't see that in your snippet, seems like that's what you're missing.

So:

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

Your missing CRD seems to be defined in this exact file: https://github.com/istio/istio/blob/master/install/kubernetes/helm/istio-init/files/crd-10.yaml but you should install all of them.

-- Morishiri
Source: StackOverflow