Qwiklabs & guide GCP

leesj·2022년 3월 15일
0

Cloud

목록 보기
1/5
post-thumbnail
  • GCP Qwiklabs 진행 내용 정리
  • GitOps 및 MLOps 등의 플랫폼에 필요한 기술들을 공부하기 위해 Google Qwiklabs 를 통해 공부하여 개인적으로 정리한 글

유용한 자료

Network

리전 과 영역

🔗 https://cloud.google.com/compute/docs/regions-zones?hl=ko

리전?

리소스를 호스팅할 수 있는 특정한 지리적 위치로, 영역이 3개 이상 있음
(예를들어 us-west1 리전은 us-west1-a, us-west1-b, us-west1-c 3개의 영역이 있는 리전을 나타냄)

리전 리소스
고정 외부 IP 주소와 같이 영역에 관계없이 해당 리전의 모든 리소스를 사용할 수 있는 리소스

영역 리소스
가상 머신 인스턴스 또는 영역 영구 디스크와 같이 영역에 있는 리소스

리전 리소스는 영역에 관계없이 해당 리소스의 모든 리소스를 사용할 수 있지만 영역 리소스는 같은 영역에 있는 리소스만 사용할 수 있음
(예를들어 영역 영구 디스크를 인스턴스에 연결하려면 두 리소스는 모두 동일한 영역에 있어야 함)

Storage

Storage type

데이터를 저장하는 저장소의 포괄적 개념으로 다양한 Database 도 스토리지 타입으로 다룸

일반적인 Storage 는 Persistent Disk 와 Google Cloud Storage 가 존재함

🔗 초기 사용자의 선택을 도울 수 있는 Decision Tree - https://medium.com/google-cloud/a-gcp-flowchart-a-day-2d57cc109401

Persistent Disk
GCE 나 GKE 의 저장소로 마운트등을 통해 다이렉트로 사용 가능한 디스크를 의미하며 SSD, IOPS 개선 Local SSD 등도 제공함
🔗 https://cloud.google.com/compute/docs/disks/?hl=ko

Object Storage
다양한 형태의 데이터를 저장 할 수 있으면, 스토리지 티어링이 가능함
🔗 https://cloud.google.com/storage/docs/storage-classes

영구 디스크 만들기

🔗 https://velog.io/@leesjpr/%EC%98%81%EA%B5%AC-%EB%94%94%EC%8A%A4%ED%81%AC-%EB%A7%8C%EB%93%A4%EA%B8%B0

Google Compute Engine은 가상 머신 인스턴스의 기본 저장소로 사용되는 영구 디스크를 제공합니다.
영구 디스크는 물리적 하드 드라이브와 마찬가지로 머신의 나머지 부분과 독립되어 있으므로, 가상 머신 인스턴스를 삭제해도 연결된 영구 디스크는 데이터를 그대로 보유한 채 다른 인스턴스에 연결될 수 있습니다.

실습 내용

  • 새 VM 인스턴스를 만들고 영구 디스크 연결하기
  • 영구 디스크 포맷 및 마운트하기

VM instance

vm 접근

VM 접근 방법 - 🔗 https://cloud.google.com/compute/docs/instances/access-overview?hl=ko

Autoscaling

Google Cloud Solutions I: Scaling Your Infrastructure

Google cloud 의 기능과 인프라를 활용하는 방법을 다루는 퀘스트
엔터프라이즈급 로드 밸런시 및 Autoscaling 개발부터 지속적 배포 파이프라인 구축까지의 내용을 다룸

🔗 https://www.qwiklabs.com/quests/36?catalog_rank=%7B%22rank%22%3A1%2C%22num_filters%22%3A0%2C%22has_search%22%3Atrue%7D&search_id=16030092

커스텀 Cloud Monitoring 측정항목으로 인스턴스 그룹 자동 확장

🔗 https://velog.io/@leesjpr/%EC%BB%A4%EC%8A%A4%ED%85%80-Cloud-Monitoring-%EC%B8%A1%EC%A0%95%ED%95%AD%EB%AA%A9%EC%9C%BC%EB%A1%9C-%EC%9D%B8%EC%8A%A4%ED%84%B4%EC%8A%A4-%EA%B7%B8%EB%A3%B9-%EC%9E%90%EB%8F%99-%ED%99%95%EC%9E%A5

GKE

빠른시작 - 🔗 https://cloud.google.com/kubernetes-engine/docs/deploy-app-cluster

GKE 클러스터에 앱 배포

  • 사용되는 리소스 - Artifact Registry and Google Kubernetes Engine API
  • 할당량 확인 - 클러스터의 리전의 Compute Engine CPU 1개
    사용 중인 IP 주소 1개

🔗 https://velog.io/@leesjpr/Guide-GKE

Persistent Disk 및 Cloud SQL로 GKE에 WordPress 배포

🔗 https://velog.io/@leesjpr/Guide-

본 가이드에서 Database 는 관리형 버전인 Cloud SQL 을 사용하고 WordPress 는 PersistentVolumes(PV) 및 PersistentVolumeClaims(PVC) 를 사용하여 데이터를 저장한다.

  • GKE 클러스터 만들기
  • Persistent Disk에서 지원되는 PV 및 PVC 만들기
  • MySQL용 Cloud SQL 인스턴스 만들기
  • WordPress 배포
  • WordPress 블로그 설정

사용되는 구성요소

  • GKE
  • Compute Engine
  • Cloud SQL

PV(PersistentVolumes)?
PV 는 PVC 에서 작성된 요청을 수행하기 위해 관리자가 프로비저닝하거나 Kubernetes 에 의해 동적으로 프로비저닝되는 클러스터의 스토리지 볼륨을 나타냄

PVC(PersistentVolumeClaimes)?
PVC 는 특정 스토리지 클래스의 스토리지에 대한 사용자의 요청으로 PV 에서 수행할 수 있다.

PV 및 PVC 는 포드 수명주기와 별개이며 포드의 다시 시작, 재예약, 삭제를 통해 데이터를 보존하여 여기선느 WordPress 는 Google Persistent Disk 를 PV 지원용 스토리지로 사용함

Persistent Disk에서 지원되는 PV를 사용하면 WordPress 플랫폼 데이터를 컨테이너 외부에 저장할 수 있습니다. 이렇게 하면 컨테이너가 삭제되더라도 데이터가 유지됩니다. 기본 스토리지 클래스를 사용하면 포드가 다른 노드로 다시 예약되는 경우 Persistent Disk(및 데이터)가 포드와 함께 이동하지 않습니다.

클러스터 템플릿

gpu 가속 컴퓨팅 등의 일부 템플릿을 확인할 수 있는 링크

🔗 https://console.cloud.google.com/kubernetes/add?template=gpu-cluster&_ga=2.28879804.1649276086.1649042421-1501659437.1646723946

VS Code 용 Cloud code 로 Kubernets 애플리케이션 배포

Cloud Code를 빠르게 시작하는 방법을 설명

Cloud code 설치

1️⃣ visual studio code 설치
2️⃣ docker client 를 머신의 PATH 에 설치
3️⃣ Cloud Code 설치 - 🔗 vscode:extension/GoogleCloudTools.cloudcode

애플리케이션 만들기

GKE 클러스터 만들기

앱 실행

구성 테스트 실행 수행

앱 실행 및 보기

문제해결 도움말

앱 디버깅

로그 보기

보너스: 컨테이너에서 터미널 열기

참고자료

0개의 댓글