오늘도 기록하는 중 GitHub

분류 전체보기 190

클라우드 퍼포먼스 최적화에 대해

🚀 클라우드 환경에서 애플리케이션 성능 최적화를 위한 완전 가이드클라우드 환경에서 운영되는 애플리케이션의 성능을 분석하고 최적화하는 것은 현대 IT 환경에서 필수적인 역량이다. 이 프로젝트는 애플리케이션 성능 모니터링부터 병목 지점 식별, 최적화 전략 수립, 구현, 그리고 결과 측정까지의 전체 과정을 포함한다. 클라우드 환경의 동적 특성상 전통적인 모니터링 방식과는 다른 접근법이 필요하며, 실시간 모니터링과 분산 추적을 통해 복잡한 마이크로서비스 아키텍처에서도 정확한 성능 분석이 가능해진다. 성공적인 성능 최적화를 통해 응답 시간 개선, 자원 효율성 증대, 비용 절감, 그리고 사용자 경험 향상을 달성할 수 있다.🌟 클라우드 환경에서의 애플리케이션 성능⚡ 환경의 특수성과 도전 과제클라우드 환경에서 애플..

Cloud 10:25:36

Kubernetes - Federation

🌐 Kubernetes Federation🎯 Federation?Kubernetes Federation은 단일 클러스터가 아닌 분산된 다중 클러스터 환경을 단일 제어 평면에서 관리하기 위한 표준화된 솔루션이다. 이는 여러 개의 Kubernetes 클러스터를 중앙에서 관리하고 최적화하는 기술로, 하이브리드 클라우드, 멀티 클라우드, 지리적으로 분산된 데이터 센터 운영 등에 활용되어 서비스 확장성과 가용성을 극대화할 수 있다.Federation은 두 가지 주요 버전으로 발전해왔다. 초기 Federation v1은 클러스터 연합을 위한 기본 기능을 제공했지만, Federation v2는 Kubernetes Operator를 활용한 CRD(Custom Resource Definitions) 기반의 개선된 아..

Kubenetes 2025.05.23

Kubernetes - 서비스 카탈로그와 서비스 브로커

☁️ 서비스 카탈로그와 서비스 브로커?클라우드 네이티브 환경이 발전하면서 다양한 서비스의 프로비저닝, 관리, 연결은 점점 더 복잡해지고 있다. 이러한 복잡성을 해결하고 개발 생산성을 향상시키기 위해 서비스 카탈로그와 서비스 브로커라는 개념이 등장했으며, 이들은 Open Service Broker API (OSB API)라는 표준을 통해 상호작용한다. 이번에는 핵심 개념과 구현 방안에 대해서 다뤄보고자 한다.📜 Open Service Broker API - 클라우드 서비스 자동화의 표준 프로토콜OSB APIOpen Service Broker API (OSB API)는 클라우드 플랫폼(예: 쿠버네티스, Cloud Foundry)과 외부 서비스 제공자 간의 통신을 위한 표준 규약이다. 마치 레스토랑에서 웨이..

Kubenetes 2025.05.22

Kubernetes - 멀티 테넌시 환경 구축

🔄 쿠버네티스 멀티 테넌시 환경 구축이번에 실습을 겸해 쿠버네티스의 멀티 테넌시 환경을 구축하게 됐다. 테넌시와 테넌트가 무엇인지, 어떻게 멀티 테넌시 환경을 구축할 수 있는지에 대해서 다뤄보고자 한다!🤔 멀티 테넌시란 무엇인가?멀티 테넌시(Multi-tenancy)는 하나의 소프트웨어 인스턴스가 여러 사용자 그룹, 즉 테넌트(tenant)에게 서비스를 제공하도록 설계된 소프트웨어 아키텍처다. 쿠버네티스 컨텍스트에서는 하나의 쿠버네티스 클러스터를 여러 테넌트가 공유하는 형태를 의미한다.테넌트의 정의테넌트는 쿠버네티스에서 다양하게 정의될 수 있다. 한 조직 내 여러 팀, 다수의 고객사, 또는 독립적인 사용자 그룹을 의미할 수 있다. 예를 들면 다음과 같다.다중 팀 사용 환경 조직 내 여러 팀이 클러스터..

Kubenetes 2025.05.21

Istio란?

🚀 서비스 메시이번엔 쿠버네티스를 다룰 때 자주 나오는 기술인 Istio에 대해 알아보려고 한다! 설치는 나중에 쿠버네티스를 본격적으로 다뤄볼 때 언급하고 오늘은 이게 무엇인지에 대해서만 작성하려고 한다.🌐 서비스 메시란 무엇인가?서비스 메시는 마이크로서비스 아키텍처에서 서비스 간 통신을 관리하고 제어하는 인프라 레이어를 의미한다. 현대적인 클라우드 네이티브 애플리케이션이 복잡해지면서 서비스 간 통신 문제를 해결하기 위한 방법으로 등장했다. 서비스 메시는 서비스 간 통신에 대한 네트워킹, 보안, 관측 기능을 애플리케이션 코드와 분리하여 제공한다.서비스의 수가 증가하면 잠재적 통신 경로의 수도 기하급수적으로 증가한다. 예를 들어 두 서비스에는 오직 두 개의 통신 경로만 있지만, 10개의 서비스에는 90..

