본문 바로가기

K8S15

Vector + Scalable Loki referencehttps://grafana.com/docs/loki/latest/setup/install/helm/install-scalable/  Vector는 Loki 에 로그르 전송하고, 로키는 데이터를 수집, 저장, 쿼리할 수 있는 분산 환경을 쿠버네티스에 올리려고 합니다. 벡터는 쿠버네티스 파드의 로그를 수집하고, 수집된 로그는 로키로 전송됩니다.로키는 로그를 저장소에 저장하고, 그라파나를 통해 시각화합니다.  헬름 차트를 활용하여 각각의 설정을 해줍니다. 1. 로키 설정 (Simple Scalable Mode)replicaCount: 3auth_enabled: falseloki: config: auth_enabled: true schema_config: configs: .. 2024. 12. 22.
Headless Service 쿠버네티스에서 Headless Servicee 는 일반적인 서비스와는 달리 가상 IP 를 생성하지 않고, 파드의 IP를 직접 노출하는 서비스 유형입니다.클라이언트는 서비스 이름을 DNS 조회하면 파드의 IP 목록을 직접 받게 됩니다. 주요 특징로드 밸런싱 없음일반 서비스는 쿠버네티스가 자동으로 로드 밸런싱을 처리하지만, 헤드리스 서비스는 클라이언트가 직접 분산 처리(ex. Round Robin)을 구현해야 합니다.보통 Statefulset 를 Headless Service로 설정합니다.StatefulSet은 각 파드에 고유한 정적 DNS 이름을 제공하는데, 이를 통해 클라이언트는 특정 파드에 접근하거나 순서를 지정하여 통신 가능합니다. (예: pod-0.my-headless-service.default... 2024. 12. 8.
쿠버네티스 내부에서는 어떻게 DNS 질의를 할까? DNS 란?인터넷에서 사용자가 도메인을 통해 웹페이지를 접속하거나 특정 서비스와 통신을 할때,  네임서버에 질의를 하여 설정된 값을 찾아 통신을 하게 됩니다. 이때, 네임서버에 설정된 항목들을 레코드라고 부릅니다. DNS 질의DNS 질의는 DNS를 통해 특정 도메인 이름에 대한 정보를 요청하는 과정을 말합니다. 사람이 읽을 수 있는 도메인 이름을 IP 주소로 변환하는 과정이지요. 웹 브라우저나 애플리케이션이 특정 서버에 연결하고 싶을 때, 해당 서버의 IP 주소를 알아야하기 때문입니다. 일반적인 DNS 질의 과정은 아래와 같습니다. 1. 클라이언트 요청 (DNS Resolver 호출)사용자가 웹 브라우저에 www.google.com 을 입력하면 컴퓨터는 도메인 이름에 대한 IP 주소를 알아내기 위해 DN.. 2024. 10. 10.
K8S 클러스터에서 노드를 업그레이드할 때 안의 파드들은 어떻게 해야 될까? 하나의 클러스터 안에 여러 개의 노드가 있을 때, 그 중 하나의 노드를 maintenance(유지보수) 목적으로 down 시켜야 하는 시나리오를 생각해 봅시다. 위의 그림처럼 하나의 클러스터 안에 4개의 노드가 있고 각각의 노드 안에 여러 개의 pod가 있다고 가정합니다. (그림은 마지막 단계의 그림입니다. 처음에는 왼쪽부터 순서대로 [0 | 파랑, 초록 | 파랑, 보라 | 빨강, 검정] 의 pod 들이 각각의 노드 안에 있다고 가정합니다.) 파랑같이 여러 개가 존재하는 파드는 replicaset에 의해 관리되는 파드이고, 초록, 보라, 빨강, 검정 같이 한 개씩만 존재하는 색상의 파드는 단일 파드입니다. 하나의 레플리카셋에 있는 pod는 같은 애플리케이션을 서비스 합니다. 우리는 왼쪽에서 두 번째 노드.. 2024. 1. 26.