오늘도 기록하는 중 GitHub

Container & Orchestration/Kubenetes 17

Kubernetes - Federation

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

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

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

Kubernetes - 멀티 테넌시 환경 구축

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

Istio란?

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

Kubernetes - Validating, Mutating Admission Controller

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

Kubernetes - Admission Controller

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

Kubernetes (9)

스토리지와 로깅/모니터링 시스템쿠버네티스 스토리지 시스템쿠버네티스에서 영구적인 데이터 저장을 위해 PV(Persistent Volume)와 PVC(Persistent Volume Claim)를 사용한다. 이러한 시스템은 컨테이너가 재시작되거나 파드가 이동되어도 데이터가 유지될 수 있도록 해준다.PV와 PVC 생성 방법PV를 생성하는 방법에는 여러 가지가 있으며, 각 방법은 다양한 사용 사례에 맞게 설계되어 있다.정적 프로비저닝(Static Provisioning)클러스터 관리자가 직접 PV를 생성하고 PVC와 연결하는 방식이다.PV는 쿠버네티스 API에 저장되며, 클러스터 사용자가 사용할 수 있는 스토리지 리소스 정보를 포함한다.관리자는 미리 특정 용량의 PV를 생성해두고, 사용자의 PVC 요청이 있을 ..

Kubernetes (8)

Component And Networkkube-apiserverkube-apiserver는 쿠버네티스 클러스터의 제어 평면(Control Plane)의 핵심 구성 요소로, 클러스터의 상태를 관리하고 제어하는 역할을 한다. 모든 REST API 요청을 처리하며, 클러스터 내의 모든 컴포넌트와 통신한다. API 서버는 클러스터의 상태 정보를 etcd에 저장하고, 이를 기반으로 클러스터를 관리한다.주요 역할클러스터의 중앙 관리 지점: 모든 API 요청을 처리하고, 클러스터의 상태를 관리한다.인증 및 인가: 클러스터에 대한 접근을 제어하기 위한 메커니즘을 제공한다.데이터 저장 및 조회: 클러스터의 상태 정보를 etcd에 저장하고, 필요한 데이터를 조회한다.요청 인증 및 유효성 검증: 모든 요청은 먼저 인증과 검..

반응형