분류 전체보기 166

Kubernetes (7)

쿠버네티스 컨트롤러 - StatefulSet, Ingress, AutoscalerStatefulSet의 특징과 ReplicaSet과의 차이점쿠버네티스에서 StatefulSet은 상태를 유지해야 하는 애플리케이션을 위한 워크로드 API 오브젝트다. ReplicaSet이 상태가 없는(Stateless) 애플리케이션을 위한 것이라면, StatefulSet은 상태가 있는(Stateful) 애플리케이션을 위해 설계되었다. 대표적인 Stateful 애플리케이션으로는 MongoDB, MariaDB, Redis와 같은 데이터베이스가 있다.ReplicaSet과 StatefulSet의 주요 차이점Pod 이름 생성 방식ReplicaSet: Pod 이름이 랜덤하게 생성됨 (예: my-app-jk291, my-app-f3g21..

기록/Kubenetes 2025.04.17

Kubernetes (6)

쿠버네티스 주요 구성요소 - Service, Volume, API 접근 관리Service쿠버네티스에서는 다양한 상황에서 활용하기 위해 클러스터 내 DNS 서버를 제공한다. 이 DNS 서버는 Service의 도메인 이름과 IP를 저장하고 있어 Pod가 Service의 도메인을 질의하면 해당 IP를 알려준다. 이를 통해 동적으로 변하는 Pod의 IP에 대응할 수 있다.HeadlessHeadless Service는 Pod 간 직접 통신이 필요할 때 사용하는 방식이다. 일반적인 Service는 ClusterIP를 통해 여러 Pod에 로드밸런싱을 제공하지만, Headless Service는 각 Pod에 직접 접근해야 할 때 유용하다.ClusterIP 속성에 None 지정: Service의 IP를 생성하지 않는다...

기록/Kubenetes 2025.04.16

Kubernetes (5)

Pod파드 라이프사이클쿠버네티스에서 파드(Pod)는 애플리케이션의 기본 실행 단위로, 생성부터 종료까지 정의된 라이프사이클을 따른다. 파드는 컨테이너 그룹을 표현하는 추상적인 개념이며, 쿠버네티스 클러스터에서 실행되는 프로세스를 나타낸다.파드의 상태와 단계+----------+| Pending |+----------+ | v+----------+| Running |+----------+ / \ v v+----------+ +----------+|Succeeded| | Failed |+----------+ +----------+ | v+----------+| Unknown |+----------+파드는 생명주기 동안 다양한 단계(Ph..

기록/Kubenetes 2025.04.15

Kubernetes (4)

Kubernetes의 배포 전략과 컨트롤러 이해하기DeploymentDeployment는 쿠버네티스에서 애플리케이션의 배포와 업데이트를 관리하는 핵심 컨트롤러다. 이를 통해 ReplicaSet의 생성 및 관리부터 애플리케이션 업데이트와 롤백까지 선언적으로 수행할 수 있다. Deployment를 사용하면 Pod 및 ReplicaSet을 명시적으로 생성할 수 있으며, 쿠버네티스 컨트롤 플레인은 현재 상태를 지속적으로 모니터링하여 원하는 상태로 유지한다.Deployment의 주요 기능은 다음과 같다.Pod와 ReplicaSet의 생명주기를 자동으로 관리한다.다양한 애플리케이션 배포 전략을 지원한다.문제가 발생했을 때 이전 버전으로 롤백하는 기능을 제공한다.애플리케이션의 확장성과 스케일링을 자동화한다.Deplo..

기록/Kubenetes 2025.04.14

컨테이너와 가상 머신(VM)

개요쿠버네티스에 대한 정보를 찾아보다가 문득 다음 글을 눈에 띄었다. 컨테이너와 VM의 차이는 무엇일까?도커를 자주 사용해왔고 최근에는 vm도 다루기 시작했지만 이 차이를 설명할 정도로 이에 대해 이해하지 못하고 있었다. 그래서 이번에는 이들에 대해 알아보고자 한다!가상 머신(Virtual Machine)의 구조와 작동 방식가상 머신의 정의가상 머신은 물리적인 하드웨어 위에 하이퍼바이저(Hypervisor)를 설치하고, 그 위에 각기 다른 운영 체제(Guest OS)를 설치하여 독립적인 실행 환경을 제공한다. 각 VM은 자체적인 커널과 사용자 공간을 가지며, 물리적 하드웨어를 가상화하여 사용한다.사용자 공간과 커널 공간의 활용커널 공간: 각 VM은 자체 운영 체제를 포함하므로, 고유의 커널 공간을 가진..

Kubernetes (3)

Objects - Namespace, ResourceQuota, LimitRange쿠버네티스 클러스터에서 자원 관리는 핵심적인 요소다. 기본적으로 쿠버네티스의 컨테이너는 제한 없이 클러스터 자원을 사용할 수 있어 한 애플리케이션이 전체 클러스터 자원을 독점할 위험이 있다. 이런 문제를 해결하기 위해 쿠버네티스는 Namespace, ResourceQuota, LimitRange라는 세 가지 핵심 오브젝트를 제공한다. 이 글에서는 이 세 가지 오브젝트의 개념, 활용법, 그리고 실제 구현 방식에 대해 자세히 알아본다.Namespace 이해하기네임스페이스는 쿠버네티스 클러스터 내에서 논리적으로 자원을 분리하는 가상 클러스터다. 네임스페이스를 통해 여러 팀이나 프로젝트가 동일한 클러스터를 공유하면서도 각자의 자원..

기록/Kubenetes 2025.04.11

Kubernetes (2)

개념 정리쿠버네티스의 핵심 개념인 Pod, Service, Volume, ConfigMap 및 Secret을 중심으로 이해하기 쉽게 정리해보고자 한다!Pod - Container, Label, NodeSchedulePod의 기본 개념Pod는 쿠버네티스에서 배포할 수 있는 가장 작은 단위로, 하나 이상의 컨테이너를 포함한다. 같은 Pod 내의 컨테이너들은 스토리지와 네트워크를 공유하며 서로 로컬호스트처럼 통신할 수 있다.노드 스케줄링쿠버네티스는 자동으로 Pod를 노드에 배치하지만, 특정 노드에 Pod를 배치해야 하는 경우가 있다. 이를 위한 방법으로는:nodeSelector: Pod 명세의 spec 섹션에 특정 레이블을 가진 노드를 지정하는 방법Node Affinity: 노드 선택에 더 유연한 표현식을 제..

기록/Kubenetes 2025.04.10

Kubernetes (1)

쿠버네티스쿠버네티스(Kubernetes)는 컨테이너화된 애플리케이션의 배포, 확장, 관리를 자동화하고 조율하기 위한 오픈소스 플랫폼이다. 구글이 개발한 이 시스템은 일주일에 수십억 개의 컨테이너를 생성하고 관리하던 경험을 바탕으로 만들어졌으며, 현재는 클라우드 네이티브 컴퓨팅 재단(CNCF)에서 관리하고 있다. 흔히 'K8s'라고도 불리는데, 이는 'K'와 's' 사이에 8개의 문자가 있다는 의미에서 비롯되었다.쿠버네티스 아키텍처 구성요소클러스터(Cluster)클러스터는 쿠버네티스의 가장 기본적인 단위로, 노드라고 불리는 머신들의 집합이다. 이 클러스터는 컨테이너화된 애플리케이션을 실행하며, 컴퓨팅 리소스를 공유하여 애플리케이션의 배포와 관리를 담당한다.마스터 노드(Master Node/Control P..

기록/Kubenetes 2025.04.08

리눅스

리눅스 : 파일 시스템, 권한 및 구조리눅스는 다중 사용자를 지원하는 운영체제로, 안정성과 보안성이 뛰어나다. 파일 시스템, 권한 관리, 사용자 관리 등 다양한 기능을 제공하여 서버 환경에서 널리 사용된다. 이 글에서는 리눅스에 대해 전혀 모르는 사람을 위해 리눅스의 파일 시스템, 권한, 내부 구조 등에 대해 자세히 설명한다. 파일 시스템의 이해파일 시스템 개념파일 시스템은 디스크에 저장된 데이터와 논리적인 단위인 파일을 연결하는 체계이다. 운영체제가 데이터를 찾아 읽고 쓰기 위해 구성하는 구조이다. 파일 시스템의 기능은 다음과 같다.파일 관리(생성, 삭제, 수정 등)파일 접근 방법과 제어 방법 제공백업이나 복구 기능 제공파일 안전을 위한 암호화 및 복호화 기능파일 접근 인터페이스 및 명령어 제공리눅스의..

기록/운영체제 2025.03.17
728x90
반응형