Istio を久々にインストールしたら、Deploying Istio on Azure Container Serviceの方法ではうまくいかなくなっていた。
原因は、helm Char のセマンテックバージョニングで、Helm 2.8 がリリースされたら改善されそう。
$ helm search incubator/istio -l
NAME VERSION DESCRIPTION
incubator/istio 0.2.8-chart2 Istio Helm chart for Kubernetes
incubator/istio 0.2.7-chart7 Istio Helm chart for Kubernetes
incubator/istio 0.2.7-chart6 Istio Helm chart for Kubernetes
incubator/istio 0.2.7-chart5 Istio Helm chart for Kubernetes
incubator/istio 0.2.7-chart4 Istio Helm chart for Kubernetes
incubator/istio 0.2.7-chart3 Istio Helm chart for Kubernetes
incubator/istio 0.2.7-chart2 Istio Helm chart for Kubernetes
incubator/istio 0.2.7-chart1 Istio Helm chart for Kubernetes
incubator/istio 0.2.6-chart1 Istio Helm chart for Kubernetes
incubator/istio 0.1.6-chart6 Istio Helm chart for Kubernetes
incubator/istio 0.1.6-chart5 Istio Helm chart for Kubernetes
incubator/istio 0.1.6-chart4 Istio Helm chart for Kubernetes
incubator/istio 0.1.6-chart3 Istio Helm chart for Kubernetes
incubator/istio 0.1.6-chart2 Istio Helm chart for Kubernetes
incubator/istio 0.1.6-chart1 Istio Helm chart for Kubernetes
具体的には、helm のところで、次のエラーがでる。
Error: file "incubator/istio" not found
現在は、Helm 2.7 だから、もうちょっと待たないといけない。じゃあどうするか?というと、久々に、istioctl をインストールしてみると、ディレクトリに色々インストールされていることに気づいた。下記のコマンドを実行すると、istoctl がインストールされるが、それ以外にもサンプルとかyaml とかがインストールされている。だから、ここの配下の、bin ディレクトリに istioctl が落とされて、そこにパスを通せばクライアントはOK.
curl -L https://git.io/getLatestIstio | sh -
中身はこんな感じになっている。
$ ls
CONTRIBUTING.md README.md install samples
LICENSE bin istio.VERSION
この、samples の中にはおなじみのサンプル。そして、install の下に色々yaml が入っている。
$ ls
README.md istio-one-namespace-auth.yaml
addons istio-one-namespace.yaml
istio-auth.yaml istio.yaml
istio-initializer.yaml mesh-expansion.yaml
ここで、istio.yaml
を実行すれば良い。知らない間に色々できているからまた触らないとなー。
kubectl apply -f install/kubernetes/istio.yaml
インストールされたかは、下記のコマンドで確認。具体的には、istio-ingress がしっかりポートまでできいればOK.
$ kubectl get svc -n istio-system
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
istio-egress ClusterIP 10.0.188.180 <none> 80/TCP 1h
istio-ingress LoadBalancer 10.0.214.224 40.71.213.252 80:31249/TCP,443:32766/TCP 1h
istio-mixer ClusterIP 10.0.128.87 <none> 9091/TCP,9093/TCP,9094/TCP,9102/TCP,9125/UDP,42422/TCP 1h
istio-pilot ClusterIP 10.0.119.190 <none> 8080/TCP,443/TCP 1h
他に、Kubernetes のダッシュボードでどんなものが動いているか見れば理解が深まると思います。
az aks browse -n YOUR_CLUSTER_NAME -g YOUR_RESOURCE_GROUP_NAME