Skip to main content
NetApp container solutions
简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。

从 Google Cloud Console Marketplace 部署应用程序

贡献者 kevin-hoke

本节详细介绍如何使用 Google Cloud Console 将应用程序部署到本地 Anthos GKE 集群。

前提条件

  • 已在本地部署并在 Google Cloud Console 中注册的 Anthos 集群

  • 在您的 Anthos 集群中配置的 MetalLB 负载均衡器

  • 具有将应用程序部署到集群的权限的帐户

  • 如果您选择具有相关费用的应用程序,则需要 Google Cloud 的结算帐户(可选)

部署应用程序

对于此用例,我们使用 Google Cloud Console 将一个简单的 WordPress 应用程序部署到我们的一个 Anthos 集群。该部署使用NetApp ONTAP在预定义存储类中提供的持久存储。然后,我们演示了两种不同的方法来修改应用程序的默认服务,以便 MetalLB 负载均衡器为其提供 IP 地址并将其公开给全世界。

要以这种方式部署应用程序,请完成以下步骤:

  1. 验证您要部署到的集群是否可以在 Google Cloud Console 中访问。

    注册集群

  2. 从左侧菜单中选择应用程序,选择顶部的三个点选项菜单,然后选择从市场部署,这将打开一个新窗口,您可以从中从 Google Cloud 市场中选择一个应用程序。

    应用市场

  3. 搜索您想要安装的应用程序,在本例中为 WordPress。

    搜索 WordPress

  4. 选择 WordPress 应用程序后,将显示概览屏幕。单击配置按钮。

    WordPress 概览屏幕

  5. 在下一页中,您必须选择要部署到的集群,在我们的例子中是 Demo-Cluster。选择或创建新的命名空间和应用程序实例名称,并选择 WordPress 应用程序及其支持 MariaDB 数据库所需的存储类和持久卷大小。在这两种情况下,我们都选择了ONTAP-NAS-CSI 存储类。

    WordPress 配置

    备注 不要选择“启用公共 IP 访问”。这样做会创建一个 NodePort 类型的服务,该服务无法从本地 Anthos 部署访问。
  6. 单击“部署”按钮后,您将看到一个提供应用程序详细信息的页面。您可以刷新此页面或使用 CLI 登录到您的集群来检查部署状态。

    申请详情

  7. 通过运行命令来获取应用程序命名空间中的 pod 信息,可以使用 CLI 检查应用程序部署时的状态: kubectl get pods -n anthos-wp

    Kubectl 获取 Pod

    备注 请注意,此屏幕截图中有一个部署程序容器处于错误状态。这是正常的。此 pod 是 Google Cloud Console 用来部署应用程序的辅助 pod,它会在其他 pod 开始初始化过程后自行终止。
  8. 片刻之后,验证您的应用程序是否正在运行。

    应用程序运行

公开应用程序

应用程序部署后,您有两种方法可以为其分配一个全球可达的 IP。

使用 Google Cloud Console

您可以使用 Google Cloud Console 公开应用程序,并在浏览器中编辑服务的 YAML 输出以设置可公开访问的 IP。为此,请执行以下步骤:

  1. 在 Google Cloud Console 中,点击左侧菜单中的服务和入口。

    服务和入口

  2. 点击 `wordpress-wordpress-svc`服务。这将打开服务详情屏幕。单击顶部的“编辑”按钮。

    编辑服务详情

  3. 打开“编辑服务详细信息”页面,其中包含该服务的 YAML 信息。向下滚动直到看到 spec:`部分和 `type:`值,设置为 `ClusterIP。将此值更改为 `LoadBalancer`并点击保存按钮。

    类型 ClusterIP 值

    类型负载均衡器值

  4. 当您返回到服务详情页面时, `Type:`现在列出 `LoadBalancer`和 `External endpoints:`字段列出了从 MetalLB 池分配的 IP 地址以及应用程序可访问的端口。

    服务详情最终版

使用 Kubectl 修补服务

您可以使用 CLI 和 `kubectl patch`命令来修改您的部署并设置可公开访问的 IP。为此,请完成以下步骤:

  1. 使用以下命令列出与命名空间中的 Pod 关联的服务 `kubectl get services -n anthos-wp`命令。

    列表服务

  2. 修改服务类型 `ClusterIP`键入 `Loadbalancer`使用以下命令:

    kubectl patch svc wordpress-wordpress-svc -p '{"spec": {"type": "LoadBalancer"}}' -n anthos-wp'.

    此新服务类型会自动从 MetalLB 池中分配一个可用的 IP 地址。

    将服务修补为 LoadBalancer 类型

在暴露的外部IP上访问应用程序

现在您已经通过可公开访问的 IP 地址公开了应用程序,您可以使用浏览器访问您的 WordPress 实例。

浏览器中的 WordPress