Kubenetes 2025.05.19

Kubernetes - Validating, Mutating Admission Controller

🛡️ 쿠버네티스 어드미션 컨트롤러 (Kubernetes Admission Controller)쿠버네티스 어드미션 컨트롤러(Admission Controller)는 API 서버로 들어오는 요청을 가로채서 처리하는 플러그인의 집합이다. 이 컨트롤러는 인증(Authentication)과 인가(Authorization) 단계를 통과한 요청에 대해, 해당 요청을 최종적으로 수락할지 또는 거절할지를 결정하는 역할을 수행한다. 수락된 요청은 클러스터의 영구 저장소인 etcd에 저장된다.어드미션 컨트롤러를 사용하는 주된 이유는 다음과 같다.보안성 향상. 사전에 정의된 정책을 강제하여 클러스터의 보안 수준을 높인다. 예를 들어, 특정 보안 기준을 충족하지 않는 파드 생성을 막을 수 있다.제어성 및 일관성 강화. 리소스..

Kubenetes 2025.05.16

리눅스 커널 모듈

🐧 리눅스 커널리눅스 커널은 하드웨어와 응용 프로그램 간의 중재자로 작동한다. 시스템의 물리적 자원(CPU, 메모리, 장치)을 관리하며, 다음과 같은 주요 기능을 수행한다.하드웨어 추상화: 복잡한 하드웨어 접근을 단순화하여 사용자 프로그램이 쉽게 활용할 수 있게 한다.프로세스 관리: PID(Process ID)를 통해 프로세스 스케줄링과 자원 할당을 최적화한다.메모리 관리: 가상 메모리와 스왑 공간을 활용해 물리적 메모리 이상의 용량을 제공한다.시스템 호출 제공: read(), write()와 같은 저수준 연산을 표준화된 인터페이스로 노출한다.이번엔 리눅스 커널 모듈에 대해서 알아보겠다.✒️ 커널 모듈리눅스 커널 모듈은 동적으로 로드/언로드 가능한 코드 조각으로, 시스템 재부팅 없이 커널 기능을 확장할..

Linux 2025.05.15

시스템 로그 분석 및 모니터링(logrotate)

로그는 중요하다로그 파일은 시스템 관리자가 서버의 상태를 파악하고 문제를 해결하는 데 필수적인 정보를 제공한다. 웹 서버, 애플리케이션 서버, 데이터베이스 등 모든 서비스는 자신의 활동을 로그 파일에 기록한다. 이러한 로그 파일들은 시간이 지날수록 크기가 커지게 되는데, 방치하면 디스크 공간을 빠르게 소진시켜 시스템 장애를 일으킬 수 있다.Logrotate란 무엇인가Logrotate는 리눅스 시스템에서 로그 파일을 자동으로 관리하고 압축, 백업, 삭제, 로테이션 등을 수행하는 유틸리티다로그 파일이 지나치게 커지는 것을 방지하고, 디스크 공간을 효율적으로 관리할 수 있게 도와준다대부분의 리눅스 배포판에는 logrotate가 기본적으로 포함되어 있으며, 필요한 경우 패키지 관리자를 통해 쉽게 설치할 수 있다..

Linux 2025.05.15

Terraform + Kubespray + AWS

무엇을 하려고?이번에 제목의 기술들로 AWS EC2에 kubernetes cluster를 배포하기로 했다. 실습의 의미이기 때문에 최소한의 자원만 사용하려고 한다. 혹시 해당 기술들을 모르는 사람들을 위해 짧게 설명하겠다!Terraform : 코드로 인프라를 관리할 수 있게 해주는 오픈소스 도구이다.Kubespray : 프로덕션 환경에 쿠버네티스(Kubernetes) 클러스터를 설치하고 구성할 수 있도록 도와주는 오픈소스 자동화 도구이다.AWS : 도구는 아니다. Amazon Web Service의 약자로, 아마존에서 제공하는 세계 최대의 클라우드 컴퓨팅 서비스 플랫폼이다. kubernetes cluster를 배포하다디렉토리 구조는 다음과 같다.kubernetes-iac/├── setup.sh├── de..

IaC 2025.05.15

Kubernetes - Admission Controller

kubectl와 RBACkubectl의 명령어로 파드를 생성하고자 하면 kube-apiserver로 전달된 이후 파드가 생성되고 최종적으로 해당 파드 정보가 ETCD 데이터베이스에 저장된다. 지금까지 간단한 명령어만으로 이런 일련의 작업을 한 번에 해온 것이다.그렇다면 해당 작업을 간단히 처리해주는 kubectl은 어떤 식으로 동작하는 걸까?다음을 보자. 순서대로 설명해보도록 하겠다.kubectl -> Authenticaion -> Authorization -> Admission Controller -> Create Podkubectl로 kube-apiserver에 명령을 보낸다.apiserver에서 인증(Authentication) 절차를 거치게 되는데 이는 보통 인증서로 이뤄진다. 이 과정에서 요청을..

Kubenetes 2025.05.14
반응형