[GCP] 사용자 인증 정보 받기 AWS Access Key처럼 GCP에도 Credetials이 있다. 1. GCP 콘솔에서 Credentials 검색 2. 서비스 계정 생성 권한이 필요한 리소스에 대한 액세스 권한을 부여한다. 나같은 경우엔 Artifact Registry에 대한 권한이 필요해서 권한을 부여했다. 3. JSON KEY 생성 생성한 서비스 계정에 키 카테고리를 들어가면 Key를 생성할 수 있다. Key는 JSON 형식과 P12 형식 두 가지로 다운 받을 수 있으며, 나는 JSON Key를 선택 키를 추가하면 아래와 같이 활성화된다. 참조 https://medium.com/google-cloud/how-to-push-docker-image-to-google-container-registry..
[GKE] Some backend services are in UNHEALTHY state Ingress를 구성하는 중, 자꾸 백엔드에서 UNHEALTHY state가 발생하며 서버에 접근이 안됐다. NLB, Nodeport 다 접근이 되는데 Ingress만 UNHEALTHY라고 하니까 아주 미칠 노릇 🙄🙄 서버의 오류 메시지도 404,504 같은게 상태 코드를 보여주는게 아니라 그냥 30초있다가 재시도해보라는 이상한 솔루션만 제시 🤬 원인은 백엔드 서비스 즉 nodeport의 상태가 비정상이라서 그렇다고하는데 아무리봐도 노드포트의 상태가 비정상이면 노드포트로 접속이 안될것같은데 노드포트로는 잘 접속이 되니 .... 대체 뭐가 문제지하면서 머리를 싸맸다😂 아무래도 국내에는 gcp에 대한 자료가 얼마 없다..
[GCP] Artifact Registry 도커 이미지를 GCP의 이미지 저장소에 Push 하려고 알아보니, 기존 구글의 Container Registry는 지원이 중단 되었고, 2024년 5월 15일 이후에는 Artifact Registry만 지원한다고 한다. 내가 못찾은 건지는 모르겠는데 Container Registry는 신규 저장소 생성이 안되는 것 같음 Artifact Registry Docker 컨테이너 이미지를 저장하고 관리하기 위한 저장소 Cloud Build를 이용해 Google Cloud Cl/CD 서비스 또는 기존 CI/CD 도구와 통합할 수 있음 또한 컨테이너 분석을 사용하여 컨테이너 메타 데이터를 관리하고 컨테이너 취약점을 스캔 저장소 생성 나는 Google Cloud의 CI/CD..
[GCP] GKE로 웹 애플리케이션 배포 (2) 1. 웹 애플리케이션 생성 2. Docker Image 생성 3. 생성 한 Docker Image로 Deployment 생성 4. NodePort 열어줌 5. Ingress Controller를 사용하여 경로 지정 지난 포스팅에서 1번과 2번 과정까진 완료했다. https://heywantodo.tistory.com/118 [GCP] GKE로 웹 애플리케이션 배포 (1) [GCP] GKE로 웹 애플리케이션 배포 (1) GKE로 웹 애플리케이션을 배포하는 과정은 다음과 같다. 1. 웹 애플리케이션 생성 2. Docker Image 생성 3. 생성 한 Docker Image로 Deployment 생성 4. NodePort 열어줌 5. Ingres heywant..
[GCP] GKE로 웹 애플리케이션 배포 (1) GKE로 웹 애플리케이션을 배포하는 과정은 다음과 같다. 1. 웹 애플리케이션 생성 2. Docker Image 생성 3. 생성 한 Docker Image로 Deployment 생성 4. NodePort 열어줌 5. Ingress Controller를 사용하여 경로 지정 1. 웹 애플리케이션 생성 Python의 Flask 모듈을 사용하여 간단한 웹 애플리케이션을 생성해준다. app.py from flask import Flask app = Flask(__name__) @app.route('/') def root(): return 'hello, gke' @app.route('/test') def test(): return 'This is a test page..
[GCP] GKE 사용해보기 GKE 클러스터 생성은 아래 포스팅에서 확인 https://heywantodo.tistory.com/116 이제 생성한 클러스터에 연결해보자, 연결 또한 매우 간단하다. 콘솔에서 연결을 클릭 연결을 클릭 후 CLOUD SHELL에서 실행을 선택 그럼 CLOUD SHELL에 자동으로 명령어가 입력되고 명령어를 실행시켜주면 됨 Kubectl get nodes 명령어를 통해 Node 확인 Pod 생성 테스트 kubectl run test --image=nginx kubectl get pods kubectl expose pod/test --type="NodePort" --port 80 --target-port=80 --protocol="TCP" kubectl get svc kubec..
[GCP] GKE 클러스터 생성해보기 ⚠ 무료 평가판 Credit 계정을 사용하고 있기 때문에, 환경이 제한적이다 GKE 시작하기 GKE는 AWS나, Azure와 같은 다른 클라우드 관리형 서비스에 비해 굉장히 생성이 간단하고 쉬운편이다. 먼저 프로젝트를 생성해준 후, Kubernetes Engine API를 사용하도록 설정한다. 프로젝트는 아래 링크를 통해 생성 또는 선택 가능 https://console.cloud.google.com/projectselector2/home/dashboard Google 클라우드 플랫폼 로그인 Google 클라우드 플랫폼으로 이동 accounts.google.com 콘솔 시작화면에서 컨테이너화된 앱 만들기를 클릭한 후, Kubernetes Engine API 사용을 클..
[GCP] GKE (Google Kubernetes Engine) GKE(Google Kubernetes Engine)? Google 인프라를 사용하여 컨테이너화된 애플리케이션을 대규모로 배포 및 운영하는데 사용할 수 있는 관리형 Kubernetes 서비스이다. GKE 작동 방식 GKE 환경은 그룹화되어 클러스터를 형성하는 VM인 노드로 구성됨 앱을 컨테이너로 패키지화 한 후 컨테이너 모음을 노드에 Pod로 배포함 쿠버네티스 클러스터에서는 Kubernetes API 서버와 같은 시스템 구성 요소를 실행하는 제어 영역이라는 관리 노드 집합이 있음 쿠버네티스에 대한 자세한 설명은 아래 포스팅을 참고 https://heywantodo.tistory.com/22 [K8s] 쿠버네티스(Kubernetes)의 이해..