以 istioctl 为例
# 下载
curl -L https://istio.io/downloadIstio | sh -
cd istio-1.28.1
export PATH=$PWD/bin:$PATH安装目录包含:
samples/目录下的示例应用bin/目录下的istioctl客户端可执行文件。
# 安装
istioctl install --set profile=demo -y
|\
| \
| \
| \
/|| \
/ || \
/ || \
/ || \
/ || \
/ || \
/______||__________\
____________________
\__ _____/
\_____/
√ Istio core installed
√ Istiod installed
√ Ingress gateways installed
√ Egress gateways installed
√ Installation complete istio 提供的几种内置配置,这些配置文件提供了对 Istio 控制平面和 Istio 数据平面 Sidecar 的定制内容:
default:根据
IstioOperatorAPI 的默认设置启动组件。 建议用于生产部署和 Multicluster Mesh 中的 Primary Cluster。您可以运行
istioctl profile dump命令来查看默认设置。demo:这一配置具有适度的资源需求,旨在展示 Istio 的功能。 它适合运行 Bookinfo 应用程序和相关任务。
此配置文件启用了高级别的追踪和访问日志,因此不适合进行性能测试。
- minimal:与默认配置文件相同,但只安装了控制平面组件, 它允许您使用 Separate Profile 配置控制平面和数据平面组件(例如 Gateway)。
- remote:配置 Multicluster Mesh 的 Remote Cluster。
- empty:不部署任何东西。可以作为自定义配置的基本配置文件。
- preview:预览文件包含的功能都是实验性。这是为了探索 Istio 的新功能,不确保稳定性、安全性和性能(使用风险需自负)。
| default | demo | minimal | remote | empty | preview | |
|---|---|---|---|---|---|---|
| 核心组件 | ||||||
istio-egressgateway | √ | |||||
istio-ingressgateway | √ | √ | √ | |||
istiod | √ | √ | √ | √ |
# 给命名空间添加标签,指示 Istio 在部署应用的时候,自动注入 Envoy Sidecar 代理
kubectl label namespace [default] istio-injection=enabled安装 Kubernetes Gateway API CRD
Kubernetes Gateway API CRD 在大多数 Kubernetes 集群上不会默认安装, 在使用 Gateway API 之前需要安装
$ kubectl get crd gateways.gateway.networking.k8s.io &> /dev/null || \
{ kubectl kustomize "github.com/kubernetes-sigs/gateway-api/config/crd?ref=v1.4.0" | kubectl app
评论 (0)