helm install istio

helm install istio

helm install istio

helm install istio

先决条件

1. 已知安装mac下面的docker-desktop
2. kubernetes环境已部署完成
3. Helm已经安装完成
4. 保证网络正常GFW
5. 参考资料([Istio / Traffic Management](https://istio.io/docs/concepts/traffic-management/))

使用helm install

1. Create a namespace for the istio-system components:
➜  kubectl version
Client Version: version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.0", GitCommit:"e8462b5b5dc2584fdcd18e6bcfe9f1e4d970a529", GitTreeState:"clean", BuildDate:"2019-06-19T16:40:16Z", GoVersion:"go1.12.5", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"14", GitVersion:"v1.14.8", GitCommit:"211047e9a1922595eaa3a1127ed365e9299a6c23", GitTreeState:"clean", BuildDate:"2019-10-15T12:02:12Z", GoVersion:"go1.12.10", Compiler:"gc", Platform:"linux/amd64"}
➜  
➜  kubectl create namespace istio-system
namespace/istio-system created
➜  
2. Install all the Istio  [Custom Resource Definitions](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/#customresourcedefinitions)  (CRDs) using kubectl apply:
➜  code git clone https://github.com/istio/istio.git
➜  istio git:(master) helm template install/kubernetes/helm/istio-init --name istio-init --namespace istio-system | kubectl apply -f -
configmap/istio-crd-all created
configmap/istio-crd-mixer created
serviceaccount/istio-init-service-account created
clusterrole.rbac.authorization.k8s.io/istio-init-istio-system created
clusterrolebinding.rbac.authorization.k8s.io/istio-init-admin-role-binding-istio-system created
job.batch/istio-init-crd-all-latest created
job.batch/istio-init-crd-mixer-latest created
➜  istio git:(master)
3. Wait for all Istio CRDs to be created:
➜  istio git:(master) kubectl -n istio-system wait --for=condition=complete job --all
job.batch/istio-init-crd-all-latest condition met
job.batch/istio-init-crd-mixer-latest condition met
➜  istio git:(master)
4. Select a  [configuration profile](https://istio.io/docs/setup/additional-setup/config-profiles/)  and then render and apply Istio’s core components corresponding to your chosen profile. The default profile is recommended for production deployments:
➜  helm template install/kubernetes/helm/istio --name istio —namespace istio-system | kubectl apply -f -

验证

1. 查看istio的svc
	➜  istio git:(master) kubectl get svc -n istio-system
2. 确保已部署相应的Kubernetes Pod并具有运行状态
➜  istio git:(master) kubectl get pods -n istio-system
3. 查看istioctl版本
➜  helm git:(master) istioctl version
client version: 1.4.0
control plane version: 1.5-alpha.000c23bb9b33d42dc8636953c01e0b3042aaaa21
➜  helm git:(master)

See also