安装Istio
- 为Tiller配置service account
kubectl create -f install/kubernetes/helm/helm-service-account.yaml
- 使用service account安装Tiller
这里安装的Tiller版本要和helm版本一致,否则版本可能不兼容
#这里直接指定镜像。
helm init --service-account tiller --tiller-image registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.12.1
#如果存在tiller,使用--upgrad更新
#helm init --upgrade --service-account tiller --tiller-image registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.12.1
- 安装Istio
根据需求配置安装,这里配置不安装grafana视图化
helm install install/kubernetes/helm/istio --name istio --namespace istio-system --set grafana.enabled=false
- 根据如下安装选项进行istio的自定义安装
可能出现如下错误
Error: configmaps is forbidden: User “system:serviceaccount:kube-system:default”
cannot list configmaps in the namespace “kube-system”
# 在kube-system命名空间中创建tiller账户
kubectl create serviceaccount --namespace kube-system tiller
# 创建角色并授予cluster-admin权限
kubectl create clusterrolebinding tiller-cluster-rule --clusterrole=cluster-admin --serviceaccount=kube-system:tiller
# 指定账户进行初始化,还要指定tiller镜像
helm init --service-account tiller --tiller-image registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.12.1
# 最后验证一下,是否有报错,执行以下命令没报错则表示成功了
helm ls
kubectl delete -n book -f - <<EOF
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: reviews
spec:
hosts:
- reviews
http:
- route:
- destination:
host: reviews
subset: v2
EOF