如何使用 Google Kubernetes Engine 部署 web 应用

阅读时长 4 分钟读完

在现代 web 应用开发中,部署是一个非常重要的步骤。Google Kubernetes Engine (GKE) 是 Google Cloud Platform 中的一项服务,它提供了一种简单、可靠、可扩展的方式来部署、管理和扩展容器化应用程序。在本文中,我们将学习如何使用 GKE 部署 web 应用。

准备工作

在开始之前,您需要完成以下准备工作:

  1. 创建一个 Google Cloud Platform 帐号,并启用 Kubernetes Engine API。
  2. 安装并配置 Google Cloud SDK。
  3. 创建一个 Google Cloud Platform 项目。

步骤一:创建 Kubernetes 集群

首先,我们需要创建一个 Kubernetes 集群。在 Google Cloud Console 中,选择 Kubernetes Engine -> Clusters,然后点击“创建集群”。

在创建集群的页面中,您需要指定以下信息:

  1. 集群名称。
  2. 集群所在的区域。
  3. 集群的节点数量和节点类型。
  4. Kubernetes 版本。

创建集群需要一些时间,一旦集群创建完成,您将看到它出现在集群列表中。

步骤二:创建 Docker 镜像

在将应用程序部署到 Kubernetes 集群之前,我们需要将应用程序打包为 Docker 镜像。在本文中,我们将创建一个简单的 Node.js web 应用程序,并将其打包为 Docker 镜像。

首先,创建一个名为 app.js 的文件,其中包含以下代码:

-- -------------------- ---- -------
----- ---- - ----------------

----- ------ - ----------------------- ---- -- -
  ------------------ ---------------- ---------------
  --------------- ---------
---

----- ---- - ---------------- -- -----
------------------- -- -- -
  ------------------- --------- -- ---- ----------
---

然后,创建一个名为 Dockerfile 的文件,其中包含以下代码:

在本例中,我们使用 Node.js 作为应用程序的运行时,并在 Dockerfile 中指定了应用程序的依赖项、端口和启动命令。

接下来,使用以下命令将应用程序打包为 Docker 镜像:

其中,[PROJECT_ID] 是您的 Google Cloud Platform 项目的 ID。此命令将在本地计算机上创建一个名为 web-app 的 Docker 镜像,并将其推送到 Google Container Registry (GCR) 中。

步骤三:部署应用程序

现在,我们已经准备好将应用程序部署到 Kubernetes 集群中了。在 Google Cloud Console 中,选择 Kubernetes Engine -> Workloads,然后点击“创建工作负载”。

在创建工作负载的页面中,您需要指定以下信息:

  1. 工作负载名称。
  2. 部署的 Docker 镜像。
  3. 工作负载所在的 Kubernetes 集群和命名空间。
  4. 应用程序的端口和环境变量。

创建工作负载需要一些时间,一旦工作负载创建完成,您将看到它出现在工作负载列表中。

步骤四:暴露服务

现在,我们已经成功将应用程序部署到 Kubernetes 集群中了,但是我们还需要将其暴露给外部用户。在 Kubernetes 中,我们可以使用服务来暴露应用程序。

在 Google Cloud Console 中,选择 Kubernetes Engine -> Services,然后点击“创建服务”。

在创建服务的页面中,您需要指定以下信息:

  1. 服务名称。
  2. 服务的类型和端口。
  3. 服务所在的 Kubernetes 集群和命名空间。
  4. 服务的目标端口和选择器。

创建服务需要一些时间,一旦服务创建完成,您将看到它出现在服务列表中。

现在,您可以使用服务的 IP 地址或域名来访问应用程序了。

结论

在本文中,我们学习了如何使用 Google Kubernetes Engine 部署 web 应用程序。通过使用 GKE,我们可以轻松地部署、管理和扩展容器化应用程序,从而使我们的 web 应用程序更具可靠性和可扩展性。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6746701456a8046993c84e32

纠错
反馈