本文主要是介绍istio 1.1.7 安装,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
控制层面组件
-
Pilot:注册中心,配置中心;负责将调度的配置下发到各svc endpoint后pod中注入的Envoys
-
Mixer:负责流量策略等统一调度,指标收集,对接外部组件(Prometheus,Fluentd,Jaeger)
-
Envroys:将envroys proxy容器,以sidecar的方式注入到svc后端的pod中,与控制层面组件交互。(可以理解为pod网关)动态服务获取,负载平衡,路由,断路器,超时,指标上报。
-
Citadel:安全中心
下载
https://github.com/istio/istio/releases/download/1.1.7/istio-1.1.7-linux.tar.gz
k8s上面安装
## 下载istio安装包wget https://github.com/istio/istio/releases/download/1.1.7/istio-1.1.7-linux.tar.gztar xf istio-1.1.7-linux.tar.gzcd istio-1.1.7/cp bin/istioctl /usr/local/bin/## 为 Istio 组件创建命名空间 istio-system:kubectl create namespace istio-system## 使用 kubectl apply 安装所有的 Istio CRD,命令执行之后,会隔一段时间才能被 Kubernetes API Server 收到helm template install/kubernetes/helm/istio-init --name istio-init --namespace istio-system | kubectl apply -f -## 如下命令以确保全部 53 个 Istio CRD 被提交到 Kubernetes api-server:
如果你启用了 cert-manager,那么 CRD 的数目为58个。kubectl get crds | grep 'istio.io\|certmanager.k8s.io' | wc -l## 部署与你选择的配置文件相对应的 Istio 的核心组件,我们建议在生成环境部署中使用 default 配置文件helm template install/kubernetes/helm/istio \--name istio --namespace istio-system \--set gateways.enabled=true \--set ingress.service.type=NodePort \--set gateways.istio-ingressgateway.enabled=true \--set gateways.istio-ingressgateway.type=NodePort \--set gateways.istio-egressgateway.enabled=true \--set gateways.istio-egressgateway.type=NodePort \--set prometheus.service.nodePort.enabled=true \--set grafana.enabled=true \--set grafana.service.type=NodePort \--set kiali.enabled=true \--set "kiali.dashboard.jaegerURL=http://$(kubectl get svc tracing --namespace istio-system -o jsonpath='{.spec.clusterIP}'):80" \--set "kiali.dashboard.grafanaURL=http://$(kubectl get svc grafana --namespace istio-system -o jsonpath='{.spec.clusterIP}'):3000" \--set tracing.enabled=true \--set servicegraph.enabled=true| kubectl apply -f -
获取网格的状态
你可以通过 proxy-status 命令获取网格的状态:
istioctl proxy-status### 参数解析
SYNCED 表示 Envoy 已经确认了 Pilot 上次发送给它的配置。
SYNCED (100%) 表示 Envoy 已经成功同步了集群中的所有端点。
NOT SENT 表示 Pilot 没有发送任何信息给 Envoy。这通常是因为 Pilot 没有任何数据可以发送。
STALE 表示 Pilot 已向 Envoy 发送更新但尚未收到确认。这通常表明 Envoy 和 Pilot 之间的网络存在问题或 Istio 本身的错误。
这篇关于istio 1.1.7 安装的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!