在 ambient 模式下部署 Bookinfo 原生应用
您可以依赖 ZTunnel proxy,在无需 sidecar 注入的情况下,以 ambient 模式部署 Bookinfo 示例原生应用。有关 Bookinfo 原生应用的背景信息,请参阅 Deploying the Bookinfo Application。
前提条件
- 具有
cluster-admin角色的集群管理员已建立一个处于活动状态的 ACP CLI (kubectl) 会话。 - 已在本地安装
istioctl,以便可以使用它来执行这些操作步骤。 - 已安装 Alauda Service Mesh Operator 2.1.1 或更高版本,已创建 Istio resource,并且 Operator 已部署 Istio。
- 已创建
IstioCNIresource,并且 Operator 已部署所需的IstioCNIpods。 - 已创建
ZTunnelresource,并且 Operator 已部署所需的ZTunnelpods。
操作步骤
-
创建
bookinfonamespace: -
将
istio-discovery=enabledlabel 添加到bookinfonamespace: -
部署
Bookinfo原生应用:应用
bookinfo-versionsYAML 文件以创建Bookinfo服务的多个版本: -
验证 Bookinfo pods 是否正在运行:
示例输出
-
确认 Bookinfo 原生应用正在响应:
示例输出
-
通过为整个 namespace 或单个 pod 添加 label,将 Bookinfo 原生应用纳入 ambient mesh:
-
要包含
bookinfonamespace 中的所有 workload: -
要仅包含特定 workload,请直接为单个 pod 应用
istio.io/dataplane-mode=ambientlabel。有关用于将 workload 添加到 mesh 或从 mesh 中排除的 label 的详细信息,请参阅 Additional resources 部分。NOTE将 workload 纳入 ambient mesh 不需要重启或重新部署应用 pods。与 sidecar 模式不同,每个 pod 中的容器数量保持不变。
-
-
确认 ZTunnel proxy 已在 pod network namespaces 中成功建立监听套接字:
将
bookinfonamespace 添加到 Ambient mesh 后,您会看到HBONEprotocol。示例输出
清理
其他资源
- 在 ambient 模式下将 workload 添加到 mesh(Istio documentation)