官方文档:https://istio.io/zh/docs/setup/kubernetes/install/helm/
一、环境信息
centos7
k8s1.13.3
主机名 | ip | cpu | ram |
master | 192.168.137.10 | 2 | 4G |
node1 | 192.168.137.11 | 2 | 4G |
二、安装helm
1、下载helm二进制文件(https://github.com/helm/helm/releases),这里安装v2.13.0版本
2、将二制文件放入master节点,并解压
tar -zxvf helm-v2.13.0-linux-amd64.tar.gz mv linux-amd64/helm /usr/local/bin/helm
三、安装istio
1、下载istio的chart
mkdir -p /root/istio-install wget https://github.com/istio/istio/releases/download/1.1.1/istio-1.1.1-linux.tar.gz tar -xf istio-1.1.1-linux.tar.gz echo "export PATH=$PATH:/root/istio-install/istio-1.1.1/bin" >> ~/.bashrc source ~/.bashrc istioctl --help
2、为 Istio 组件创建命名空间 istio-system
:
kubectl create namespace istio-system
3、使用 kubectl apply
安装所有的 Istio CRD,命令执行之后,会隔一段时间才能被 Kubernetes API Server 收到:
cd /root/istio-install helm template istio-1.1.1/install/kubernetes/helm/istio-init --name istio-init --namespace istio-system | kubectl apply -f -
4、用下面的命令,来确认 Istio 的 58
个 CRD 都已经成功的提交给 Kubernetes API Server:
kubectl get crds | grep 'istio.io|certmanager.k8s.io' | wc -l
5、渲染和提交 Istio 的核心组件:
(注意:你可以添加一个或多个 --set <key>=<value>
来进一步自定义 helm 命令的 安装选项。)
helm template istio-1.1.1/install/kubernetes/helm/istio-init --name istio-init --namespace istio-system | kubectl apply -f -
poddisruptionbudget.policy/istio-galley created poddisruptionbudget.policy/istio-ingressgateway created poddisruptionbudget.policy/istio-policy created poddisruptionbudget.policy/istio-telemetry created poddisruptionbudget.policy/istio-pilot created configmap/istio-galley-configuration created configmap/prometheus created configmap/istio-security-custom-resources created configmap/istio created configmap/istio-sidecar-injector created serviceaccount/istio-galley-service-account created serviceaccount/istio-ingressgateway-service-account created serviceaccount/istio-mixer-service-account created serviceaccount/istio-pilot-service-account created serviceaccount/prometheus created serviceaccount/istio-cleanup-secrets-service-account created clusterrole.rbac.authorization.k8s.io/istio-cleanup-secrets-istio-system created clusterrolebinding.rbac.authorization.k8s.io/istio-cleanup-secrets-istio-system created job.batch/istio-cleanup-secrets-1.1.1 created serviceaccount/istio-security-post-install-account created clusterrole.rbac.authorization.k8s.io/istio-security-post-install-istio-system created clusterrolebinding.rbac.authorization.k8s.io/istio-security-post-install-role-binding-istio-system created job.batch/istio-security-post-install-1.1.1 created serviceaccount/istio-citadel-service-account created serviceaccount/istio-sidecar-injector-service-account created serviceaccount/istio-multi created clusterrole.rbac.authorization.k8s.io/istio-galley-istio-system created clusterrole.rbac.authorization.k8s.io/istio-ingressgateway-istio-system created clusterrole.rbac.authorization.k8s.io/istio-mixer-istio-system created clusterrole.rbac.authorization.k8s.io/istio-pilot-istio-system created clusterrole.rbac.authorization.k8s.io/prometheus-istio-system created clusterrole.rbac.authorization.k8s.io/istio-citadel-istio-system created clusterrole.rbac.authorization.k8s.io/istio-sidecar-injector-istio-system created clusterrole.rbac.authorization.k8s.io/istio-reader created clusterrolebinding.rbac.authorization.k8s.io/istio-galley-admin-role-binding-istio-system created clusterrolebinding.rbac.authorization.k8s.io/istio-ingressgateway-istio-system created clusterrolebinding.rbac.authorization.k8s.io/istio-mixer-admin-role-binding-istio-system created clusterrolebinding.rbac.authorization.k8s.io/istio-pilot-istio-system created clusterrolebinding.rbac.authorization.k8s.io/prometheus-istio-system created clusterrolebinding.rbac.authorization.k8s.io/istio-citadel-istio-system created clusterrolebinding.rbac.authorization.k8s.io/istio-sidecar-injector-admin-role-binding-istio-system created clusterrolebinding.rbac.authorization.k8s.io/istio-multi created role.rbac.authorization.k8s.io/istio-ingressgateway-sds created rolebinding.rbac.authorization.k8s.io/istio-ingressgateway-sds created service/istio-galley created service/istio-ingressgateway created service/istio-policy created service/istio-telemetry created service/istio-pilot created service/prometheus created service/istio-citadel created service/istio-sidecar-injector created deployment.extensions/istio-galley created deployment.extensions/istio-ingressgateway created deployment.extensions/istio-policy created deployment.extensions/istio-telemetry created deployment.extensions/istio-pilot created deployment.extensions/prometheus created deployment.extensions/istio-citadel created deployment.extensions/istio-sidecar-injector created horizontalpodautoscaler.autoscaling/istio-ingressgateway created horizontalpodautoscaler.autoscaling/istio-policy created horizontalpodautoscaler.autoscaling/istio-telemetry created horizontalpodautoscaler.autoscaling/istio-pilot created mutatingwebhookconfiguration.admissionregistration.k8s.io/istio-sidecar-injector created attributemanifest.config.istio.io/istioproxy created attributemanifest.config.istio.io/kubernetes created metric.config.istio.io/requestcount created metric.config.istio.io/requestduration created metric.config.istio.io/requestsize created metric.config.istio.io/responsesize created metric.config.istio.io/tcpbytesent created metric.config.istio.io/tcpbytereceived created metric.config.istio.io/tcpconnectionsopened created metric.config.istio.io/tcpconnectionsclosed created handler.config.istio.io/prometheus created rule.config.istio.io/promhttp created rule.config.istio.io/promtcp created rule.config.istio.io/promtcpconnectionopen created rule.config.istio.io/promtcpconnectionclosed created handler.config.istio.io/kubernetesenv created rule.config.istio.io/kubeattrgenrulerule created rule.config.istio.io/tcpkubeattrgenrulerule created kubernetes.config.istio.io/attributes created destinationrule.networking.istio.io/istio-policy created destinationrule.networking.istio.io/istio-telemetry created
6、查看
kubectl get po -n istio-system