반응형 전체 글86 쿠버네티스 - Controller(Replication Controller, ReplicaSet) Replication Controller와 ReplicaSet은 클러스터 내 특정 수의 파드를 유지하는 데 사용되는 Controller다. 쉽게 말해, Pod를 관리하는 관리자 역할을 하며, 설정된 수의 Pod가 항상 실행되도록 감시하고 관리한다. Replication Controller : (초기) 기본 파드 관리자ReplicationController는 쿠버네티스 초기 버전에서 도입된 파드 관리자이며, 설정된 수(replicas)의 파드가 항상 실행되도록 보장한다.동작 원리replicas 필드를 통해 원하는 파드 수를 설정한다. Replication Controller는 설정된 수의 파드가 실제 클러스터에서 실행되고 있는지 주기적으로 확인한다.파드가 삭제되거나 문제가 생긴 경우, 즉시 새 파드를 생성.. 2024. 10. 29. 쿠버네티스 - 환경변수 활용(ConfigMap, Secret) 환경 변수(Environment Variable)는 운영 체제나 애플리케이션이 실행되는 환경에 대한 정보를 담고 있는 변수다.프로그램이 실행될 때, 운영 체제에서 설정된 환경 분수에 접근해서 필요한 설정 값을 읽어들일 수 있다. 이를 통해 애플리케이션은 자신이 실행되고 있는 환경에 따라 동적으로 동작할 수 있다. 이처럼, 쿠버네티스에서도 환경 변수는 애플리케이션이 외부 설정을 쉽게 접근할 수 있도록 해주는 중요한 메커니즘이다. 즉, 컨테이너와 애플리케이션이 배포 환경에 따라 설정값을 다르게 할 수 있도록 하며, 코드를 수정하지 않고도 다양한 환경에서 같은 애플리케이션을 실행할 수 있게 해준다. ConfigMap과 Secret 개요쿠버네티스에서는 애플리케이션의 설정값을 관리하기 위해 ConfigMap과 S.. 2024. 10. 10. 쿠버네티스 - Volume Volume은 쿠버네티스에서 Pod 내의 컨테이너가 파일 데이터를 공유하거나 유지할 수 있도록 지원하는 기능이다. 컨테이너는 일시적이고 재시작되면 데이터가 사라질 수 있지만, Volume을 활용하면 파드 또는 노드의 파일 시스템을 사용하여 데이터를 유지할 수 있다. 다양한 볼륨 유형이 있으며, 그 중 가장 많이 사용되는 것이 emptyDir, hostPath, 그리고 PersistentVolume(PV) / PersistentVolumeClaim (PVC) 이다. 1. emptyDiremptyDir은 파드가 생성될 때 빈 디렉토리를 제공하고, 파드가 삭제될 때 해당 디렉토리도 삭제되는 임시 볼륨이다. 예시 yamlapiVersion: v1kind: Podmetadata: name: pod-volume.. 2024. 10. 8. 쿠버네티스 - Service Kubernetes에서 Service는 클러스터 내부의 Pod들이 외부 혹은 내부에서 네트워크 트래픽을 주고받을 수 있게 하는 리소스이다. 파드들은 IP 주소가 동적으로 할당되기 때문에, 파드가 재시작되면 IP 주소가 바뀌게 된다. 이를 해결하기 위해 Service는 파드의 네트워크 연결을 추상화하고, 파드가 종료되거나 재시작되더라도 클라이언트가 지속적으로 파드에 연결할 수 있게 해주는 역할을 한다. * 네트워크 트래픽이란? 데이터나 요청이 네트워크를 통해 주고받는 흐름을 의미한다. 예를 들어 , 클라이언트가 파드에서 실행중인 애플리케이션에 요청을 보내거나, 파드끼리 데이터를 주고받는 것이 네트워크 트래픽이다.(트래픽이란, 일반적으로 HTTP 요청, 데이터 패킷 전송 등을 포함한다.)* 네트워크 연결을 .. 2024. 10. 4. 쿠버네티스 - kubectl (기본 명령어) kubectl은 Kubernetes 클러스터와 상호작용하는 명령어 도구로, 클러스터의 리소스를 관리하고 제어하는 데 사용된다. kubectl을 통해 pod, service, node 등의 오브젝트를 생성하고, 상태를 조회하며, 삭제할 수 있다. kubectl 기본 명령어 Create리소스를 생성하는 명령어다. 보통 yaml 파일을 통해 Kubernetes 오브젝트의 정의를 작성하고, kubectl create 명령을 사용해 해당 리소스를 클러스터에 배포한다.이 명령은 한 번만 리소스를 생성한다. 이미 존재하는 리소스를 수정하려면 apply를 사용해야 함kubectl create -f ./pod.yaml # YAML 파일을 사용해 리소스를 생성.예: pod.yaml 파일에 정의된 파드를 클러스터에 생성.. 2024. 10. 4. 쿠버네티스 - Label, Label Selector, Node Selector Label, Label SelectorLabel은 쿠버네티스에서 오브젝트를 식별하고 그룹화하는 키-값 쌍이다. Label Selector는 이러한 label을 사용해 특정 리소스를 선택하는 메커니즘이다. 이를 통해 서비스나 다른 리소스들이 특정 pod를 선택해 트래픽을 전달 할 수 있다.예apiVersion: v1 # API 버전.kind: Pod # 리소스 종류(Pod).metadata: name: pod-2 # 파드 이름. labels: # 파드에 적용할 레이블. type: web # 'type' 레이블 키에 'web' 값을 설정. lo: dev # 'lo' 레이블 키에 'dev' 값을 설정.spec: containers: - name: container # 컨테이너.. 2024. 10. 4. 이전 1 2 3 4 5 6 ··· 15 다음 반응형