从 Google Cloud Console Marketplace 部署应用程序
本节详细介绍如何使用 Google Cloud Console 将应用程序部署到本地 Anthos GKE 集群。
前提条件
-
已在本地部署并在 Google Cloud Console 中注册的 Anthos 集群
-
在您的 Anthos 集群中配置的 MetalLB 负载均衡器
-
具有将应用程序部署到集群的权限的帐户
-
如果您选择具有相关费用的应用程序,则需要 Google Cloud 的结算帐户(可选)
部署应用程序
对于此用例,我们使用 Google Cloud Console 将一个简单的 WordPress 应用程序部署到我们的一个 Anthos 集群。该部署使用NetApp ONTAP在预定义存储类中提供的持久存储。然后,我们演示了两种不同的方法来修改应用程序的默认服务,以便 MetalLB 负载均衡器为其提供 IP 地址并将其公开给全世界。
要以这种方式部署应用程序,请完成以下步骤:
-
验证您要部署到的集群是否可以在 Google Cloud Console 中访问。
-
从左侧菜单中选择应用程序,选择顶部的三个点选项菜单,然后选择从市场部署,这将打开一个新窗口,您可以从中从 Google Cloud 市场中选择一个应用程序。
-
搜索您想要安装的应用程序,在本例中为 WordPress。
-
选择 WordPress 应用程序后,将显示概览屏幕。单击配置按钮。
-
在下一页中,您必须选择要部署到的集群,在我们的例子中是 Demo-Cluster。选择或创建新的命名空间和应用程序实例名称,并选择 WordPress 应用程序及其支持 MariaDB 数据库所需的存储类和持久卷大小。在这两种情况下,我们都选择了ONTAP-NAS-CSI 存储类。
不要选择“启用公共 IP 访问”。这样做会创建一个 NodePort 类型的服务,该服务无法从本地 Anthos 部署访问。 -
单击“部署”按钮后,您将看到一个提供应用程序详细信息的页面。您可以刷新此页面或使用 CLI 登录到您的集群来检查部署状态。
-
通过运行命令来获取应用程序命名空间中的 pod 信息,可以使用 CLI 检查应用程序部署时的状态:
kubectl get pods -n anthos-wp
。请注意,此屏幕截图中有一个部署程序容器处于错误状态。这是正常的。此 pod 是 Google Cloud Console 用来部署应用程序的辅助 pod,它会在其他 pod 开始初始化过程后自行终止。 -
片刻之后,验证您的应用程序是否正在运行。
公开应用程序
应用程序部署后,您有两种方法可以为其分配一个全球可达的 IP。
使用 Google Cloud Console
您可以使用 Google Cloud Console 公开应用程序,并在浏览器中编辑服务的 YAML 输出以设置可公开访问的 IP。为此,请执行以下步骤:
-
在 Google Cloud Console 中,点击左侧菜单中的服务和入口。
-
点击 `wordpress-wordpress-svc`服务。这将打开服务详情屏幕。单击顶部的“编辑”按钮。
-
打开“编辑服务详细信息”页面,其中包含该服务的 YAML 信息。向下滚动直到看到
spec:`部分和 `type:`值,设置为 `ClusterIP
。将此值更改为 `LoadBalancer`并点击保存按钮。 -
当您返回到服务详情页面时, `Type:`现在列出 `LoadBalancer`和 `External endpoints:`字段列出了从 MetalLB 池分配的 IP 地址以及应用程序可访问的端口。
使用 Kubectl 修补服务
您可以使用 CLI 和 `kubectl patch`命令来修改您的部署并设置可公开访问的 IP。为此,请完成以下步骤:
-
使用以下命令列出与命名空间中的 Pod 关联的服务 `kubectl get services -n anthos-wp`命令。
-
修改服务类型 `ClusterIP`键入 `Loadbalancer`使用以下命令:
kubectl patch svc wordpress-wordpress-svc -p '{"spec": {"type": "LoadBalancer"}}' -n anthos-wp'.
此新服务类型会自动从 MetalLB 池中分配一个可用的 IP 地址。
在暴露的外部IP上访问应用程序
现在您已经通过可公开访问的 IP 地址公开了应用程序,您可以使用浏览器访问您的 WordPress 实例。