본문 바로가기

분류 전체보기53

[쿠버네티스] Kubernetes Service 종류(ClusterIP, NodePort, LoadBalancer, ExternalName, Headless Service) Kubernetes Service서비스(Service)의 역할:쿠버네티스에서는 파드가 생성되고 소멸되기 때문에, 클라이언트(예: 다른 파드나 내부 컴포넌트)가 안정적으로 애플리케이션에 접근할 수 있도록 서비스 객체를 사용합니다. 서비스는 여러 파드의 집합에 대한 단일 접근점을 제공하여 로드 밸런싱 및 장애 복구를 돕습니다. Service 타입ClusterIP (기본값):클러스터 내부에서만 접근 가능한 가상 IP를 할당합니다. 외부에서 직접 접근은 불가능하며, 내부 서비스 간 통신에 주로 사용됩니다.NodePort:각 노드의 동일한 포트를 열어 외부에서 접근할 수 있도록 합니다. NodeIP:NodePort를 통해 클러스터 외부에서도 서비스를 호출할 수 있습니다.LoadBalancer:클라우드 환경에서 주.. 2025. 4. 9.
[쿠버네티스] Job, CronJob 이란? Job과 CronJob에 대해 설명하기 전에 쿠버네티스의 컨트롤러의 기능과 종류는 다음과 같습니다.쿠버네티스의 컨트롤러의 기능Pod의 개수를 보장 쿠버네티스 컨트롤러 종류 이번 글에서는 이중에서 Job과 CronJob에 대해 다루어보려고 합니다.Job이란?job은 쿠버네티스 ①pod를 이용해서 ②일회성 또는 정기적인 작업을 실행할 때 사용합니다. pod와 다른점은 종료되는 것을 기대하고 작업 실행결과를 알려줍니다.목적: Job은 반복 실행할 필요가 없는 단발성 작업이나 배치 작업을 수행할 때 사용됩니다.동작 방식: Job은 하나 이상의 파드를 생성하여 작업을 수행한 후, 작업이 성공적으로 완료되면 종료됩니다. 만약 작업이 실패하면, Job 컨트롤러는 파드를 재시작하거나 새로운 파드를 생성하여 작업을 다시.. 2025. 4. 2.
[쿠버네티스] Deployment, DaemonSet, StatefulSet 이란? 쿠버네티스 컨트롤러 종류 Deployment란?Deployment는 ReplicaSet의 상위 개념으로, Pod와 ReplicaSet에 대한 배포를 관리합니다. 운영 중에 어플리케이션의 새 버전을 배포해야하거나 부하가 증가하면서 Pod를 추가하는 등 여러 가지 동작을 Deployment로 관리할 수 있습니다.또한 Deployment는 배포에 대한 이력을 관리하는데 만약 배포한 새버전의 문제가 생긴 경우 Deployment를 통해 쉽게 이전 버전으로 롤백할 수 있습니다. 쿠버네티스로 서비스를 운영하는 상황이라면 ReplicaSet만으로 운영하기 보다는  대부분 Deployment단위로 Pod와 ReplicaSet을 관리하여 운영합니다.  Deployment 구성apiVersion: apps/v1kind: .. 2025. 3. 17.
[쿠버네티스] ReplicationController, ReplicaSet 이란? + 차이점 ReplicationController와 ReplicaSet에 대해 설명하기 전에 쿠버네티스의 컨트롤러의 기능과 종류는 다음과 같습니다.쿠버네티스의 컨트롤러의 기능- Pod의 개수를 보장 쿠버네티스 컨트롤러 종류이번 글에서는 이중에서 Replication Controller와 Replicaset에 대해 다루어보려고 합니다.   Replication Controller 이란?요구하는 Pod의 개수를 보장하며 파드 집합의 실행을 항상 안정적으로 유지하는 것을 목표요구하는 Pod의 개수가 부족하면 template를 이용해 Pod를 추가요구하는 Pod 수 보다 많으면 최근에 생성된 Pod를 삭제기본 구성selector : 어떤 파드가 관리 대상인지를 결정합니다.replicas : 클러스터 내에 유지하고자 하는 .. 2025. 3. 9.
[쿠버네티스] Pod Resource 할당(Request, Limit) Pod의 Resource를 제한하지 않을 경우 발생할 수 있는 문제1) starvation리소스를 제한하지 않으면 해당 노드에 할당된 컨테이너는 노드의 리소스를 전부 다 사용할 수 있습니다. 따라서 만약 리소스 제한을 두지 않고 특정 호스트에 Pod를 두 개 이상 띄웠을 경우, 하나의 Pod가 노드의 모든 리소스를 사용한다면 새로운 Pod가 스케줄링될 수 없습니다. 2) 보안 관련 이슈만약 특정 Pod에 보안 관련 버그가 발생해서 해커가 해당 Pod에 디도스 공격을 주어 노드의 모든 리소스를 사용하게 된다면, 다른 Pod들은 스케줄링될 수 없다. ** 따라서 Pod 하나를 띄우더라도 해당 Pod가 리소스를 얼마나 사용할지를 결정하여 limit를 적절하게 걸어주어야 합니다.  1. 리소스 요청 (Reque.. 2025. 3. 2.
[쿠버네티스] Init,Infra Container 및 Static Pod란? Init Containerapp container가 구동되기 이전에 pod를 초기화해주는 container입니다.pod의 환경설정 또는 기타 다른 부수적인 작업을 하기 위해 일회성으로 구동되는 것입니다app container와 다른 특성이 있다면 반드시 init container -> app container로 구동된다는 점입니다.그래서 init container에서 에러가 발생한 경우 app container가 구동되지 않고 에러가 발생합니다.exampleapiVersion: v1kind: Podmetadata: name: myapp-pod labels: app.kubernetes.io/name: MyAppspec: containers: - name: myapp-container im.. 2025. 3. 2.