
Before you begin
- Labs create a Google Cloud project and resources for a fixed time
- Labs have a time limit and no pause feature. If you end the lab, you'll have to restart from the beginning.
- On the top left of your screen, click Start lab to begin
Cloud Run 是一个托管式计算平台,供您运行可通过 HTTP 请求调用的无状态容器。Cloud Run 采用无服务器设计:您不用管理基础设施,因此可全力专注于最重要的工作,即构建出色的应用。
Cloud Run 基于 Knative 构建而成,可让您选择使用 Cloud Run 在全托管式环境中运行容器,或使用 Cloud Run on GKE 在您的 Google Kubernetes Engine 集群中运行容器。
本实验的目标是构建一个简单的容器化应用映像并将其部署到 Cloud Run。
在本实验中,您将学习如何完成以下操作:
对于每个实验,您都会免费获得一个新的 Google Cloud 项目及一组资源,它们都有固定的使用时限。
点击开始实验按钮。如果该实验需要付费,系统会打开一个弹出式窗口供您选择付款方式。左侧是实验详细信息面板,其中包含以下各项:
点击打开 Google Cloud 控制台(如果您使用的是 Chrome 浏览器,请右键点击并选择在无痕式窗口中打开链接)。
该实验会启动资源并打开另一个标签页,显示登录页面。
提示:将这些标签页安排在不同的窗口中,并排显示。
如有必要,请复制下方的用户名,然后将其粘贴到登录对话框中。
您也可以在实验详细信息面板中找到用户名。
点击下一步。
复制下面的密码,然后将其粘贴到欢迎对话框中。
您也可以在实验详细信息面板中找到密码。
点击下一步。
继续在后续页面中点击以完成相应操作:
片刻之后,系统会在此标签页中打开 Google Cloud 控制台。
Google Cloud Shell 是一种装有开发者工具的虚拟机。它提供了一个永久性的 5GB 主目录,并且在 Google Cloud 上运行。
Google Cloud Shell 提供了可用于访问您的 Google Cloud 资源的命令行工具。
在 Cloud 控制台右上角的工具栏中,点击“打开 Cloud Shell”按钮。
点击继续。
预配并连接到环境需要一些时间。如果您连接成功,即表示您已通过身份验证,且项目 ID 会被设为您的 PROJECT_ID。例如:
gcloud 是 Google Cloud 的命令行工具。它会预先安装在 Cloud Shell 上,且支持 Tab 自动补全功能。
输出:
输出示例:
输出:
输出示例:
下面是一些非常基本的 Linux 命令的参考列表,这些命令可能包含在本实验的说明或代码块中。
命令 --> | 操作 | . | 命令 --> | 操作 |
---|---|---|---|---|
mkdir(创建目录) | 新建文件夹 | . | cd(更改目录) | 转入另一文件夹 |
ls(列出) | 列出目录中的文件和文件夹 | . | cat(串联) | 在不使用编辑器的情况下读取文件的内容 |
apt-get update | 更新软件包管理器库 | . | ping | 用于测试主机可达性的信号 |
mv(移动) | 移动文件 | . | cp(复制) | 创建文件副本 |
pwd(当前工作目录) | 返回您当前所在的位置 | . | sudo(超级用户的操作) | 授予更高的管理员权限 |
在此任务中,您将构建一个基于 Express 的简单 NodeJS 应用来响应 HTTP 请求。
helloworld
的新目录,然后切换到该目录:接下来,您需要创建并编辑一些文件。如需修改文件,您可以使用 nano
;也可以在 Cloud Shell 中点击打开编辑器按钮来使用 Cloud Shell 的代码编辑器。
创建一个 package.json
文件,然后向该文件添加以下内容:
请务必注意,上面的文件包含一个 start 脚本命令和一个 Express Web 应用框架依赖项。
按下 CTRL+X 键,然后依次按 Y 键和 Enter 键以保存 package.json
文件。
接下来,在同一目录中创建 index.js
文件,并将下面的代码复制到该文件中:
这段代码会创建一个基本 Web 服务器,监听由 PORT
环境变量定义的端口。您的应用现已编写完毕,可以将其容器化并上传到 Artifact Registry。
index.js
文件Dockerfile
的新文件,并向该文件添加以下内容:按下 CTRL+X 键,然后依次按 Y 键和 Enter 键以保存 Dockerfile
文件。
接下来,在包含 Dockerfile
的目录中运行以下命令,使用 Cloud Build 构建容器映像。(请注意命令中的 $GOOGLE_CLOUD_PROJECT 环境变量,该变量包含您的实验的项目 ID):
Cloud Build 服务可以在 Google Cloud 上执行您的构建任务。该服务会执行一系列构建步骤(每个步骤都在 Docker 容器中运行),以生成您的应用容器(或其他制品)并将其推送到 Artifact Registry,全部操作只需一个命令即可完成。
推送到注册表后,您会看到一条包含映像名称 (gcr.io/[PROJECT-ID]/helloworld
) 的消息,表明推送成功。该映像存储在 Artifact Registry 中,并可根据需要重复使用。
gcloud
注册为 Google 支持的所有 Docker 注册表的凭据帮助程序:docker
命令启动该应用:这应该会打开一个显示“Hello World!”消息的浏览器窗口。您也可以直接使用 curl localhost:8080
。
上面命令中的 allow-unauthenticated 标志让您的服务可公开访问。
service name
。等待部署完成。
成功部署后,命令行中便会显示该服务的网址:
现在,您可以在任何浏览器窗口中打开该服务网址,访问您部署的容器。
恭喜!您刚刚将容器映像中封装的应用部署到了 Cloud Run。Cloud Run 可以自动对您的容器映像进行横向扩容以处理收到的请求,并在需求减少时缩容。在您自己的环境中,您只需为在处理请求期间消耗的 CPU、内存和网络资源付费。
在本实验中,您使用的是 gcloud
命令行;当然,您也可以通过 Cloud 控制台来使用 Cloud Run。
helloworld
服务:虽然 Cloud Run 不会针对未使用的服务收费,但您可能仍然需要为您构建的容器映像支付存储费用。
helloworld
映像:在系统提示您继续时,输入 Y
并按 Enter 键。
如需删除 Cloud Run 服务,请使用下面的命令:
Y
并按 Enter 键。完成实验后,请点击结束实验。Google Cloud Skills Boost 会移除您使用过的资源并为您清理帐号。
系统会提示您为实验体验评分。请选择相应的星级数,输入评论,然后点击提交。
星级数的含义如下:
如果您不想提供反馈,可以关闭该对话框。
如果要留言反馈、提出建议或做出更正,请使用支持标签页。
您已完成本实验!
如需详细了解如何使用源代码构建适用于 Cloud Run 的无状态 HTTP 容器,以及如何将其推送到 Artifact Registry,请查看下面的内容:
版权所有 2020 Google LLC 保留所有权利。Google 和 Google 徽标是 Google LLC 的商标。其他所有公司名和产品名可能是其各自相关公司的商标。
此内容目前不可用
一旦可用,我们会通过电子邮件告知您
太好了!
一旦可用,我们会通过电子邮件告知您
One lab at a time
Confirm to end all existing labs and start this one