Istio 学习项目教程
istio-learning 我们一起学 istio 技术手册 项目地址: https://gitcode.com/gh_mirrors/is/istio-learning
1. 项目目录结构及介绍
Istio 学习项目的目录结构如下:
istio-learning/
├── images/
├── install/
├── traffic-control/
├── .gitignore
├── LICENSE
├── README.md
├── SUMMARY.md
├── book.json
目录结构介绍
- images/: 存放项目中使用的图片资源。
- install/: 包含 Istio 的安装脚本和配置文件。
- traffic-control/: 包含与流量控制相关的配置和示例。
- .gitignore: Git 忽略文件,指定哪些文件或目录不需要被 Git 管理。
- LICENSE: 项目的开源许可证文件。
- README.md: 项目的介绍文件,通常包含项目的概述、安装步骤和使用说明。
- SUMMARY.md: 项目的目录结构和章节概述。
- book.json: 项目的配置文件,用于定义项目的元数据和构建配置。
2. 项目启动文件介绍
在 install/
目录中,通常会包含启动 Istio 的脚本和配置文件。以下是一个典型的启动文件示例:
#!/bin/bash
# 安装 Istio
istioctl install --set profile=demo -y
# 启用 Sidecar 自动注入
kubectl label namespace default istio-injection=enabled
# 部署示例应用
kubectl apply -f samples/bookinfo/platform/kube/bookinfo.yaml
启动文件介绍
- istioctl install: 使用
istioctl
工具安装 Istio,--set profile=demo
指定使用 demo 配置文件。 - kubectl label namespace default istio-injection=enabled: 启用默认命名空间中的 Sidecar 自动注入。
- kubectl apply -f samples/bookinfo/platform/kube/bookinfo.yaml: 部署一个示例应用,通常是 Bookinfo 应用。
3. 项目配置文件介绍
在 install/
目录中,通常会包含 Istio 的配置文件。以下是一个典型的配置文件示例:
apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
metadata:
namespace: istio-system
name: example-istiocontrolplane
spec:
profile: demo
components:
ingressGateways:
- name: istio-ingressgateway
enabled: true
egressGateways:
- name: istio-egressgateway
enabled: true
values:
global:
proxy:
resources:
requests:
cpu: 100m
memory: 128Mi
limits:
cpu: 200m
memory: 256Mi
配置文件介绍
- apiVersion: 指定 API 版本,这里是
install.istio.io/v1alpha1
。 - kind: 指定资源类型,这里是
IstioOperator
。 - metadata: 定义资源的元数据,包括命名空间和名称。
- spec: 定义 Istio 的配置,包括使用的配置文件、组件和资源限制。
- profile: 指定使用的配置文件,这里是
demo
。 - components: 定义 Istio 的组件,包括入口网关和出口网关。
- values: 定义全局配置,包括代理的资源请求和限制。
- profile: 指定使用的配置文件,这里是
通过以上配置文件,可以自定义 Istio 的安装和运行参数,以满足不同的需求。
istio-learning 我们一起学 istio 技术手册 项目地址: https://gitcode.com/gh_mirrors/is/istio-learning