No project description provided
Project description
將服務部署到 GCP Cloud Run
這個 Python 腳本可以幫助你快速將你的服務部署到 GCP Cloud Run。你只需要提供服務名稱、Docker 映像標籤、GCP 服務帳戶等參數,它就會自動編譯 Docker 映像並部署到 GCP Cloud Run 上。
前置作業
在開始之前,你需要先安裝以下工具:
你還需要擁有一個 GCP 帳戶以及一個 GCP 專案。在你的 GCP 專案中,你需要創建一個服務帳戶,並為它授予以下權限:
- Cloud Run Admin
- Service Account User
- Storage Admin
- Viewer
最後,你需要在你的本地環境中設置以下環境變量:
GCP_PROJECT_ID
:你的 GCP 專案 ID。GCP_SERVICE_ACCOUNT
:你創建的 GCP 服務帳戶的 email。
pip install 使用方法
-
pip install to-cloud-run
-
python -m to_cloud_run
github 使用方法
-
下載
to_cloud_run.py
腳本。 -
在你的服務目錄中創建一個
.env
文件,並在其中設置GCP_PROJECT_ID
和GCP_SERVICE_ACCOUNT
環境變量。 -
創建一個
requirements.txt
文件,列出你的 Python 依賴項。 -
創建一個
app.py
文件,編寫你的服務代碼。 -
在命令行中運行以下命令:
python to_cloud_run.py -n <service-name> -t <image-tag> -s <service-account>
其中,
<service-name>
是你的服務名稱,<image-tag>
是你的 Docker 映像標籤,<service-account>
是你的 GCP 服務帳戶 email。你可以使用其他可選參數來配置 Cloud Run 的 CPU、內存、最大實例數等參數。 -
等待部署完成。部署完成後,你可以在 GCP Cloud Run 控制台上查看你的服務。
可選參數
-n, --service-name
:你的服務名稱。-p, --platform
:Docker 映像編譯平台,默認為linux/amd64
。-t, --image-tag
:Docker 映像標籤。-s, --service-account
:GCP 服務帳戶 email。-c, --cpu
:Cloud Run CPU 分配,默認為0.08
。-m, --memory
:Cloud Run 內存分配,默認為128Mi
。-i, --max-instances
:Cloud Run 最大實例數,默認為1
。-r, --region
:Cloud Run 部署區域,默認為us-central1
。-o, --port
:容器端口,默認為8000
。
注意事項
- 該腳本僅支持 Python 3.6 及以上版本。
- 該腳本需要使用 Docker 進行映像編譯,請確保你已經安裝了 Docker。
- 該腳本需要使用 Google Cloud SDK 進行 Cloud Run 部署,請確保你已經安裝了 Google Cloud SDK。
- 該腳本會在當前目錄下創建一個
Dockerfile
文件,請確保該目錄有寫入權限。 - 該腳本會自動將 Docker 映像推送到 GCR 中,請確保你有相應的權限。
- 該腳本會自動設置 Cloud Run 部署區域為
us-central1
,如果需要部署到其他區域,請使用-r
參數指定。 - 該腳本會自動設置 Cloud Run 最大實例數為
1
,如果需要多實例運行,請使用-i
參數指定。
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for to_cloud_run-1.5-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d6083404166ac2e9adbae30571b230fb87ba57926a444330573444aa40cd73c3 |
|
MD5 | 69ed48434a453f341ca541c8a6dca6bd |
|
BLAKE2b-256 | 94f7f0b200f8c1c7882235ce9cdc8c879845da0950d59d39cc834c066617a98c |