[Kubernetes] Common - 3. Configmap & Secret
·
Kubernetes/Common
1. Cofigmap 과 Secret 이란?Cofigmap 과 Secret 모두 쿠버네티스(Kubernetes)에서 애플리케이션 설정값을 외부에서 주입하기 위해 사용하는 리소스 객체민감하지 않은 정보의 경우 configmap 을 사용하고 민감 정보의 경우 base64로 인코딩 한 후 secret을 이용한다. *base64로 인코딩 하는 이유는 바이너리 데이터나 특수문자를 직접 다루기 어렵기 때문이지 보안 때문이 아니다. 쿠버네티스에서 secret 설정 yml 파일은 etcd 라는 key-value 저장소에 저장하는데, 이때 기본 설정에서는 암호화되지 않은 채 저장하기 때문에 운영 환경에서는 반드시 EncryptionConfiguration을 설정해 암호화 해야 하고, RBAC(Role-Based Acc..
[Kubernetes] Common - 2. Pod & ReplicaSet & Deployment
·
Kubernetes/Common
1. Pod란?Kubernetes에서 애플리케이션을 실행하는 가장 작은 배포 단위로, 하나 이상의 컨테이너를 묶은 논리적 단위이다.pod는 같은 네트워크 공간(IP, Port), 스토리지 볼륨, 라이프사이클을 공유한다. 2. Pod 샘플파일 형식 : .yml or .yamlapiVersion: v1kind: Podmetadata: name: sample-pod namespace: defaultspec: containers: - name: nginx image: nginx:1.27.0 resources: requests: cpu: "300m" memory: "500Mi" limits: cpu: "300m" memory: ..
[Kubernetes] Common - 1. 쿠버네티스란?
·
Kubernetes/Common
1. Kubernetes구글은 2000년대 초부터 리눅스 커널 기능인 cgroups(Control Groups), nameSpace를 이용해 커널 레벨에서 리소스와 프로세스를 격리하는 자체 컨테이너 기술을 사용해왔다. 이후 2000년대 중반 구글은 도커 공개 전에도 해당 자체 컨테이너 기술을 기반으로 Borg 라는 대규모 클러스터 관리 시스템을 개발해, 애플리케이션을 배포, 실행, 관리해왔다. 그러나 Borg는 중앙 집중형 아키텍처로 인해 유연성에 한계가 있었고, 이를 보완하기 위해 구글은 분산형 스케줄링 아키텍처를 적용한 Omega라는 새로운 시스템을 개발했다. Omega는 여러 스케줄러가 동시에 동작하면서도 충돌을 해결할 수 있는 구조로, 보다 유연하고 확장성 높은 클러스터 관리를 가능하게 했다. 2..