在虚拟机上部署 Bookinfo 应用程序
本示例通过在虚拟机(VM)上运行一项服务来跨 Kubernetes 部署 Bookinfo 应用程序, 并说明了如何以单个网格的形式控制此基础架构。
概述
开始之前
在虚拟机上运行 MySQL
您将在虚拟机上安装 MySQL,并将其配置为 ratings 服务的后端。
下列的所有命令都在虚拟机上执行。
安装 mariadb
:
设置认证信息:
您可以在 Mysql6 中找到配置 MySQL 的详细信息。
在虚拟机上,将 ratings 数据库导入到 mysql 中。
为了便于直观地检查 Bookinfo 应用程序输出中的差异,您可以使用以下命令来更改并检查所生成的
ratings
数据库:
更改 ratings
数据库:
将 mysql 服务暴露给网格
当虚拟机启动时,将会自动被注册到网格中。 然而,就像创建 Pod 时一样,我们仍然需要创建一个 Service,然后才能轻松访问它。
使用 mysql 服务
Bookinfo 中的 ratings 服务将使用该虚拟机上的数据库。 为了验证它是否正常工作,请在虚拟机上创建使用 mysql 数据库的 ratings 服务第二个版本。 然后指定路由规则,用于强制 review 服务使用 ratings 服务的第二个版本。
创建强制 Bookinfo 使用 ratings 后端的路由规则:
您可以验证 Bookinfo 应用程序的输出显示的是 Reviewer1 的 1 个星, 还是 Reviewer2 的 4 个星,或者更改虚拟机的 ratings 服务并查看结果。
从虚拟机访问 Kubernetes 服务
在上面的示例中,我们将虚拟机视为一个服务。 您还可以在您的虚拟机中无缝调用 Kubernetes 的服务:
Istio 的 DNS 代理9自动为您的虚拟机配置 DNS,允许通过 Kubernetes 的主机名进行访问。
清理
按照
Bookinfo
清理中的步骤, 删除Bookinfo
样例应用及其配置。删除
mysqldb
Service:按照虚拟机卸载 中的步骤清理 VM。