본문 바로가기

전체 글30

Labels & Selectors 쿠버네티스에서 Labels 와 Selectors 는 리소스를 효과적으로 그룹화하고 필요한 리소스를 선택하기 위한 도구로 사용됩니다. Labels 1) 역할 레이블은 쿠버네티스 리소스에 부가적인 메타데이터를 추가합니다. 리소스를 특정 속성, 환경, 역할 등으로 식별하고 분류하는 데 활용합니다. 2) 구조 및 예시 레이블은 key-value 쌍으로 이루어져 있습니다. Pod, Replicaset 등의 리소스에 레이블을 부여할 수 있습니다. ex) app: frontend apiVersion: v1 kind: Pod metadata: name: simple-webapp **labels: app: App1 function: Front-end** spec: containers: - name: simple-weba.. 2024. 1. 18.
Imperatvie vs Declarative 쿠버네티스에서 리소스를 관리하는 두 가지 주요 방법은 명령형(Imperative) 방식과 선언형(Declarative) 방식입니다. 1. Imperative - 명령형 방식 명령형 방식은, 말 그대로 리소스를 단계별로 명령어로 직접 지정하고 생성하는 방식입니다. kubectl run, create, expose 명령어가 명령형에 해당합니다. 단일 명령으로 리소스를 빠르게 생성하고 변경할 수 있지만, 변경 내용을 추적하기 어렵다는 단점이 있습니다. 2. Declarative - 선언형 방식 리소스의 상태를 Yaml 파일 같은 선언적인 형식으로 정의하고, 이를 쿠버네티스에 제출하여 원하는 상태로 유지하도록 하는 방식을 선언형 이라고 합니다. 달성해야 할 최종 상태만 쿠버네티스에 전달합니다. kubectl -.. 2024. 1. 18.
Service 쿠버네티스에서 서비스(Service)는 일련의 파드(Pod)에 대한 네트워크 엔드포인트를 제공하고, 이를 통해 파드의 안정적인 네트워크 통신을 지원하는 추상적인 개념입니다. 파드는 생성될 때마다 내부 IP 주소가 변화하기 때문에 애플리케이션이 안정적으로 외부와 상호 통신이 가능하기 위해서는 고정된 IP 주소가 필요합니다. 서비스가 이런 역할을 해줍니다. 정리하자면, 서비스는 파드들을 통해 실행되고 있는 애플리케이션을 네트워크에 노출시키는 가상의 컴포넌트입니다. 여러 파드들에게 단일한 네트워크 진입점을 부여합니다. 쿠버네티스에서는 주로 다음 네 가지 종류의 서비스를 사용합니다 1. ClusterIP ClusterIP 서비스는 클러스터 내에서 파드에 접근하기 위한 가상 IP를 제공합니다. 클러스터 내부에서만.. 2024. 1. 18.
Pod, ReplicaSet, Deployment 1. Pods 파드는 쿠버네티스에서 가장 기본적인 배포 단위입니다. 보통 한 pod 안에 한 컨테이너가 존재합니다. 여러 개의 컨테이너 가능하지만 보통 스케일 업 다운은 파드의 개수를 의미하는 것입니다. 파드의 컨테이너들은 동일한 네트워크 네임스페이스와 스토리지를 공유합니다. 주로 하나의 애플리케이션을 실행하는데 사용되며, 동일한 노드에서 실행됩니다. 쿠버네티스에서의 파드는 무언가가 구동 중인 상태를 유지하기 위해 동원되는 일회성 자원으로, 언제든 다른 노드로 옮겨지거나 삭제될 수 있습니다. 파드는 생성될 때마다 새로운 내부 IP를 할당 받음. yaml 파일로 리소스 deploy 쿠버네티스는 yaml을 input으로 다양한 리소스(pods, replicas, deployents,,)를 만듭니다. apiV.. 2024. 1. 18.