プロジェクトの 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 で行います。
次のステップ
- デプロイとバージョン:新しいバージョンを作るもの、ロールバック。
- インスタンスとスケーリング:
--min-instances、--max-instances、--concurrency、--sleep-after-ms、リージョン。 - アドレスとプロトコル:独自ドメイン、プライベートなアプリ。