반응형

분류 전체보기 312

Python 가상환경 설정(WSL2 Ubuntu)

Overview이 글에서는 WSL2 기반 Ubuntu 환경에서 Python 개발을 위한 가상환경 설정 방법을 정리한다.Python 프로젝트를 운영하다 보면 Python 버전이 다르거나, 프로젝트마다 패키지 구성이 다른 경우가 많다.  이를 해결하기 위해 pyenv와 virtualenv를 활용하여 원하는 Python 버전을 설치하고, 각기 다른 가상환경을 생성하는 과정을 단계별로 설명한다.  주요 흐름은 다음과 같다.Ubuntu 환경에서 pyenv를 통한 Python 버전 설치virtualenv를 통한 Python 2/3 가상환경 생성WSL2 환경에 맞는 경로, 설정, 디버깅 팁 제공 특히 Python 2와 3을 동시에 사용하는 경우에도 각각의 가상환경을 설정하여 충돌 없이 개발할 수 있도록 구성한다.  ..

Launguage 2023.10.10

Shared VPC를 사용하여 GKE 클러스터 생성시 IAM 설정

Overview이 글에서는 Google Cloud Platform(GCP)에서 공유 VPC(Shared VPC)를 활용하여 서로 다른 서비스 프로젝트에 속한 GKE 클러스터를 생성하는 방법을 단계별로 정리한다.GCP에서 공유 VPC는 네트워크 리소스를 중앙에서 통합적으로 관리하면서도 서비스 프로젝트별로 독립적인 리소스를 운영할 수 있게 해주는 강력한 기능이다. 이를 통해 조직은 보안 정책을 일관되게 유지하고, 여러 개발 환경(예: dev, prod)을 네트워크 관점에서 체계적으로 분리하면서도 효율적으로 협업할 수 있다.  주요 내용은 다음과 같다.공유 VPC의 기본 개념 및 아키텍처 예시호스트/서비스 프로젝트 구분GKE 클러스터 생성을 위한 IAM 역할 설정Terraform 자동화를 위한 권한 구성실무에..

GCP 2023.10.08

ArgoCD ApplicationSet이란? (작성 방법)

Overview이번 글에서는 ArgoCD의 핵심 확장 기능인 ApplicationSet에 대해 알아본다.ApplicationSet은 여러 환경이나 클러스터에 대해 반복적인 Application 정의를 자동화하고, GitOps 방식으로 다양한 배포 구성을 선언적으로 처리할 수 있게 도와준다. 특히, 템플릿과 생성기(Generators)를 조합하여 동적으로 여러 애플리케이션을 생성할 수 있다는 점에서, 운영 효율성과 유지 보수성을 크게 향상시킨다. 글에서는 ApplicationSet의 구성 요소인 Templating, 다양한 Generator 종류(List, Cluster, Git, Matrix), 동적 업데이트 기능과 DRY 원칙의 실현 방식에 대해 상세히 설명하고,EKS, GKE, On-premise 환..

IaC/CI CD Tool 2023.10.06

2. Pulumi 활용

