你需要把项目的 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。