본문 바로가기

IT317

Kubernetes Architecture Kubernetes의 클러스터에는 아래와 같이 여러 개의 구성 요소가 있습니다.Control Plane 이라 불리는 Matser Node와 Data Plane 이라 불리는 Work Node 가 존재합니다.Control Plane클러스터 전체를 관리하고 조정하는 중앙 컴포넌트 집합입니다. Control Plane은 클러스터의 상태를 유지하고, 작업을 예약하며, 클러스터의 일관성과 안정성을 보장합니다. 주요 구성 요소는 다음과 같습니다:kube-api-server:Kubernetes API 서버로, 클러스터의 API 요청을 처리합니다.사용자, CLI 툴, 그리고 다른 Kubernetes 컴포넌트와의 모든 통신을 처리합니다.클라이언트가 클러스터와 상호 작용할 수 있도록 RESTful API를 제공합니다.etc.. 2024. 5. 16.
Kubernetes Kubernetes의 탄생 배경Kubernetes는 Google에서 개발된 오픈 소스 컨테이너 오케스트레이션 시스템입니다. Google의 내부 컨테이너 관리 시스템인 Borg에서 영감을 받아 개발되었습니다. Borg는 Google의 대규모 인프라에서 컨테이너를 관리하기 위해 사용된 시스템입니다. Google은 2014년에 Kubernetes를 발표했고, 2015년에 Cloud Native Computing Foundation(CNCF)에 기부했습니다.Cloud Native Computing Foundation(CNCF)CNCF는 클라우드 네이티브 컴퓨팅 기술의 개발과 채택을 촉진하기 위해 설립된 비영리 재단입니다. CNCF는 다양한 오픈 소스 프로젝트를 관리하며, 클라우드 네이티브 환경의 표준화를 지원합.. 2024. 5. 16.
Spring Boot 3.2 변경점 Logged Application Name 기본 로그 출력에 이제 spring.application.name 속성을 설정한 경우 애플리케이션 이름이 포함됩니다. 이전 형식을 선호하는 경우 logging.include-application-name을 false로 설정할 수 있습니다. Auto-configured User Details Service 자동 구성된 InMemoryUserDetailsManager는 이제 classpath에 spring-security-oauth2-client, spring-security-oauth2-resource-server, 또는 spring-security-saml2-service-provider 중 하나 이상이 있을 때 물러납니다. 마찬가지로, 리액티브 애플리케이션에서.. 2023. 11. 24.
스프링의 트랜잭션 프로그래밍 방식 트랜잭션 소스코드에 직접 트랜잭션을 넣어 관리하는 방법 트랜잭션이 필요한 모든 메서드에 선언을 해주기 때문에 유연하나 유지보수가 힘들다. 선언적 트랜잭션 AbstractPlatformTransactionManager 를 상속하여 일관되게 형식으로 적용이 가능하도록 되어있어 주로 사용한다. 스프링의 @Transactional은 CGlibAopProxy를 사용하여 구현하였는데 흐름을 분석해보자. class CglibAopProxy implements AopProxy, Serializable { private static class DynamicAdvisedInterceptor implements MethodInterceptor, Serializable { @Override @Nullable .. 2023. 10. 12.