전체 글

github: https://github.com/belljun3395 email: belljun3395@gmail.com
· CKA
레이블과 애너테이션 기본 개념 및 YAML 구조레이블과 애너테이션은 쿠버네티스 오브젝트에 메타데이터를 추가하는 방법이다. 둘 다 metadata 필드 아래에 key-value 쌍으로 정의되지만, 그 목적과 사용법이 다르다.레이블(Labels): 오브젝트를 식별하고 그룹화하는 데 사용된다. 예를 들어, 특정 서비스가 어떤 파드 그룹에게 트래픽을 보내야 하는지 결정할 때 레이블 셀렉터를 사용한다.애너테이션(Annotations): 식별 목적이 아닌, 도구나 사람에게 유용한 추가 정보를 기록하기 위해 사용된다. 예를 들어, 빌드 버전이나 담당자 연락처 등을 기록할 수 있다. 기본 파드 YAML 예시 (레이블과 애너테이션 포함)apiVersion: v1kind: Podmetadata: name: label-a..
· CKA
인그레스 기본 개념 및 YAML 구조인그레스(Ingress)는 클러스터 외부에서 내부 서비스로 들어오는 HTTP(S) 트래픽을 관리하고 라우팅 규칙을 정의하는 API 오브젝트다. 인그레스를 사용하면 URL 주소, 호스트 이름 등을 기반으로 요청을 여러 서비스에 연결할 수 있다. 중요: 인그레스 리소스가 동작하려면, 클러스터에 반드시 인그레스 컨트롤러가 실행되고 있어야 한다. 기본 인그레스 YAML 예시 (경로 기반 라우팅)다음은 /my-path 경로로 들어오는 요청을 my-service라는 이름의 서비스 80번 포트로 전달하는 간단한 예시다.apiVersion: networking.k8s.io/v1kind: Ingressmetadata: name: my-ingress annotations: ng..
· CKA
서비스 기본 개념 및 YAML 구조파드는 동적으로 생성되고 삭제되므로 IP 주소가 계속 바뀐다. 서비스(Service)는 이렇게 동적으로 변하는 파드 그룹에 대한 고정된 단일 접근 지점(Single Point of Contact)을 제공하는 쿠버네티스 오브젝트다. 서비스를 통해 파드의 IP 주소가 변경되더라도 클라이언트는 서비스를 통해 안정적으로 파드에 접근할 수 있다. 서비스는 주로 L4(TCP/UDP) 레벨에서 동작하며, 레이블 셀렉터(Label Selector)를 사용하여 어떤 파드 그룹에 트래픽을 전달할지 결정한다. 기본 서비스 YAML 예시 (ClusterIP)apiVersion: v1kind: Servicemetadata: name: my-servicespec: selector: ap..
· CKA
컨트롤러 기본 개념 및 YAML 구조컨트롤러는 쿠버네티스 클러스터의 상태를 관리하고 원하는 상태(Desired State)를 유지하는 핵심 구성요소다. 예를 들어, 디플로이먼트 컨트롤러는 지정된 수의 파드 복제본이 항상 실행되도록 보장한다.컨트롤러의 역할: 현재 상태(Current State)를 관찰하고, 원하는 상태와 다를 경우 필요한 조치를 취해 상태를 일치시킨다.주요 컨트롤러: Deployment, StatefulSet, DaemonSet, Job, CronJob 등 기본 디플로이먼트(Deployment) YAML 예시가장 대표적인 컨트롤러인 디플로이먼트의 기본 구조는 다음과 같다.apiVersion: apps/v1kind: Deploymentmetadata: name: my-deployment ..
· CKA
파드 기본 개념 및 YAML 구조파드는 쿠버네티스에서 생성하고 관리할 수 있는 가장 작은 배포 단위다. 하나 이상의 컨테이너 그룹을 나타내며, 이 컨테이너들은 스토리지와 네트워크를 공유하고 서로 localhost로 통신할 수 있다. 기본 파드 YAML 예시apiVersion: v1kind: Podmetadata: name: nginx-pod labels: app: webspec: containers: - name: nginx-container image: nginx:latest ports: - containerPort: 80 YAML 주요 필드 설명쿠버네티스 오브젝트를 정의하는 YAML 파일은 주로 apiVersion, kind, metadata, spec ..
· 자바
스트림 APIStream API는 잘 알려진 map-filter-reduce 알고리즘을 JDK에 구현한 것이다. 컬렉션 프레임워크는 JVM의 메모리에 데이터를 저장하고 구성하는 역할을 한다. 반면, Stream API는 이 데이터를 효율적으로 처리할 수 있게 도와주는 보조 프레임워크라고 볼 수 있다. 실제로, 컬렉션에 대해 스트림을 열어 그 안의 데이터를 처리할 수 있다. 하지만 Stream API는 여기서 멈추지 않는다. 단지 컬렉션의 데이터만 처리하는 것이 아니라, 입출력(I/O) 소스를 포함한 다양한 소스에 대해 스트림을 생성할 수 있는 여러 패턴을 JDK에서 제공한다. 게다가, 자신만의 데이터 소스를 손쉽게 정의하여 필요에 딱 맞는 스트림을 만들 수도 있다. Stream API를 잘 다루게 되면,..
belljun
belljundev