Istio部署说明
Istio的系统组件
-
控制平面:默认部署于istio-system名称空间
-
istiod
- ingress-gateway
- egress-gateway
- Addons
- kiali
- prometheus
- grafana
- jaeger
-
- 数据平面:默认部署为某名称空间下的各pod的Sidecar Container
- istio-proxy
Istio部署方法
istioctl
-
Istio的专用管理工具,支持定制控制平面及数据平面
-
通过命令行的选项支持完整的 IstioOperator API
-
命令行各选项可用于单独设置、以及接收包含IstioOperator自定义资源(CR)的yaml文件
-
各CR资源对应组件的升级等功能,需要由管理员手动进行
-
Istio Operator
-
Istio相关的自定义资源(CR)的专用控制器,负责自动维护由CR定义的资源对象
-
管理员根据需要定义相应的CR配置文件,提交至Kubernetes API Server后,即可由Operator完成相应的操作
helm
-
基于特定的Chart,亦可由Helm安装及配置Istio
-
截止目前,该功能仍处于alpha阶段
Istio内置的部署档案
-
istioctl提供了内置配置文件(配置档案)用于快速部署
-
default:根据IstioOperator API的默认设置启用相关的组件,适用于生产环境;
-
demo:会部署较多的组件,旨在演示istio的功能,适合运行Bookinfo一类的应用程序
-
minimal:类似于default profile,但仅部署控制平面组件
-
remote:用于配置共享Control Plane的多集群环境
-
empty:不部署任何组件,通常帮助用户在自定义profile时生成基础配置信息
-
preview:包含预览性配置的profile,用于探索Istio的新功能,但不保证稳定性、安全性和性能
-
-
配置档案
-
各配置档案,事实上是IstioOperator API内置的特定CR格式的配置文件
-
CR名称:istiooperators
-
所属的资源群组:install.istio.io/v1alpha1
-
-
因此,各配置档案也是该资源类型下的资源对象的定义
-
-
了解内置的配置档案
-
~$ istioctl profile list
-
~$ istioctl profile dump [PROFILE]
-
例如,打印default档案的资源配置信息
-
~$ istioctl profile dump default
-
-
--config-path选项可用于仅打印指定的配置段
-
-
~$ istioctl profile diff PROFILE1 PROFILE2
-
IstioOperator API各配置段简要说明
-
IstioOperator API主要包括以下几个配置段
-
components:组件配置参数
-
hub:获取各组件镜像的仓库,默认为“docker.io/istio”
-
meshConfig:网格(数据平面)相关的配置参数
-
values:传递给Chart的各参数值
-
-
IstioOperator API中定义的组件
-
base
-
pilot
-
ingressGateways
-
egressGateways
-
cni
-
istioRemote
-
- 以上配置段中的各参数,均可在istioctl命令行中使用--set选项进行独立设置;例如,部署时为default配置极档案启用debug日志功能,可使用如下命令
-
~$ istioctl install --set profile=default --set values.global.logging.level=debug
-
Istio 使用的端口
- 为避免与 sidecar 发生端口冲突,应用程序不应使用 Envoy 使用的任何端口。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程