1
votes

I am trying to install istio in a minikube cluster

I followed the tutorial on this page https://istio.io/docs/setup/kubernetes/quick-start/

I am trying to use Option 1 : https://istio.io/docs/setup/kubernetes/quick-start/#option-1-install-istio-without-mutual-tls-authentication-between-sidecars

I can see that the services have been created but the deployment seems to have failed.

kubectl get pods -n istio-system 
No resources found

How can i troubleshoot this ?

Here are the results of get deployment

kubectl get deployment -n istio-system
NAME                     DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
grafana                  1         0         0            0           4m
istio-citadel            1         0         0            0           4m
istio-egressgateway      1         0         0            0           4m
istio-galley             1         0         0            0           4m
istio-ingressgateway     1         0         0            0           4m
istio-pilot              1         0         0            0           4m
istio-policy             1         0         0            0           4m
istio-sidecar-injector   1         0         0            0           4m
istio-telemetry          1         0         0            0           4m
istio-tracing            1         0         0            0           4m
prometheus               1         0         0            0           4m
servicegraph             1         0         0            0           4m
2
How are you starting Minikube?Crou

2 Answers

2
votes

This is what worked for me. Don't use the --extra-configs while starting minikube. This is crashing kube-controller-manager-minikube as its not able to find the file

error starting controllers: failed to start certificate controller: error reading CA cert file "/var/lib/localkube/certs/ca.crt": open /var/lib/localkube/certs/ca.crt: no such file or directory

Just start minikube with this command. I have minikube V0.30.0.

minikube start

Output:

Starting local Kubernetes v1.10.0 cluster...
Starting VM...
Downloading Minikube ISO
 170.78 MB / 170.78 MB [============================================] 100.00% 0s
Getting VM IP address...
Moving files into cluster...
Downloading kubelet v1.10.0
Downloading kubeadm v1.10.0
Finished Downloading kubeadm v1.10.0
Finished Downloading kubelet v1.10.0
Setting up certs...
Connecting to cluster...
Setting up kubeconfig...
Starting cluster components...
Kubectl is now configured to use the cluster.
Loading cached images from config file.

Pointing to istio-1.0.4 folder, run this command

kubectl apply -f install/kubernetes/helm/istio/templates/crds.yaml

This should install all the required crds

Run this command

kubectl apply -f install/kubernetes/istio-demo.yaml

After successful creation of rules, services, deployments etc., Run this command

 kubectl get pods -n istio-system                                                                                                          

NAME                                      READY   STATUS      RESTARTS   AGE
grafana-9cfc9d4c9-h2zn8                   1/1     Running     0          5m
istio-citadel-74df865579-d2pbq            1/1     Running     0          5m
istio-cleanup-secrets-ghlbf               0/1     Completed   0          5m
istio-egressgateway-58df7c4d8-4tg4p       1/1     Running     0          5m
istio-galley-8487989b9b-jbp2d             1/1     Running     0          5m
istio-grafana-post-install-dn6bw          0/1     Completed   0          5m
istio-ingressgateway-6fc88db97f-49z88     1/1     Running     0          5m
istio-pilot-74bb7dcdd-xjgvz               0/2     Pending     0          5m
istio-policy-58878f57fb-t6fqt             2/2     Running     0          5m
istio-security-post-install-vqbzw         0/1     Completed   0          5m
istio-sidecar-injector-5cfcf6dd86-lr8ll   1/1     Running     0          5m
istio-telemetry-bf5558589-8hzcc           2/2     Running     0          5m
istio-tracing-ff94688bb-bwzfs             1/1     Running     0          5m
prometheus-f556886b8-9z6vp                1/1     Running     0          5m
servicegraph-55d57f69f5-fvqbg             1/1     Running     0          5m
0
votes

Also try customizing the installation via Helm template. You don't need to have Tiller deployed for that.

1) kubectl apply -f install/kubernetes/helm/istio/templates/crds.yaml

2) helm template install/kubernetes/helm/istio --name istio --namespace istio-system --set grafana.enabled=true --set servicegraph.enabled=true --set tracing.enabled=true --set kiali.enabled=true --set sidecarInjectorWebhook.enabled=true --set global.tag=1.0.5 > $HOME/istio.yaml

3) kubectl create namespace istio-system

4) kubectl apply -f $HOME/istio.yaml