kubernetes 36

Kubernetes - kubelet

kubelet은 Kubernetes 클러스터 내에서 각 노드(Node)에서 실행되는 에이전트(daemon)로, 해당 노드에서 실행되는 Pod와 컨테이너들을 관리하고 모니터링하는 핵심 구성 요소입니다. 노드에서 실행 중인 컨테이너 상태를 관리하며, Kubernetes 마스터의 명령에 따라 컨테이너 생성, 삭제, 상태 보고 등의 작업을 수행합니다.1. kubelet의 역할kubelet은 노드 수준에서 Kubernetes 클러스터의 상태를 유지하고 제어하는 역할을 합니다. 다음과 같은 주요 역할을 담당합니다:Pod 실행 및 관리: kubelet은 API 서버로부터 받은 Pod의 정의에 따라 해당 노드에서 컨테이너를 생성, 시작, 종료 등의 작업을 수행합니다.컨테이너 라이프사이클 관리: 노드에서 실행 중인 컨테..

DevOps 2024.10.19

Kubernetes - kube-scheduler

Kubernetes의 kube-scheduler는 클러스터 내에서 생성된 Pod를 적절한 노드에 할당하는 역할을 담당하는 컴포넌트입니다. Kubernetes에서 새로운 Pod가 생성되면, 해당 Pod를 어디에 배치할지 결정하는 작업이 필요합니다. 이때 kube-scheduler가 클러스터 내의 리소스 상태, 노드의 특성, 정책 등을 고려하여 Pod를 적합한 노드에 스케줄링합니다.1. kube-scheduler의 역할kube-scheduler의 주요 역할은 클러스터 내의 가용 리소스(노드, CPU, 메모리 등)와 요청된 리소스(Pod의 요구사항)를 바탕으로 Pod가 어느 노드에서 실행될지 결정하는 것입니다. 구체적인 역할은 다음과 같습니다:Pod와 노드 간의 매칭: kube-scheduler는 새로 생성된..

DevOps 2024.10.19

Kubernetes - kube-controller-manager

kube-controller-manager는 Kubernetes 클러스터에서 다양한 컨트롤러를 실행하고 관리하는 핵심 컴포넌트입니다. 이 컨트롤러들은 클러스터의 상태를 지속적으로 모니터링하고, 사용자 또는 시스템의 요청에 따라 상태를 원하는 상태로 유지하기 위한 작업을 수행합니다. 컨트롤러들은 클러스터의 각 리소스에 대한 제어 루프(Control Loop)를 통해 클러스터의 상태를 지속적으로 확인하고 수정합니다. kube-controller-manager는 이러한 여러 컨트롤러들을 하나의 프로세스로 묶어 관리합니다.  kube-controller-manager의 역할kube-controller-manager는 Kubernetes 클러스터의 여러 리소스를 관리하기 위해 **다양한 컨트롤러(controlle..

DevOps 2024.10.19

Kubernetes - kube-apiserver

kube-apiserver는 Kubernetes 클러스터의 핵심 구성 요소로, 클러스터에서 모든 API 요청을 처리하고 클러스터 상태를 관리하는 역할을 합니다. 이를 통해 클러스터의 모든 자원(Resource)을 중앙에서 관리할 수 있습니다. 요청이 들어오면 다음의 과정으로 동작합니다:1. Authenticate User (인증)kube-apiserver는 클러스터에 들어오는 요청이 적절한 권한을 가진 사용자로부터 온 것인지 확인하는 첫 단계로, 인증(Authentication)을 수행합니다. 인증 방식은 여러 가지가 있으며, 클러스터 설정에 따라 다음과 같은 방법이 사용될 수 있습니다:Token-based 인증: JWT와 같은 토큰을 활용한 방식Client certificate 인증: X.509 클라이..

DevOps 2024.10.19

Kubernets - ETCD

etcd는 Kubernetes에서 핵심적인 역할을 하는 분산형 Key-Value 저장소로, 클러스터의 상태 및 설정 데이터를 안전하게 저장하고 관리하는 역할을 합니다. Kubernetes의 모든 컨트롤러, 컴포넌트, API 서버는 etcd를 사용하여 클러스터의 최신 상태를 지속적으로 추적하고 변경 사항을 저장합니다. Kubernetes에서 etcd의 역할클러스터 상태 저장소etcd는 Kubernetes 클러스터의 상태를 저장하는 중앙 데이터 저장소 역할을 합니다. 이는 클러스터 내의 모든 리소스(예: Pod, Service, ConfigMap, Deployment 등)에 대한 정보, 구성, 상태 데이터를 포함합니다.모든 Kubernetes의 상태 변화는 etcd에 기록되며, API 서버는 이 데이터를 기..

DevOps 2024.10.19

AWS CoreDNS

https://ysh94.tistory.com/101 [TerraForm] 기본적인 각 블록의 개념data 블록Terraform에서 사용하는 data 블록은 특정 리소스에 대한 정보를 조회하는 데 사용됩니다. 당신이 언급한 두 가지 데이터 블록은 다음과 같은 역할을 합니다: data "aws_caller_ideysh94.tistory.com상위 게시글에서 추가적인 내용을 다루기 위해 작성 AWS CoreDNS는 Amazon EKS(Elastic Kubernetes Service) 클러스터에서 기본적으로 사용하는 DNS 서버로, 쿠버네티스 클러스터의 서비스 디스커버리 및 DNS 해석을 처리합니다. CoreDNS는 Kubernetes와 함께 사용되며, DNS 요청을 처리하고 여러 플러그인을 통해 다양한 기능..

Cloud 2024.10.10