본문 바로가기

전체 글

(18)
Kubernetes에서 노드 삭제 시 발생하는 서비스 지연 현상 Kubernetes 환경에서 kubectl delete node 명령을 실행하면 단순히 노드가 제거될 뿐이라고 생각하기 쉽습니다. 하지만 실제 운영 환경에서는 이 명령 이후 일부 서비스에서 일시적인 응답 지연이나 연결 실패가 발생하는 경우가 있습니다. 이 글에서는 이러한 현상이 발생하는 원인을 체계적으로 분석하고, 사전에 할 수 있는 조치와 점검 항목까지 자세히 설명합니다.목차1. 현상 정의2. 원인 분석3. 조치 방법4. 확인 및 진단 사항5. 결론 1. 현상 정의 kubectl delete node 명령을 실행한 직후, 다음과 같은 문제가 관찰될 수 있습니다:일부 서비스의 응답 지연일시적인 연결 끊김 또는 리퀘스트 실패이미 종료된 Pod로 트래픽이 전달되어 오류 발생이러한 문제는 Pod 자체는 이미..
CoreDNS 운영 Best Practice 8가지 목 차 0. CoreDNS란? 1. 외부 DNS 서버를 다중으로 설정하세요2. cache 플러그인으로 응답 지연을 줄이세요3. CoreDNS 리소스 요청과 제한을 명확히 지정하세요4. 클러스터 노드 수에 따라 CoreDNS 레플리카 수를 조정하세요5. loop 플러그인으로 DNS 루프를 감지하세요6. 운영 환경에서는 log 대신 errors 플러그인을 사용하세요7. ready 플러그인으로 안정적인 Liveness Probe를 구성하세요8. Prometheus를 통한 CoreDNS 모니터링을 구성하세요  0. CoreDNS란?CoreDNS는 Kubernetes 클러스터 내에서 서비스 디스커버리(DNS 기반) 기능을 제공하는 핵심 컴포넌트입니다. Kubernetes에서 각 Pod는 고정된 IP가 없고, 동..
Kubernetes에서 L7 Load Balancer와 Ingress Controller로 SSL Offloading 설정하는 방법 Kubernetes(쿠버네티스)를 활용해 인프라를 구성하다 보면, HTTPS 보안 연결 설정은 필수입니다.특히 Ingress Controller와 L7 Load Balancer(계층 7 로드 밸런서)를 함께 사용하는 구조에서는 SSL 인증서 처리 위치를 명확히 하는 것이 중요하죠.이 글에서는 SSL Offloading이란 무엇인지, 그리고 Ingress + L7 LB 구조에서 SSL Offloading을 어떻게 구성해야 하는지를 초보자 눈높이에서 자세히 설명합니다. 목 차SSL Offloading이란?Ingress + L7 LB 구조 이해하기SSL Offloading 설정 단계별 가이드자주 발생하는 문제와 해결법요약 정리 SSL Offloading이란?SSL Offloading은 HTTPS 통신을 Ing..
pause image 총 정리 - failed to pull image "registry.k8s.io/pause:3.9" kubernetes를 사용하다가 이런 에러를 만나본 적 있나요?failed to pull image "registry.k8s.io/pause:3.9" pause 이미지는 kubernetes 운영을 위해서는 반드시 필요한 이미지로, 클러스터 운영에 있어 매우 중요한 역할을 수행합니다. 이번 글에선 pause 이미지가 무엇인지, 어떤 역할을 하는지, image pull 에러 원인과 조치방법에 대해 자세히 알아보겠습니다. 1. Kubernetes Pause 이미지란?Kubernetes에서 가장 작은 단위는 Pod입니다. Pod는 하나 이상의 컨테이너를 묶어 놓은 논리적인 그룹으로, 동일한 네트워크와 스토리지 자원을 공유합니다. 마치 하나의 작은 가상 머신과 같다고 생각하시면 됩니다. 여기서 pause 이미지가..
Kubernetes에서 Object Storage 사용하는 법: S3 연동부터 코드 예시까지 쿠버네티스(Kubernetes)를 사용하다 보면 애플리케이션의 데이터를 어디에 저장할지 고민하게 됩니다. 대부분의 경우 볼륨을 마운트해서 데이터를 저장하는 방식이 익숙하지만, 대용량 로그, 이미지, 백업 파일처럼 파일 크기가 크고 자주 변경되지 않는 데이터는 Object Storage(오브젝트 스토리지)를 사용하는 것이 적합합니다.이 글에서는 Kubernetes에서 Object Storage를 어떻게 사용하는지, Block/File Storage와의 차이점, AWS S3를 활용한 실전 예시까지 알아보겠습니다.  목 차1. Kubernetes에서 Object Storage와 File Storage 사용법 비교2. Object Storage 사용 방법과 구성 방식3. AWS S3를 사용하는 예시: 로그 관리..
Kubernetes Multi Cluster Kubernetes는 기본적으로 하나의 클러스터에서 컨테이너 워크로드를 운영합니다. 하지만 규모가 커지거나 복잡한 요구사항이 생기면 여러 클러스터를 함께 운영하는 방식, 즉 멀티 클러스터(Multi-Cluster) 전략이 필요해집니다.오늘은 멀티 클러스터가 언제, 왜, 어떻게 사용되는지, 그리고 운영 팁까지 함께 알아보겠습니다.    목 차 멀티 클러스터는 언제 사용할까요? 왜 멀티 클러스터를 써야 할까요? 어떻게 멀티 클러스터를 구성할 수 있을까요? 클러스터 간 트래픽은 어떻게 오가나요? 멀티 클러스터 운영 시 주의할 점 클라우드별 멀티 클러스터 도구요약 1. 멀티 클러스터는 언제 사용할까요?멀티 클러스터는 다음과 같은 상황에서 유용합니다.여러 지역(Region)에 걸쳐 서비스를 배포할 때특정 팀이나 ..
curl: (35) OpenSSL SSL_connect: Connection reset by peer curl: (35) OpenSSL SSL_connect: Connection reset by peer 오류는 SSL 핸드셰이크를 시도하는 도중 상대방 서버(또는 중간 노드)가 TCP 연결을 강제로 종료했을 때 발생합니다. SSL 세션을 설정하기도 전에 RST 패킷이 반환되며 연결이 끊기기 때문에, 근본적으로는 네트워크 레벨 또는 SSL 설정 문제입니다. 따라서 k8s 서비스로의 통신 과정에서 OpenSSL 오류가 발생하였다면, 네트워크의 어느 구간에서 연결이 끊기는지를 확인하여야 합니다.   목 차1. Connection reset by peer 원인 서버(API-Server)가 TLS 핸드셰이크 전에 연결을 종료 중간 장치 (L4 Load Balancer, 보안 장비, Proxy)가 TCP 연결을 리셋..
helm uninstall시 일부 리소스가 남아 있는 이유 helm install 중에 자원이 아직 완전히 생성되지 않았거나 초기화 중일 때, helm uninstall을 바로 실행하면 삭제가 실패하거나 멈춰버리는 현상이 발생할 수 있습니다. 이건 Helm과 Kubernetes 리소스의 상태 비일관성, finalizer, hook, 그리고 네트워크 지연 등 다양한 요인 때문입니다. 이번 글에서는 그 원인과 구체적인 메커니즘을 체계적으로 정리해 드립니다.    목 차1. 헬름 설치 도중 uninstall이 실패할 수 있는 주요 원인일부 리소스가 아직 Kubernetes API에 반영되지 않은 상태Hook 리소스 (pre-install,post-install)가 설치되기 전에 삭제됨 일부 리소스가 생성되었으나 초기화되지 않아 finalizer에 의해 삭제 지연 He..