Overview 이전 시간에는 Pulumi 에 대해 개념적으로 살펴보았다. 이번에는 Pulumi를 활용하여 실제로 GCP 환경에서 인프라를 배포하고 관리하는 방법 을 실습해볼 예정이다.   2023.09.13 - [IaC/Infrastructure Provisioning] - 1. Pulumi란?     이번 학습에서는 아래의 내용을 다룬다. Pulumi State 관리Pulumi 리소스 파일 분실 시 State 삭제 방법Pulumi를 활용한 GCP VPC 및 GCE 배포GitHub에서 Pulumi 소스를 가져와 사용하는 방법  모든 실습은 Google Cloud Platform (GCP) 을 활용하여 진행하며, 언어는 Python 을 사용한다.   📅 관련 글2023.09.13 - [IaC/Infra..

CertManager로 Let's Encrypt 인증서 발급

Overview오늘은 Kubernetes 클러스터 환경에서 HTTPS 통신을 위한 TLS 인증서를 자동으로 발급하고 갱신할 수 있는 CertManager와 Let's Encrypt의 연동 방법에 대해 알아본다. CertManager는 Kubernetes에서 인증서 관리 작업을 자동화해주는 컨트롤러로, Let's Encrypt와 함께 사용하면 ACME 프로토콜을 통해 별도의 수작업 없이도 유효한 TLS 인증서를 발급받을 수 있다. 이 글에서는 CertManager 설치부터 시작해, DNS 공급자별로 AWS Route53, Google CloudDNS, Cloudflare를 활용해 인증서를 발급받는 전체 흐름을 단계별로 정리해본다. 또한 ACME challenge 방식에 대한 배경 지식도 함께 소개하며, 인..

BigQuery와 DataFlow를 활용한 Data ETL(GCP)

Overview지난번에는 BigQuery와 Data WareHouse에 대해서 알아보았다.2023.05.21 - [GCP] - GCP BigQuery란? & Data Warehouse   이번 글에서는 BigQuery와 DataFlow를 활용한 Data ETL 과정에 대해 설명한다.  MongoDB에서 BigQuery로 데이터를 적재한 후, Google Sheet로 데이터를 전송하는 자동화된 워크플로우를 구축하는 것이 목표이다.  이 과정에서 활용할 GCP 리소스는 다음과 같다:Dataflow: 데이터 변환 및 적재BigQuery: 데이터 웨어하우스Cloud Scheduler: 자동 실행 스케줄링Cloud Function: 이벤트 기반 트리거 실행Cloud Storage: 임시 데이터 저장소  mongo..

GCP 2023.10.02

T101(Terraform 101 Study) 5주차

Overview이번 주는 CloudNet@에서 진행 중인 Terraform 101 Study (T101)의 5주차로, 테라폼을 단순한 로컬 실행 도구로 넘어서 협업 도구로서 활용하는 방법에 대해 다루었다. 특히 HashiCorp의 SaaS 서비스인 Terraform Cloud(TFC)를 통해 팀 기반 인프라 형상 관리와 버전 제어, 그리고 GitHub Actions를 연동한 CI/CD 파이프라인 구축까지 체계적으로 실습하였다.  이번 주 주요 학습 주제형상관리 도구(Git, VCS)의 역할과 워크플로 이해Terraform Cloud 계정 생성 및 연동 실습TFC 기반 State 백엔드 구성 및 Workspace 활용반복문(count, for_each)을 활용한 인프라 자동화Pull Request 기반 워..

T101(Terraform 101 Study) 4주차

Overview이번 주는 CloudNet@에서 진행하는 Terraform 101 Study(T101)의 4주차로, 인프라 코드의 핵심이라 할 수 있는 State의 구조와 동작 원리, 워크스페이스를 통한 상태 분리, 모듈화 전략에 대해 실습 중심으로 학습하였다. 특히 Terraform이 단순한 선언형 도구가 아니라 Stateful 시스템이라는 점, 이를 기반으로 리소스 생성/수정/삭제의 실행 여부를 어떻게 판단하는지를 명확하게 이해할 수 있었다. 또한 workspace를 활용한 멀티 환경 구성, 모듈을 통한 재사용 가능한 인프라 템플릿화 등 실제 팀 협업이나 대규모 인프라 운영에 필수적인 개념들을 배웠다.  주요 학습 내용 요약Terraform의 상태 파일(`.tfstate`) 구조 및 Serial 관리 ..

T101(Terraform 101 Study) 3주차

Overview이번 주는 CloudNet@에서 진행하는 Terraform 101 Study(T101) 스터디의 3주차로, Terraform의 선언적 문법과 실전 활용을 위한 다양한 고급 기능들을 학습하였다.학습 내용은 테라폼으로 시작하는 IaC 책을 기반으로 실습을 병행하였고, 실제 코드 기반 실습 및 공식 문서 예제를 바탕으로 조건문, 함수, 프로비저너, null 리소스, moved 블록 등 고급 기능들을 다뤘다. 또한 GCP Provider를 활용하여 GKE 클러스터 배포까지 실습하면서 멀티 클라우드 환경에서 Terraform을 어떻게 확장할 수 있는지도 함께 확인하였다. 이번 주 주요 학습 내용은 다음과 같다.조건문을 활용한 동적 리소스 선언 및 환경 분기내장 함수(upper, max, cidrne..

1. Pulumi란?

Overview이번 글에서는 Pulumi를 사용하여 GCP 인프라를 코드로 관리하는 방법을 소개한다.Pulumi는 기존의 Terraform과 같은 IaC(Infrastructure as Code) 도구와 유사하지만, Python, TypeScript, Go, C# 등 익숙한 프로그래밍 언어를 활용해 인프라를 선언적으로 정의할 수 있다는 점에서 개발자 친화적인 도구로 주목받고 있다. 특히 이번 실습에서는 WSL2(Ubuntu 20.04) 환경에서 Python 기반 Pulumi 프로젝트를 구성하고, GCP에 GCS 버킷을 자동으로 생성하고 정적 웹사이트 호스팅 설정까지 해보는 과정을 다뤘다.  이 글에서 다룬 핵심 흐름은 다음과 같다.Pulumi의 개념과 Terraform과의 차이점Python 및 pyenv..

반응형