전체 글 32

Node Affinity + Resource Quota로 워크로드 관리하기

Kubernetes 클러스터를 운영하다 보면, "특정 워크로드를 특정 노드에 배치하고 싶다"거나 "팀별로 자원을 효율적으로 나누고 싶다"는 요구사항을 마주치게 됩니다. 예를 들어, Team A의 애플리케이션은 고성능 GPU 노드에, Team B는 일반 컴퓨팅 노드에 배치하고 싶을 때, 어떻게 해야 할까요? 이때 Node Affinity가 그 해결책이 될 수 있습니다. Node Affinity는 Kubernetes 스케줄러가 파드를 원하는 노드에 배치하도록 유도하는 강력한 도구로, 유연한 자원 관리와 워크로드 격리를 가능하게 합니다. 이번 포스팅에서는 Node Affinity의 기본 개념에 대해서 설명하고, 예제를 통한 실습으로 Node Affinity가 어떻게 작동하는지에 대해서도 직접 확인해 보도록 하..

Cilium BGP와 ECMP

이전 포스팅에서 이어집니다. 'On-Premise 환경에서 Kubernetes LoadBalancer 구현'을 읽고 오시길 권장드립니다. On-Premise 환경에서 Kubernetes LoadBalancer 구현CSP에서 제공하는 Kubernetes 서비스는 클라우드 인프라에 잘 통합되어 있어 있습니다. 그래서 간단한 명령어나 웹 UI를 통해 쉽게 클러스터를 생성할 수 있고 사용할 수 있습니다. 특히 Load Balancer tech-recipe.tistory.com문제의 발견1. BGP 연결이 수상하다! OPNsense에서 BGP의 경로를 확인해 보면 위와 같이 나타납니다. Kubernetes 워커노드 3대가 모두 Peer로 연결되어 있긴 하지만 그중 172.16.200.1에 도달하는 가장 좋은 경..

On-Premise 환경에서 Kubernetes LoadBalancer 구현

CSP에서 제공하는 Kubernetes 서비스는 클라우드 인프라에 잘 통합되어 있어 있습니다. 그래서 간단한 명령어나 웹 UI를 통해 쉽게 클러스터를 생성할 수 있고 사용할 수 있습니다. 특히 Load Balancer 서비스에 대한 구현체라던가, CSI 뒤에서 작동하는 스토리지 프로바이더와 같은 Kubernetes에서는 직접적으로 그 기능을 제공하지는 않지만 꼭 필요한 요소들까지 함께 제공되어 사용의 편의성이 아주 높습니다. 하지만 Kubernetes를 On-premise 환경에서 구현한다면 그 이야기가 달라집니다. 이런 요소 하나하나가 모두 관리의 포인트가 되기 때문입니다. 게다가 이를 Seamless 하게 통합하고 운영하는 것은 보통 일이 아닙니다. 그럼에도 불구하고 여러 가지 요인으로 인해 퍼블릭 ..

Bootable container, 그리고 bootc

부팅 가능한 컨테이너와의 첫 만남 한 달 정도 전, 오픈 인프라 커뮤니티 코리아의 오프라인 세미나에서 bootc를 접하게 되었습니다. 사실 처음에 들었을 때는 이게 대체 뭘 하는 건지 감이 잘 오질 않았습니다. 분명 제가 알고 있는 전통적인 관점에서는 가상머신의 단점을 해결하고자 컨테이너가 등장했다고 했는데... 근데 다시 그 컨테이너를 부팅한다고요? 아니 왜? 위 그림에서도 볼 수 있듯, 가상머신과 컨테이너는 아예 개념 자체가 다릅니다. 가상 머신은 하이퍼바이저 위에서 개별적인 커널로 구동되는 독립적인 시스템이고, 컨테이너는 OS위의 프로세스일 뿐이므로(물론 독립적인 특징이 있긴 하지만) 부팅이라는 개념이 없습니다. 컨테이너를 띄운다는 것은 OS 입장에서는 단지 프로세스를 실행하는 것뿐이죠. 그런데 '..

Study/CS 2025.04.16

작지만 강한 Keychron B1 Pro 간단 리뷰

첫 IT 제품 리뷰로 찾아뵙십니다. 개발자, 또는 엔지니어 분들이라면 항상 장비 욕심이 많죠. 저도 그렇습니다. 게다가 최근에 이직도 하게 되었는데 업무 환경 상 윈도우와 맥을 동시에 사용하게 되어, 호환되는 적당한 무선 키보드가 없을까 싶어 찾아보던 차에 키크론의 B1 Pro가 눈에 띄게 되었습니다. 지금부터 100% 내돈내산 후기!실제 타건 영상 제품 구성은 매우 심플합니다. 키보드, 키보드 보호 커버, USB 케이블과 동글입니다. 베터리는 내장 배터리이고 한번 충전하면 1200시간이나 간다고 합니다. 배터리가 제법 들어간 거 같아요. 그래서 그런지 작으면서도 약간 무게감이 있습니다. 덕분에 실제 사용 시에 너무 가벼워 밀리는 느낌이 나거나 하지는 않습니다. 다른 것 보다 저는 키보드 커버가 따로 ..

Review 2025.04.16

PXE 부팅으로 Ubuntu 22.04 설치하기 [2편]

