kubernetes의 master node에서 동작하는 API Server이다.API Server는 etcd라는 저장소에 직접 접근하는 역할을 담당하고, 실제 kubernetes object를 생성 및 수정 할 때의 validation과 다른 component들에서 e
StatefulSet은 언제나 동일한 network와 host, 지속성 있는 volume, 순차적인 배포가 필요한 Pod을 관리하기 위한 Resource이다.그렇다면 ReplicaSet과 다른점은 무엇일까?ReplicaSet은 언제나 대체될 수 있는 Pod을 생성한다.
ReplicaSet을 이용하여 어플리케이션을 배포하고 선언적으로 업데이트가 가능한 high-level 리소스이다.Deployment를 생성하면 ReplicaSet이 생성되며, ReplicaSet은 pod을 생성하게된다.Pod의 관리는 ReplicaSet이 담당하는데 D
Application에 전달되어야하는 정보 중 외부에 노출이되면 안되는 정보가 존재한다.password, 인증서 등등이 대표적인 값이다.이러한 값은 외부로 노출되지 않아야한다.secret은 configmap과 매우 유사하지만 memory에만 올라가기 때문에 contai
Container가 실행될 때 설정 정보가 필요한 경우가 대부분이다.외부 Container와 통신하기 위한 endpoint, DB connection의 정보 등등 다양한 정보가 포함 될 수 있다.Container가 실행될때 인자를 주입하는 방법에는 실행 command에
Pod에서 Container와 Lifecycle을 같이하는 Volume을 유지해야하는 경우가 아니라면 PersistentVolume을 사용해 저상소를 유지할 수 있다.PersistentVolume을 이용해 개발자는 언제든지 필요한 storage를 요청해 사용 가능하다.
Pod은 내부에 process가 실행되고 CPU, RAM, Network Interface등의 리소스를 사용한다. 하지만 디스크는 조금 다르다. Pod 내부의 컨테이너들은 각각 분리된 파일 시스템을 가진다. 분리된 파일 시스템을 사용하는 이유는 파일시스템은 컨테이너 이
Service란 Pod을 네트워크 서비스로 노출시켜 외부에서 Pod에 Request를 전달할 수 있게하는 Object이다.이 Service 대신에 Pod의 IP주소를 사용하면 되지 않을까라는 생각을 할 수 있지만, 이러한 방법은 운영단계에서 매우 비효율적이고 관리가 되
지속적으로 Task를 실행하는 Object가 아닌, 단일로 Task를 실행하고 완료하는 Resource도 존재한다.이 Job은 컨테이너 내부의 실행 중인 프로세스가 성공적으로 완료되면 컨테이너를 다시 시작하지 않는 Pod을 생성하게 해준다.즉 batch job 같은 기
Cluster에 존재하는 모든 Node마다 하나의 Pod을 실행하기 위해 사용하는것이 Daemonset이다.주로 시스템 수준의 작업을 수행하는 Pod이다. 로그 수집기, 리소스 모니터링 등이 주로 Daemonset으로 사용된다.Kubernetes에서 제공하는 Daemo
Replication Controller는 Kubernetes의 Resource로 Pod이 항상 실행되도록 보장하는 Object이다. Pod에서 Crash가 발생하거나, 다른 이유로 삭제되면 Replication Controller에 정의된 대로 Pod을 새롭게 생성한
Kubernetes는 하나의 Cluster를 기반 동작하는 가상 클러스터를 지원한다.즉 하나의 Cluter 내부에서 여러 Cluster를 사용하는 것과 같은 효과를 지닐 수 있다.이걸 가능하게 해주는 개념이 바로 Namespace이다.여러가지 종류의 Object가 존재
Java에서 JVM에 남아있는 더 이상 필요하지 않는 객체들을 삭제하는 작업이다.줄여서 GC라고 부르며, GC가 일어나는 동안은 GC에 관여하지 않는 thread는 작업을 멈추게 된다.GC 실행을 위해서 JVM이 application의 동작을 멈추는 과정을 stop-t
Label과 비슷하게 Kubernetes Object에 annotation을 추가할 수 있다.annotation은 label과 비슷해보이지만 식별하기 위한 key-value의 값이 아니다.식별자가 존재하지 않기 때문에 label처럼 검색이 불가능하다.개발자가 아닌 li
kubernetes Object에 key-value 형태로 값을 붙이는게 label이다.Object의 특징을 추가하여 사용자에게 노출되게 하는게 label의 목적이다.label로 Object의 집합을 구성하고, 특정 label로 Object들을 한번에 조회도 가능하다.
Pod이란 kubernetes에서 생성, 관리, 배포 할 수 있는 가장 단위이다.하나 이상의 컨테이너 그룹으로 하나의 pod 내부에 존재하는 컨테이너는 storage, network를 공유한다.하나 이상의 컨테이너 그룹이란건 언제나 여러개의 container로 구성되어
그럼 Kubernetes란 무엇인가?컨테이너 환경으로 작성된 application을 자동으로 배포하며, application에 장애가 발생시 자동복구, auto sacle out을 제공하는 관리 시스템이다.확장성 \- 서로 독립적으로 확장해야 하는 Microserv
JPA Primary Key Mapping 전략은 총 4가지가 있다. AUTO, IDENTITY, SEQUENCE, TABLE이다. 우선 DB에서 Primary Key를 선택할때는 크게 2가지가 존재한다. 자연키와 대체키이다. 자연키는 의미가 있는 값 또는 비지니스 로직에서 의미가 있는 값이다.EX) email, 주민번호 등등 자연키의 큰 단점은 언제든지 ...