전체 글 135

Terraform 사용하여 GKE Cluster 배포하기

2024.04.04 - [GKE Project] - Terraform을 사용하여 GKE(Google Kubernetes Engine) 배포 이전에 준비했던 사전 설정에 이어서 진행한다. 1. API 활성화 우선 GKE Clsuter API와 Compute API 를 활성화 하기 위해 아래 과정을 진행해줍니다. # 이전 포스팅에서 설정한 config에서 Project id값을 불러와 변수로 설정한다. $ GCP_PROJECT_ID=$(gcloud config list | grep project | awk '{print $3}') # 변수 설정을 확인해본다. $ echo $GCP_PROJECT_ID # GCP compute, container API 활성화 $ gcloud services enable com..

GKE Project 2024.04.15

Terraform을 사용하여 GKE(Google Kubernetes Engine) 배포 - 사전 준비

GCP에서 제공하는 300달러 크래딧으로 토이 프로젝트를 진행하려는데 GKE를 계속 띄워두자니 크래딧을 너무 빨리 소모할 것 같다. Terraform도 사용해보고 IaC을 사용해서 손쉽게 올리고 내리기 위해 우선 Terraform으로 GKE를 구성해보고자 글을 작성한다. 1. WSL에 gcloud SDK 설치 및 계정 등록 # WSL2 / Ubuntu 22.04 에 설치 진행 # Cloud SDK 를 사용하기 위해서는 Python 설치가 필수이므로 Python3를 아래와 같이 설치 진행합니다. $ sudo apt update $ sudo apt install -y python3 python3-pip # 이어서 gcloud 설치를 진행합니다. $ curl https://sdk.cloud.google.com..

GKE Project 2024.04.04

DevOps를 위한 쿠버네티스 마스터 강의 정리(2)

아래 강의에서 필요하거나 핵심적인 내용만 정리하였습니다. https://inf.run/wAfB2 데브옵스(DevOps)를 위한 쿠버네티스 마스터 강의 - 인프런 컨테이너 기반 오픈 소스 가상화 프로젝트인 "쿠버네티스"를 이용한 컨테이너 환경의 분산 시스템을 탄력적으로 실행하기 위한 프레임 워크를 활용하는 방법을 입문부터 활용까지 다룹니다., [ www.inflearn.com - 범위: 색션 0: 하이퍼바이저와 가상 머신의 이해 ~ 도커와 쿠버네티스 이해 가상화란? 가상화는 전통적으로 하드웨어에 종속된 리소스를 사용하여 유용한 IT 서비스를 만드는 기술 가상화를 사용하면 물리적 머신의 기능을 여러 사용자 또느 ㄴ환경에 배포하여 물리적 머신을 최대한 활용 가능 가상화를 통해 기업은 서버를 파티셔닝하고 여러 ..

k8s 2024.03.12

DevOps를 위한 쿠버네티스 마스터 강의 정리(1)

아래 강의에서 필요하거나 핵심적인 내용만 정리하였습니다. https://inf.run/wAfB2 데브옵스(DevOps)를 위한 쿠버네티스 마스터 강의 - 인프런 컨테이너 기반 오픈 소스 가상화 프로젝트인 "쿠버네티스"를 이용한 컨테이너 환경의 분산 시스템을 탄력적으로 실행하기 위한 프레임 워크를 활용하는 방법을 입문부터 활용까지 다룹니다., [ www.inflearn.com - 범위: 색션 0: 쿠버네티스 이슈 ~ 마이크로서비스 성공 사례-1 클라우드 네이티브란? 클라우드의 장점을 최대한 활용하여 정보 시스템을 구축 및 실행하는 환경 클라우드 네이티브 기술, 애플리케이션, 아키텍처, 개발 방법론, 조직, 프로세스 등 다양한 용어와 결합하여 다양한 의미로 사용 쿠버네티스는 클라우드 네이티브 구성요소를 완전..

k8s 2024.03.12

그림으로 공부하는 TCP IP 구조 2장, 3장 요약

2장 반이중화 통신 (Half Duplex) 송신할 때와 수신할 때, 그 해당 통신 방향을 전환해서 사용하는 방식 패킷을 송신할 때는 패킷을 수신할 수 없으며, 패킷을 수신할 때는 송신할 수 없음 만일 같은 타이밍에 패킷이 양쪽 상대에게 송신되면 jam 이라는 특수한 비트 패턴을 송신하게 되며, jam 신호를 받은 단말은 각각 무작위 시간 동안 기다린 뒤 패킷을 전송을 재시도 한다(CSMA/CD, Carrier Sense Multiple Access with Collision Detection) 동시에 송수신이 불가능하여 10Gbps 이상의 프로토콜에서는 사용되지 않음 전이중화 통신 (Full Duplex) 송신용 전송로와 수신용 전송로를 별도로 준비하고, 송신과 수신을 동시에 수행하는 방식 CSMA/C..

네트워크 2024.01.15

그림으로 공부하는 TCP IP 구조 1장 요약

회선 교환 방식(circuit exchange method) - 데이터를 교환하기 전에 일대일의 전송로를 생성하고 교환을 마칠 때까지 전송로를 계속 사용하는 방식 - 일대일의 전송로를 사용하기 때문에 접속하는 동안에는 다른 사용자와 통신이 불가능( = 통화중) - 전화기의 통신 방식 - 안정적인 품질 유지 가능 - 데이터가 흐르지 않을 때에도 회선이 유지되기 때문에 회선 이용 효율이 낮아 데이터 교환에 적합한 통신 방식이 아니다. 패킷 교환 방식(packet exchange method) - 데이터를 패킷이라는 작은 단위로 나누어 네트워크로 보내는 방식 - 송신 측 컴퓨터는 데이터에 헤더라는 정보를 붙여 패킷 교환 네트워크로 패킷을 보냄 - 헤더에는 수신 컴퓨터 정보, 데이터 중 몇 번째에 해당되는 패킷..

네트워크 2024.01.15

[AWES] 6주차 - EKS Security

1. K8S 인증/인가 서비스 어카운트(Service Account) API 서버 사용 : kubectl(config, 다수 클러스터 관리 가능), 서비스 어카운트, https(x.509 Client Certs) API 서버 접근 과정 : 인증 → 인가 → Admission Control(API 요청 검증, 필요 시 변형 - 예. ResourceQuota, LimitRange) 인증(Authentication) X.509 Client Certs : kubeconfig 에 CA crt(발급 기관 인증서) , Client crt(클라이언트 인증서) , Client key(클라이언트 개인키) 를 통해 인증 kubectl : 여러 클러스터(kubeconfig)를 관리 가능 - contexts 에 클러스터와 유저..

[AWES] 5주차 - EKS Autoscaling

1) Horizontal Pod Autoscaling (HPA) - HPA는 스케일 인/아웃을 통해 파드 수를 늘리거나 줄이는 방법이다 - 쿠버네테스에서 설정한 메트릭에 따라 포드 수를 자동으로 조절한다. (예: CPU 사용률) - 애플리케이션의 부하가 일시적으로 높아질 때 유용 - 파드 수를 늘림으로써 처리량을 높일 수 있다. - 리소스 사용량이 증가할 수 있어 비용 효율성을 떨어뜨릴 수 있다. HPA 아키텍처 : cAdvisor 이 컨테이너의 메모리/CPU 수집 → metrics-server 는 kubelet 를 통해서 수집 후 apiserver 에 등록 → HPA는 apiserver(Resource API)를 통해서 15분 마다 메모리/CPU 수집하여 정책에 따라 동작 metrics.type(Res..