본문 바로가기

개발자: 지식 정리44

쿠버네티스 클러스터 구성 요소 및 동작 이해 (3) - 스케줄러, 컨트롤러 스케줄러 스케줄러는 API 서버의 감시 메커니즘을 통해 새로 생성될 파드를 기다리고 있다가, 할당된 노드가 없는 새로운 Pod를 노드에 할당하는 일만 한다. 스케줄러는 선택된 노드에 파드를 실행하도록 지시하지 않는다. 단지 스케줄러는 API 서버로 파드 정의를 갱신한다.(어떤 노드에 할당될지) -> API 서버는 (감시 메커니즘에 의해) kubelet에 파드가 스케줄링된 것을 통보한다. -> 대상 노드의 Kubelet은 파드가 해당 노드에 스케줄링된 것을 확인하자마자 파드의 컨테이너를 생성하고 실행한다. 컨트롤러 API 서버는 리소스를 etcd에 저장하고 변경 사항을 클라이언트에게 통보하는 것 외에 다른 일을 하지 않는다. 스케줄러는 파드를 노드에 할당만 한다. 그러므로 API 서버로 배포된 리소스에 지.. 2023. 1. 15.
쿠버네티스 클러스터 구성 요소 및 동작 이해 (2) - API 서버 동작 과정 쿠버네티스 API 서버는 클러스터 상태를 조회하고 변경하기 위해 RESTful API로 CRUD 인터페이스를 제공한다. 쿠버네티스 상태는 etcd 안에 저장된다. API 서버의 클라이언트 중 하나는 kubectl 명령줄 도구이다. 예를 들어 yaml 파일에서 리소스를 생성할 때 kubectl은 파일의 내용을 API에 HTTP POST 요청으로 전달한다. api 서버 옵션 조회 kubeadm 툴을 이용했을 시, kube-apiserver 는 master 노드 kube-system 네임스페이스에서 Pod 로 존재함을 확인할 수 있다. kubectl get pods -n kube-system cat /etc/kubernetes/manifests/kube-apiserver.yaml kubeadm 툴을.. 2023. 1. 15.
쿠버네티스 클러스터 구성 요소 및 동작 이해 - (1) etcd 쿠버네티스 클러스터 구성요소(component) 이전 글 쿠버네티스 etcd 쿠버네티스는는 기본 데이터 저장소로 etcd를 채택했다. etcd 는 분산 시스템에서 사용할 수 있는 분산형 키-값 (key-value) 저장소로, 공식 문서는 다음과 같다: https://etcd.io/docs/ 쿠버네티스에서 etcd는 클러스터의 상태를 저장하고 있다. 클러스터에 필요한 설정 정보와, 포드와 서비스 같은 각 리소스들의 명세와 상태 정보 등을 저장한다. 모든 클러스터 데이터를 담는 쿠버네티스 뒷단의 저장소로 사용되는 일관성·고가용성 키-값 저장소이다. 카카오 테크에서 정리한 etcd 참고 etcd 블로그 글 쿠버네티스가 etcd를 사용하는 방법 쿠버네티스가 클러스터 상태와 메타데이터를 저장하는 유일한 장소가 e.. 2023. 1. 15.
⚡️ Blocking, Non-blocking, Sync, Async 아주 쉽게 정리 Blocking/Non-blocking Blocking 다른 서비스에 내용을 요청하게 되면, 그 요청이 끝날 때까지 나는 아무것도 하지 못하고 기다리는 상태. 다른 서비스의 작업이 끝나야 나는 내 일을 할 수 있다. 예시) 1. 프린터에게 내가 쓴 문서를 인쇄하라고 요청함. 2. 프린터가 인쇄할동안 나는 아무것도 하지 않고 기다려야 함. 인쇄한 문서를 있어야 내 할 일을 할 수 있기 때문에. 3. 인쇄가 끝나면 난 내 할 일을 할 수 있음. Non-Blocking Non-blocking 으로 처리할 경우, 다른 서비스에 요청한 작업이 지금 어떻게 진행되고 있던 간에 상관없이 내 할 일을 할 수 있다. 예시) 1. 프린터에게 내가 쓴 문서를 인쇄하라고 요청함. 2. 프린터가 인쇄할동안 나는 내 다른 할 일.. 2022. 12. 26.
네트워크 인터페이스란? (ifconfig 명령어) 네트워크 인터페이스// 이름은 어디서 많이 들어봤는데 정확히 잘 모릅니다.얼마 전에 회사에서 운영하는 서버에서 서버 인터페이스가 내려가는 일이 일어났었습니다.관련해서 전문 부서에서 해결해주셨는데요, ifconfig 명령어 찾아보며 알아보긴 했지만, 인터페이스가 뭔지 개념도 잘 몰라 벙쪄있던 기억이 있습니다.이 기회에 네트워크 인터페이스, ifconfig 명령어 관련해 관련 지식을 잘 정리해놓으려고 합니다.네트워크 인터페이스란?네트워크 인터페이스는 컴퓨터를 네트워크에 연결해주는 역할을 합니다.os 커널 소프트웨어 side에서 일어나는 네트워킹을 실제 하드웨어 네트워크 장치와 이어준다고 합니다. (컴퓨터가 네트워크 장치와 연결되는 지점)컴퓨터가 네트워크에 연결하여 통신하기 위해 사용되는 하드웨어 장치는 무엇.. 2022. 11. 20.
MySQL InnoDB 락 / 데드락 해결 공유 InnoDB MySQL InnoDB란 다른 스토리지 엔진과 다르게 InnoDB에서는 잠금, Lock을 제공해서 동시성을 보장해준다. InnoDB Lock 자체적인 잠금을 가지고 있지 않은 MyISAM이나 Memory 스토리지 엔진과 달리, InnoDB 엔진은 자체적인 레코드 기반의 잠금 기능을 제공하여 동시성을 보장한다. Lock(잠금) : 서로 다른 작업에서 같은 자원을 동시에 필요로 할 때 자원 경쟁이 일어나는데, 이때 동시성을 보장하기 위한 기능이다. InnoDB Lock 종류 Shared Lock & Exclusive Lock innoDB storage engine은 기본적으로 Row-level lock을 사용한다. lock을 걸때는 query의 목적에 따라서 두가지 Type의 Lock을 사용한다.. 2022. 9. 22.
반응형