Skip to content

方块快速入门

用 glac 命令行、Python SDK 或控制台把镜像部署为方块,修改它、查看日志并回滚。

更新于

你需要把项目的 API 密钥放在 GLAC_API_KEY 中,并安装 glac 或 Python SDK:入门里有做法。方块用命令行或 API 部署;控制台显示每个方块的状态。

示例从一个公开镜像运行 Python 自带的 Web 服务器,端口 8000。

用命令行

把镜像部署为名为 hello 的应用。glac deploy 会等到版本就绪并承接流量,然后打印应用的地址:

glac deploy public.ecr.aws/docker/library/python:3.12-alpine --name hello --port 8000 \
  --start-command '["python3", "-m", "http.server", "8000"]'

在浏览器中或用 curl 打开它打印的地址。第一个请求会在几毫秒内唤醒一个实例。

查看应用及其日志:

glac cube get hello                    # its address, the version that has the traffic, its scale
glac cube logs hello --since 10m       # what it printed, a line per request, what the platform did

修改它。修改构成版本的内容(这里是一个环境变量)会部署一个新版本,并等待它完成:

glac cube update hello -e GREETING=hi
glac cube versions hello               # version 2 has the traffic now

把流量切回版本 1,然后删除应用:

glac cube rollback hello 1
glac cube rm hello

每个命令都接受 --json,这时它打印 API 返回的内容。glac help cube deploy 列出所有选项;其余内容见命令行页面。

用 Python SDK

from glac import Glac

glac = Glac()  # GLAC_API_KEY and GLAC_API_URL
app = glac.cube.deploy(
    "public.ecr.aws/docker/library/python:3.12-alpine",
    name="hello",
    port=8000,
    start_command=["python3", "-m", "http.server", "8000"],
)
print(app.url)                        # its address

app.deploy(env={"GREETING": "hi"})    # version 2, waited for until it has the traffic
app.rollback(1)                       # the traffic goes back to version 1
for line in app.logs():               # every line of the days the plan keeps, then it stops
    print(line)
app.delete()

没能起来的版本会抛出 DeployError,附带镜像自己最后的输出,流量保持不变。参见 Python SDK 页面。

在控制台中

打开[控制台](https://console.glac.ai/console/),选择项目,在 Compute 下选择 Cube(方块)。每个应用会显示它的地址、承接流量的版本、正在部署的版本、它的所有版本,以及日志的最后几行。这个页面只用于查看:部署、扩缩容和回滚请用命令行或 API。

下一步

导航

输入以搜索……

↑↓ 切换↵ 选择Esc 关闭