istio学习笔记-安装

Istioldie 1.18 / 安装指南

基于Kubernetes的Istio的微服务架构需要安装以下组件:

  1. Istio控制平面组件:包括Istio-Pilot、Istio-Policy、Istio-Telemetry等。这些组件负责微服务的管理和配置,如流量管理、策略执行、遥测数据收集等。
  2. 数据平面组件:主要是Envoy代理,它被部署为Sidecar容器与每个微服务一同运行。Envoy负责微服务之间的网络通信,实现负载均衡、服务发现、故障恢复等功能。
  3. 可选的增值组件:如Jaeger用于调用链追踪,Kiali用于服务网格的可视化观察,Prometheus和Grafana用于监控和度量数据收集和展示。这些组件能够增强Istio的观测性,帮助开发者更好地理解和管理微服务网格。

应用程序要求

参考:Istioldie 1.18 / 应用程序要求

在部署启用 Istio 的应用程序时,需要特别注意 Istio Sidecar 模型造成的影响。

Pod 要求

作为 Istio 服务网格中的一部分,Kubernetes 集群中的 Pod 和 Service 必须满足以下要求:

  • Service 关联:不管一个 Pod 是否对外暴露端口,每个 Pod 必须至少属于一个 Kubernetes Service。假如一个 Pod 同时属于多个 Kubernetes Service,那么它不能在不同 Service 的端口号上使用不同的协议(比如 HTTP 和 TCP)。

  • 应用 UID:确保您的 Pod 不会被 ID(UID)为 1337 的用户运行应用,因为 1337 是为 Sidecar 代理保留的。

  • NET_ADMIN 和 NET_RAW 权限:如果您的集群强制执行了 Pod 安全策略,必须给 Pod 配置 NET_ADMIN 和 NET_RAW 权限。如果您使用 Istio CNI 插件,可以不配置。

  • 要列出服务账户的权限,请在下面的命令中用你的值替换  和 

  • 带有 app 和 version 标签(label)的 pod:我们建议显式地给 Deployment 加上 app 和 version 标签。给使用 Kubernetes Deployment 部署的 Pod 部署配置中增加这些标签,可以给 Istio 收集的指标和遥测信息中增加上下文信息。

    • app 标签:每个部署配置应该有一个不同的 app 标签并且该标签的值应该有一定意义。app label 用于在分布式追踪中添加上下文信息。

    • version 标签:这个标签用于在特定方式部署的应用中表示版本。

Istio 使用的端口

Istio sidecar 代理(Envoy)使用以下端口和协议。

istio学习笔记-安装_第1张图片

Istio 控制平面(istiod)使用以下端口和协议。

istio学习笔记-安装_第2张图片

你可能感兴趣的:(istio,学习,笔记)