목록분류 전체보기 (279)
내 잡다한 노트
정의 : OS가 SSD에게 더 이상 사용되지 않는 블록을 삭제할 수 있음을 알리는 기능. # Trim의 작동 원리SSD는 데이터를 저장할 때 플래시 메모리를 사용한다. SSD의 데이터 삭제와 쓰기 작업은 HDD와 다르게 작동한다.HDD에서는 데이터를 직접 덮어쓸 수 있지만, SSD에서는 기존 데이터를 먼저 삭제한 후 새로운 데이터를 써야 한다.이게 SSD의 플래시 메모리 특성때문이다. TRIM 명령어는 다음과 같은 단계로 작동합니다:파일 삭제:사용자가 파일을 삭제하거나 파일 시스템에서 데이터를 비우면, 운영 체제는 해당 데이터를 더 이상 필요하지 않다고 표시합니다. 그러나 SSD는 여전히 데이터를 유지하고 있습니다.TRIM 명령어:운영 체제는 SSD에게 TRIM 명령어를 보내어, 특정 블록이 더 이상 유..
정의 : 디스크의 일정 부분을 root와 시스템 프로세스에 의해 사용되도록 예약된 공간. # 왜 필요한가?디스크가 완전히 채워지면 시스템의 작동에 문제가 발생할 수 있다.시스템 파일을 업데이트할 공간이 없으면, 시스템이 불안정해지거나 부팅이 불가능한 상태가 될 수 있는데이러한 상황을 방지하기 위해 일정량의 디스크 공간을 루트 사용자만 사용할 수 있도록 보호한다. 이 공간 때문에 시스템이 정상적으로 작동할 수 있도록 문제를 해결할 수 있는 여유공간을 확보할 수 있게 된다. ext4 파일 시스템을 사용할 때 디스크의 약 5%가 이 공간으로 예약된다. # 조정 방법 tune2fs 명령어를 사용하여 예약된 공간의 크기를 조정할 수 있다. sudo tune2fs -m 2 /dev/sdX1 # 어디에 적용되는가?..
/proc커널과 하드웨어에 관련된 정보를 제공하는 가상 파일 시스템. 운영체제의 프로세스와 자원 상태를 나타내는 가상 파일 시스템.CPU, 메모리 사용량, 프로세스 정보 등 시스템의 동적 상태가 주로 여기에서 제공된다. 주요 기능 및 사용 사례1. 시스템 정보 제공 /proc/cpuinfo /proc/meminfo /proc/uptime2. 프로세스 정보 제공3. 커널 및 시스템 설정/proc/sys 디렉토리는 커널 파라미터를 포함하고 있으며, 이 값을 조정하여 시스템 동작을 변경할 수 있다. /sys하드웨어와 관련된 정보를 제공하는 가상 파일 시스템.주로 디바이스 정보와 설정이 포함된다. 시스템이 부팅될 때 커널이 하드웨어 정보를 인식하고 /sys 파일 시스템에 디바이스 관련 정보를 제공한다...
기본적인 벡터 매칭 연산벡터 매칭을 사용할 때, 시계열 간의 값은 다음과 같은 연산자들에 의해 결합됩니다:산술 연산자: +, -, *, /, % 등예를 들어, 두 시계열을 + 연산자로 결합하면, 해당 레이블에 맞는 시계열들의 값을 더한 결과가 반환됩니다.비교 연산자: ==, !=, >, =, 비교 연산을 통해 두 시계열 간의 값을 비교하여 참/거짓을 반환합니다.논리 연산자: and, or, unlessand는 두 시계열에서 공통으로 존재하는 데이터만 반환하고, or는 두 시계열 중 하나라도 값이 있는 데이터를 반환합니다.
벡터 매칭의 정의 : 두 개의 시계열 데이터 집합을 결합할 때 사용하는 개념. 쿼리에서 여러 메트릭을 결합해 새로운 값을 계산하거나, 여러 조건을 조합해 특정 데이터를 필터링하려 할 때 벡터 매칭이 필요하다. # 벡터 매칭이 필요한 이유각 메트릭은 시계열 데이터로 저장된다. 시계열 데이터는 주로 여러 레이블과 값을 가지고 있다. 예를 들어, CPU 사용률 메트릭과 메모리 사용률 메트릭을 결합해 특정 조건을 만들고 싶다고 할 때, 두 메트릭의 레이블이 일치해야 두 데이터를 결합할 수 있다. 벡터 매칭은 이런 결합 작업을 수행할 때, 어떤 레이블을 기준으로 데이터를 결합할지를 명시적으로 정의해준다. # 벡터 매칭의 유형- 1:1 매칭 기본적인 벡터 매칭 유형으로, 두 시계열 집합 간에 레이블이 정확히 일..
helm 정의 : k8s 애플리케이션을 관리하고 배포하기 위한 패키지 매니저. # 주요 개념- chart차트는 k8s 리소스의 템플릿 파일들을 묶어둔 패키지. 모든 리소스(Deployment, service, configmap 등)를 포함하고 있으며, 이를 통해 특정 애플리케이션의 전체 스택을 하나의 패키지로 취급할 수 있다.yaml 파일을 통해 설정값을 관리하며, 설치 시점에 사용자 정의 설정을 쉽게 적용할 수 있다. - ReleaseHelm 차트의 실행된 인스턴스하나의 차트를 여러 번 릴리스하여 동일한 애플리케이션의 여러 인스턴스를 클러스터에 배포할 수 있다. - Repositoryhelm 차트는 레포지토리에서 호스팅되며, 차트를 다운로드하고 설치할 수 있는 장소를 제공한다. # 주요 기능- 애플리..
말그대로 여러 스케줄러를 배포하는 방법에 대한 글이다. 기본 스케줄러는 파드를 노드에 고르게 배분하는 알고리즘을 가지고 있으며 taints와 tolerations, node affinity 등을 고려한다. 하지만 이러한 것들을 사용해도 우리의 필요를 충족시키지 못한다면, 우리가 직접 스케줄러 프로그램을 작성하고, 추가 스케줄러로 배포할 수 있다. 이렇게 하면 다른 거는 기본 스케줄러로 처리될 수 있지만, 특정 애플리케이션은 우리가 만든 커스텀 스케줄러를 사용할 수 있다.따라서 클러스터에는 여러 스케줄러가 동시에 존재할 수 있다. 파드나 deployment를 생성할 때, 우리는 쿠버네티스에게 특정 스케줄러에 의해 파드가 스케줄링되도록 지시할 수 있다. 여러 스케줄러가 있을 때 구분하는 방법은 이름이다. 기..
kubelet은 kube-apiserver로부터 어떤 파드를 실행해야 하는지에 대한 지시를 받아 노드에서 파드를 실행한다.이때 kube-scheduler는 파드가 어떤 노드에 배치될지를 결정하고, 그 결과가 ETCD에 저장된다. Static Pods정의 : kubelet이 혼자서 관리할 수 있는 podk8s의 클러스터의 control plane 컴포넌트 없이도 kubelet이 독립적으로 관리할 수 있는 파드.이거는 다음과 같은 상황에서 사용된다. kube-apiserver, kube-scheduler, ETCD 등 클러스터의 다른 컴포넌트가 없는 경우.단독으로 노드를 운영해야 하거나, 클러스터의 control plane을 설정하기 위해 사용할 때 Static pods의 작동방식kubelet은 특정 디렉..