이전 포스팅 'PXE 부팅으로 Ubuntu 22.04 설치하기 [1편]'에서 이어지는 포스팅입니다. 이전 포스팅을 보지 않았다면 먼저 보고 오시는 것을 추천드립니다. PXE 부팅으로 Ubuntu 22.04 설치하기 [1편]소수의 베어메탈 서버 또는 가상 머신(VM)의 경우에 수동으로 OS를 설치하는 작업은 크게 어렵지 않습니다. 베어메탈의 서버의 경우 부팅 USB를 통해서, VM의 경우 ISO 파일을 Import 하는 형식으로 합tech-recipe.tistory.comPXE 부팅을 위한 준비 PXE 부팅을 위해서는 PXE 부팅의 대상이 되는 PXE 클라이언트와, DHCP 서버, TFTP 서버와 HTTP 서버가 필요합니다. 규모에 따라서 DHCP, TFTP, HTTP 서버 3대를 모두 통합해서 운영할 수..

PXE 부팅으로 Ubuntu 22.04 설치하기 [1편]

소수의 베어메탈 서버 또는 가상 머신(VM)의 경우에 수동으로 OS를 설치하는 작업은 크게 어렵지 않습니다. 베어메탈의 서버의 경우 부팅 USB를 통해서, VM의 경우 ISO 파일을 Import 하는 형식으로 합니다. 그러나, 다수의 베어메탈 서버나 VM을 대상으로는 이러한 방식이 매우 비효율적이 됩니다. 이런 경우 동시에 여러 대의 노드에 OS를 설치할 수 있는 방법이 필요한데 이번 포스팅에서는 그 방법 중 하나인 PXE 부팅에 대해서 알아보겠습니다.일반적인 부팅 프로세스 PXE 부팅에 대해서 학습하기 전에, 우선 일반적인 컴퓨터의 부팅 프로세스에 대해서 알아 보겠습니다.1. 전원 공급(Power-On) 컴퓨터의 전원이 켜지면 CPU, 메모리, 저장 장치 등 하드웨어에 전기가 공급됩니다. 이때 CPU는..

Home Lab 구축 기록 - 필요성과 설계 [2편]

지난 포스팅에서 이어집니다. 처음 보시는 분들은 지난 포스팅을 참고해 주시기 바랍니다. Home Lab 구축 기록 - 필요성과 설계 [1 - 1편]홈 랩을 구축하면서 경험했던 많은 내용들과 좌절을 안겨준 많은 여러 상황들, 그리고 이를 해결하기 위해 했던 여러 시행착오들을 통해 얻은 노하우를 기록하고 또 공유하기 위해 이 포스팅을tech-recipe.tistory.com 우선 구축이 완료된 모습입니다. 생각보다 좀 과한 규모가 되었습니다. 총 6대의 물리 서버와 방화벽/라우터 역할을 겸하는 미니 PC, L2 스위치와 관리자 전용 무선 Access Point를 제공하는 공유기까지... 많은 시간과 금액이 들었습니다. 그리고 생각보다 많은 시행착오를 격였습니다. 그 내용을 한번 공유해 보고자 합니다.확장을 ..

OPNsense로 방화벽 구축하기 [3편]

지난 포스팅 OPNsense로 방화벽 구축하기 [2편]에서 이어집니다. 2편을 먼저 읽어보시길 추천드립니다. OPNsense로 방화벽 구축하기 [2편]앞선 포스팅 OPNsense로 방화벽 구축하기 [1편]에서 이어집니다. 1편을 먼저 보고 읽어보시길 추천드립니다. OPNsense로 방화벽 구축하기 [1편]구축 배경 홈 랩을 확장하면서 가정용 Wi-Fi 네트워크와tech-recipe.tistory.com 이전 포스팅에서 새로운 인터페이스를 생성하고 모든 트래픽을 허용하는 규칙을 통해 서로 다른 네트워크에 있는 호스트 간의 통신을 확인해 보았습니다. 이번 포스팅에서는 본격적인 방화벽 규칙 설정에 대해 다뤄보도록 하겠습니다. In & Out 방화벽 규칙을 생성할때 가장 많이 헷갈리는 요소가 바로 트래픽의 방향..

OPNsense로 방화벽 구축하기 [2편]

앞선 포스팅 OPNsense로 방화벽 구축하기 [1편]에서 이어집니다. 1편을 먼저 읽어보시길 추천드립니다. OPNsense로 방화벽 구축하기 [1편]구축 배경 홈 랩을 확장하면서 가정용 Wi-Fi 네트워크와 홉 랩 인프라용 네트워크 간의 분리 및 격리, 라우팅 및 접근 제어 그리고 그 외 서비스에 필요한 기능 구현이 필요했습니다. 그래서 네트tech-recipe.tistory.com 지난 포스팅에서는 OPNsense를 사용하여 방화벽을 구축해 보았습니다. 이번 포스팅에서는 LAN 인터페이스의 초기 방화벽 규칙의 내용과, 새로운 인터페이스 생성과 방화벽 규칙을 적용하는 방법에 대해서 알아보겠습니다.  LAN 인터페이스 방화벽 규칙 살펴보기 OPNsense 최초 구축 시 생성되는 기본 LAN 인터페이스에 ..