전체 글 썸네일형 리스트형 [K8S] ConfigMap ConfigMap: 컨테이너 구성 정보를 한 곳에 모아서 관리하는, 애플리케이션의 설정 데이터를 외부화하기 위해 사용되는 API 리소스 애플리케이션 코드와 환경별 설정 데이터를 분리할 수 있으며, 설정 변경 시 애플리케이션을 재배포하지 않아도 된다.설정 분리: 환경별로 다른 설정 데이터를 외부화하여 ConfigMap에 저장하여 코드와 설정을 분리.Key-Value 형태다양한 데이터 소스 지원: YAML/JSON 파일, 명령어 출력, 문자열 데이터 등.동적인 재구성 가능: ConfigMap을 변경하면 애플리케이션이 즉시 새로운 값을 읽도록 구성 가능. (변경 용이성)다양한 사용 방법: 환경 변수, 커맨드라인 인수, 볼륨 마운트를 통해 애플리케이션에 설정 데이터 제공주의사항데이터 크기 제한: ConfigM.. 더보기 [K8S] Rollout Rollout은 애플리케이션을 점진적으로 업데이트하거나 롤백하는 프로세스를 의미한다. Rollout은 주로 Deployment와 함께 사용되며, Kubernetes가 애플리케이션의 가용성을 유지하면서 업데이트를 수행하도록 보장한다. 점진적 업데이트:애플리케이션의 새로운 버전이 기존 버전을 대체할 때, 모든 Pod을 한 번에 교체하지 않고 점진적으로 업데이트.가용성 유지:업데이트 중에도 애플리케이션이 가용성을 유지하도록 보장.롤백 지원:새로운 버전 배포 중 문제가 발생하면 간단히 이전 버전으로 되돌릴 수 있음.히스토리 관리:이전 배포 내역(Revision)을 저장하여 롤백과 관리에 활용. strategy (1) RollingUpdate (기본값)Pod를 순차적으로 교체일부 Pod는 기존 버전을 실행하며,.. 더보기 [K8S] Static Pods Static Pods는 노드에서 직접 실행되는 Pod로, API 서버를 통해 관리되지 않고 Kubelet에 의해 직접 실행된다. Static Pod는 일반적으로 시스템 구성 요소(예: etcd, kube-apiserver, kube-scheduler) 또는 Kubernetes 클러스터 외부에서 관리되어야 하는 특수한 워크로드를 실행하는 데 사용된다. Static Pod의 특징Kubelet에 의해 관리:Static Pod는 노드의 Kubelet에 의해 직접 실행된다.Kubernetes apiserver에서 관리되지 않으며, 클러스터 상태와 무관하게 동작.노드 특정:Static Pod는 특정 노드에서만 실행된다.Static Pod의 definition파일은 해당 노드의 파일 시스템에 저장되어야 한다. (/e.. 더보기 [K8S] Endpoints Endpoints는 Kubernetes에서 Service와 연결된 파드(Pod)들의 네트워크 위치(IP와 포트)를 저장하는 리소스이다.Service는 Endpoints를 참조하여 트래픽을 적절한 파드로 전달한다.1. Endpoints의 역할파드의 동적인 IP 관리: 파드는 삭제되거나 재생성될 때마다 새로운 IP를 가지므로, Endpoints는 현재 Service에 연결된 파드의 최신 IP와 포트를 저장한다.트래픽 라우팅: Service는 트래픽을 Endpoints에 등록된 IP와 포트로 전달하여 여러 파드로 분산(로드 밸런싱)한다.파드와 Service 연결: Selector 기반으로 Service와 일치하는 파드들의 네트워크 정보를 Endpoints로 자동 관리한다.2. Endpoints의 구조Endpo.. 더보기 [K8S] Deployment Deployment는 Kubernetes의 리소스 중 하나로, 애플리케이션을 배포하고 관리하기 위한 가장 일반적인 방식이다.Deployment를 통해 애플리케이션의 생명 주기 관리, 버전 업데이트, 수평 확장(스케일링) 등을 선언적 방식으로 제어할 수 있다. Deployment의 주요 기능애플리케이션 배포: 새로운 애플리케이션을 손쉽게 클러스터에 배포, 무중단 배포 보장자동 업데이트 및 롤백:새로운 버전의 애플리케이션을 배포하면서 이전 버전으로의 롤백 기능도 제공업데이트가 실패하거나 문제가 발생하면 자동으로 롤백 가능수평 확장: 애플리케이션 부하에 따라 파드의 수를 동적으로 조정(스케일링)셀프 힐링(Self-Healing): 비정상적으로 종료된 파드나 노드 장애가 발생한 경우 자동으로 새 파드를 생성.선.. 더보기 [K8S] kube-proxy kube-proxy는 쿠버네티스의 네트워킹 컴포넌트로, 클러스터 내에서 파드(pod)와 서비스(service) 간의 네트워크 통신을 관리한다. 각 노드에서 실행되며, 쿠버네티스 서비스가 정의한 네트워크 규칙(iptables)을 적용하여 트래픽 라우팅과 로드 밸런싱을 처리합니다 주요 역할서비스 구현: kube-proxy는 쿠버네티스의 서비스(Service) 리소스를 구현하여, 외부 및 내부 트래픽이 적절한 파드로 전달되도록 설정한다.트래픽 라우팅: 서비스의 클러스터 IP를 통해 들어오는 트래픽을 관련 파드로 전달한다.로드 밸런싱: 여러 파드가 서비스에 연결된 경우, 트래픽을 해당 파드로 라운드 로빈 방식으로 분산하여 처리한다.네트워크 규칙 관리: 클러스터 내에서 트래픽 흐름을 제어하기 위해 iptables.. 더보기 [K8S] Kube-controller-manager kube-controller-manager는 쿠버네티스의 컨트롤러(controller)들을 관리하고 실행하는 핵심 구성 요소이다.controller는 쿠버네티스 클러스터에서 원하는 상태(desired state)와 실제 상태(actual state)가 일치하도록 보장하는 역할을 한다. 역할과 기능1. 컨트롤러 통합 실행: 쿠버네티스에서 여러 컨트롤러를 실행하며, 각각의 컨트롤러는 특정 리소스의 상태를 모니터링하고 이를 조정합니다.2. 상태 일치 보장: 선언정 방식 동작, 사용자가 원하는 상태를 정의하면, 컨트롤러가 클러스터의 실제 상태를 지속적으로 관찰하고 수정하여 원하는 상태를 유지한다.3. 자율 동작: kube-controller-manager는 자동으로 상태를 조정하며, 클러스터 관리자가 개입하지.. 더보기 [K8S] Kube-API Server kube-apiserver는 쿠버네티스 클러스터의 핵심 구성 요소로, 클러스터 상태를 관리하고 모든 클라이언트 요청을 처리하는, 즉 쿠버네티스 API를 처리하는 중앙 관리 인터페이스이다.컨트롤 플레인(Control Plane)의 중요한 부분으로, 클러스터와의 모든 상호작용은 kube-apiserver를 통해 이루어진다.또한 etcd data store와 유일하게 직접 상호작용하는 구성요소이다.(보통 kubelet, scheduler 등은 API server를 사용해서 각 영역의 클러스터에서 업데이트를 수행한다.)주요 역할클라이언트 요청 처리:사용자, kubectl, 애플리케이션, 그리고 내부 쿠버네티스 컴포넌트가 클러스터와 통신할 때 API 요청을 보낸다.이 요청은 모두 kube-apiserver가 처리.. 더보기 이전 1 2 3 4 5 ··· 11 다음