System 27

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 하게 통합하고 운영하는 것은 보통 일이 아닙니다. 그럼에도 불구하고 여러 가지 요인으로 인해 퍼블릭 ..

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 인터페이스에 ..

ESXi 커스텀 USB NIC 드라이버 사용과 한계에 대하여

국내에도 생각보다 많은 분들이 홈 랩을 구축하고, 운용하고 있는 것으로 알고 있습니다. 베어메탈 환경에 직접 리눅스로 서버 환경을 구축할 수도 있지만, Hypervisor를 사용한다면 가상화를 통한 조금 더 유연한 인프라 환경을 구현할 수 있습니다. 저도 여러 Hypervisor들 중에 가장 익숙한 ESXi를 활용하여 인프라 가상화 환경을 구축하고 있습니다. 홈 랩의 숙명 - 하드웨어 호환성 VMware ESXi는 네트워크 인터페이스에 대한 호환성에 많이 인색한 편입니다. 오로지 Intel의 컨트롤러만을 사용하는 네트워크 인터페이스를 지원하기 때문에 ESXi를 하이퍼바이저로 선정한 사람들에게 숙명적으로 따라오는 것이 이 네트워크 인터페이스에 대한 고민입니다. 저 역시도 여기에서 자유롭지 못했습니다. 사용..

System/Hypervisor 2025.02.18

[Ubuntu 22.04] 0% Waiting for headers - 해결됨

환경VMware vSphere 6.7U3 환경에 배포된 VMUbuntu 22.04포트 그룹에서 VLAN 사용증상apt update, apt install 등 apt 관련 명령어 사용 시 작동 안되는 현상[Waiting for headers] 문구와 함께 행 걸림물리적으로 서버의 외장 USB NIC을 업링크로 사용하는 분산 스위치의 포트 그룹에서는 행 걸림 현상 발생웹 브라우저를 통한 인터넷은 문제 없이 잘 작동속도 테스트, 설치 파일 다운로드와 같은 동작은 문제 없이 작동DNS 문제 없음nslookup, dig 모두 잘 작동대조군 설정 및 테스트 문제의 VM대조군 VM스펙4vCore/8GB RAM/60GB Storage4vCore/8GB RAM/60GB Storage네트워크외장 USB NIC을 업링크로 ..