Cloud Run의 첫 번째 단계
클라우드 런이란?
이는 GCP가 제공하는 서버 없는 서비스 중 하나로,'완전하게 관리되는 서버 없는 플랫폼에서 신축 가능한 컨테이너 애플리케이션을 개발해 디버깅이 가능하다'는 특징이 있다.
Cloud Run
이와 유사한 서비스로는 Google App Engine(이하 App Engine)이 있습니다.
클라우드 런의 이점 활용
참고 자료
Google Kubernetes Engine or Cloud Run: which should you use?(일본어 문장GKE와 Cloud Run은 어떻게 구분해서 사용해야 하나요?
그렇다면 App Engine과의 차이점을 살펴보겠습니다.
Cloud Run과 GAE의 차이점
제목 정보
HTTPリクエスト/レスポンス
작업 로드를 실행하지만 반드시 웹 브라우저 요청이 필요한 것은 아닙니다.하지만 요청한 처리는 시간이 걸릴 수 있습니다.덮어쓰는 영역 정보
즉, 더 높은 자유도가 클라우드 런을 더 잘 이해한다는 뜻입니다.)
Cloud Run 테스트
GCP의 공식 문서가 빠르게 시작됩니다.실제로 해 보세요.
Quickstart: Build and Deploy
다음은 정식 전기이다
helloworld
라는 디렉터리를 만들고 이 디렉터리로 이동하세요mkdir helloworld
cd helloworld
Python
main.py
의 코드를 씁니다vim main.py
import os
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello_world():
name = os.environ.get("NAME", "World")
return "Hello {}!".format(name)
if __name__ == "__main__":
app.run(debug=True, host="0.0.0.0", port=int(os.environ.get("PORT", 8080)))
Dockerfile
vim Dockerfile
FROM python:3.9-slim
ENV PYTHONUNBUFFERED True
ENV APP_HOME /app
WORKDIR $APP_HOME
COPY . ./
RUN pip install Flask gunicorn
CMD exec gunicorn --bind :$PORT --workers 1 --threads 8 --timeout 0 main:app
.dockerignore
vim .dockerignore
Dockerfile
README.md
*.pyc
*.pyo
*.pyd
__pycache__
.pytest_cache
# tree -a ../
../
└── helloworld
├── .dockerignore
├── Dockerfile
└── main.py
Cloud Build를 통해 지금까지 만든 코드와 Docker file을 컨테이너 이미지로 만들고 Google Container Registry(이하 GCR라고 함)에서 PUSHgcloud auth login -q
export _gcp_pj_id='デプロイしたい GCP Project の ID'
export _con_img='コンテナイメージの名前'
gcloud builds submit --tag gcr.io/${_gcp_pj_id}/${_con_img} --project ${_gcp_pj_id}
gcloud run deploy my-first-run \
--image gcr.io/${_gcp_pj_id}/${_con_img} \
--platform managed \
--project ${_gcp_pj_id} \
--region asia-northeast1 \
--allow-unauthenticated
### 例
# gcloud run deploy my-first-run \
> --image gcr.io/${_gcp_pj_id}/${_con_img} \
> --platform managed \
> --project ${_gcp_pj_id} \
> --region asia-northeast1 \
> --allow-unauthenticated
Deploying container to Cloud Run service [my-first-run] in project [My GCP Project ID] region [asia-northeast1]
✓ Deploying new service... Done.
✓ Creating Revision...
✓ Routing traffic...
✓ Setting IAM Policy...
Done.
Service [my-first-run] revision [my-first-run-00001-tap] has been deployed and is serving 100 percent of traffic.
Service URL: https://my-first-run-jkkqosglnq-an.a.run.app
Cloud Run에 대한 첫 번째 애플리케이션 디버깅 완료:)
총결산
주로 앞으로 클라우드 런을 접하는 사람을 위해 클라우드 런의 기본적인 이해와 기본적인 디자인을 배우기 위해서다.
하지만 빠르게 배우기 시작하는 행위는 클라우드 런의 한 기능에 불과하다.
클라우드 런 자체의 기능이 더 많고 매일 많은 기능이 확충된다.
개발자에게 이것은 기능성과 원가성이 모두 매우 좋은 서비스이기 때문에 지금부터 적극적으로 접촉해야 한다!!
Have fan !! :)
Reference
이 문제에 관하여(Cloud Run의 첫 번째 단계), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/iganari/articles/002-gcp-first-cloudrun텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)