Tech-Blog: K8S와 Cloud-Native 기술 탐구

  • SeaweedFS 설치 및 Kubernetes CSI 드라이버 연동 가이드

    Kubernetes 환경에서 안정적이고 유연한 스토리지가 필요하다면, SeaweedFS는 꽤 매력적인 선택입니다. 이 글에서는 SeaweedFS가 어떤 파일 시스템인지 간단히 소개하고, Kubernetes 클러스터에서 어떻게 설치하고 CSI 드라이버를 연동하는지 정리해보겠습니다. SeaweedFS란? SeaweedFS는 대용량 데이터를 빠르게 저장하고 접근할 수 있는 분산 파일 시스템입니다. 특히 단순한 구조와 높은 성능 덕분에, 클라우드 환경이나 컨테이너 기반 시스템에서 잘 활용됩니다. 주요 특징 1. SeaweedFS Read more

  • SSH 없이 Kubernetes Node에 접근 하기

    1. 언제 사용할까? 보안 정책상 SSH 접근이 차단된 환경에서 Kubernetes 노드에 직접 접근해야 할 경우가 있다. 서비스 장애 대응이나 노드의 상태를 점검하려면 SSH 없이도 접근할 수 있는 방법이 필요하다. 이 글에서는 Pod + nsenter 조합을 활용하여 SSH 없이 노드에 접근하는 방법과, 추가적으로 systemd 및 dbus를 활용해 systemctl을 활용하는 방법에 대해 이야기 하려고 한다. 2. Pod를 Read more

  • 리눅스 FD 자동 로깅 스크립트 설정 방법

    리눅스 FD 자동 로깅 스크립트 설정 방법

    📌 파일 디스크립터(FD)란? 리눅스에서 파일, 소켓, 파이프 등을 열 때 사용하는 고유한 번호입니다. 모든 프로세스는 파일 디스크립터를 사용하며, 최대 개수 제한이 있습니다. 제한을 초과하면 프로그램이 정상적으로 동작하지 않을 수 있습니다. 🔎 현재 시스템의 FD 정보 확인하기 출력 예시: 🔹 FD 사용량 자동 모니터링 스크립트 시스템의 FD 사용량을 주기적으로 기록하는 자동 모니터링 스크립트입니다. 1️⃣ 5초마다 FD Read more

  • [Kubernetes] K8s Node IP 변경 방법 (kubeadm 기반)

    Kubernetes 클러스터를 운영하다 보면 마스터 노드의 IP를 변경해야 하는 상황이 종종 발생합니다. 예를 들어, 네트워크 재구성, 클러스터 확장, 또는 새로운 인프라 환경으로 이전할 때 기존의 마스터 노드 IP를 유지하기 어려울 수 있습니다. 이때, controlPlaneEndpoint를 IP 대신 호스트네임(예: master1)으로 설정하면 유연성이 크게 향상됩니다. 이를 활용하면 사전에 클러스터를 패키징해 배포한 후, 환경에 맞게 IP만 변경하는 방식으로 운영할 Read more

  • 🛠 Kubernetes에서 certSANs에 신규 IP 추가하기

    📌 문제 개요 Kubernetes 클러스터에서 kubectl get node 명령을 실행할 때, 다음과 같은 TLS 인증서 오류가 발생할 수 있습니다. 🔍 오류 분석: 💡 이 문제가 발생하는 주요 시나리오 🔎 1. 현재 SAN 목록 확인 먼저, 현재 인증서의 SAN 목록을 확인하여 새로운 IP가 포함되지 않았는지 점검합니다. 📌 출력 예시: 🚨 192.168.135.25이 빠져 있다면, certSANs 설정을 수정해야 Read more

  • 🚀 Kubernetes에서 Too many open files 오류 해결 – 파일 핸들 개수 조정하기

    1️⃣ 문제 상황 Kubernetes v1.27 + containerd 환경에서 PostgreSQL 컨테이너가 CrashLoopBackOff 상태에 빠지는 문제가 발생했습니다. 이로 인해 서비스들이 정상적으로 동작하지 않았고, 컨테이너의 로그를 확인해보니 다음과 같은 오류 메시지가 출력 되었습니다. 🔍 원인 분석 오류 메시지에서 “Too many open files”라는 문구를 확인할 수 있습니다. 이는 컨테이너 또는 호스트 OS에서 파일 핸들(file descriptors) 개수 제한을 초과했다는 의미입니다. Read more