전체 글 554

🛠️ K8S Trouble Shooting : Persistent Volume(스토리지) 관련 오류 해결하기

Kubernetes에서 영구적인 데이터 저장을 위해 Persistent Volume(PV)과 Persistent Volume Claim(PVC)을 사용합니다.하지만 스토리지 프로비저닝 문제, 볼륨 충돌, 마운트 실패 등의 다양한 오류가 발생할 수 있습니다.이 글에서는 Kubernetes 환경에서 발생할 수 있는 대표적인 Persistent Volume(스토리지) 관련 오류 5가지를 정리하고, 각각의 원인과 해결 방법을 설명합니다. 🚀  1️⃣ “Failed to attach volume…” 🔎 오류 설명 이 오류는 볼륨을 Pod에 연결할 수 없을 때 발생합니다.주로 스토리지 플러그인 문제, 볼륨이 이미 다른 노드에 연결된 경우, 또는 권한 문제로 인해 발생할 수 있습니다. 🔧 해결 방법 1) 볼륨 ..

🛠️ K8S Trouble Shooting : RBAC 및 인증 관련 오류 해결하기

Kubernetes에서는 보안 및 권한 관리를 위해 Role-Based Access Control(RBAC)을 사용합니다.하지만 권한 부족, 잘못된 서비스 계정 설정, 인증서 문제로 인해 여러 가지 오류가 발생할 수 있습니다.이 글에서는 Kubernetes 환경에서 발생할 수 있는 대표적인 RBAC 및 인증 오류 5가지를 정리하고, 각각의 원인과 해결 방법을 설명합니다. 🚀  1️⃣ “Forbidden: pods is forbidden: User…” 🔎 오류 설명 이 오류는 사용자가 특정 리소스에 대한 액세스 권한이 없을 때 발생합니다.주로 RBAC(Role-Based Access Control) 설정 문제로 인해 발생합니다. 🔧 해결 방법 1) 현재 사용자의 권한 확인 사용자가 특정 리소스에 대해..

🛠️ K8S Trouble Shooting : 컨테이너 및 이미지 문제 해결하기

Kubernetes에서 컨테이너 및 이미지 관련 오류는 애플리케이션 배포 시 가장 자주 발생하는 문제 중 하나입니다.이 글에서는 Kubernetes 환경에서 발생할 수 있는 대표적인 컨테이너 및 이미지 문제 5가지를 정리하고, 각각의 원인과 해결 방법을 설명합니다. 🚀  1️⃣ “Failed to pull image…” 🔎 오류 설명 이 오류는 Kubernetes가 컨테이너 이미지를 가져오지 못할 때 발생합니다.주요 원인은 잘못된 이미지 이름, 태그 오류, 인증 문제 또는 네트워크 연결 문제일 수 있습니다. 🔧 해결 방법 1) 올바른 이미지 이름 및 태그 확인 먼저, 사용하려는 이미지가 올바르게 입력되었는지 확인합니다.kubectl describe pod -n 출력된 이벤트 로그에서 Failed ..

🛠️ K8S Trouble Shooting : Helm 및 업그레이드 문제 해결하기

Helm을 사용하여 Kubernetes에서 애플리케이션을 배포하고 업그레이드할 때 다양한 오류가 발생할 수 있습니다.이 글에서는 Kubernetes 환경에서 발생할 수 있는 대표적인 Helm 및 업그레이드 오류 4가지를 정리하고, 각각의 원인과 해결 방법을 설명합니다. 🚀 1️⃣ “Error: UPGRADE FAILED: failed to replace object: cannot patch…” 🔎 오류 설명 이 오류는 Helm 업그레이드 중 기존 리소스를 변경할 수 없을 때 발생합니다.일반적으로 불변(immutable) 필드를 변경하려고 하거나, Kubernetes 리소스와 충돌이 발생할 때 나타납니다. 🔧 해결 방법 1) 불변 필드(Immutable Field) 변경 여부 확인 Kubernetes..

🛠️ K8S Trouble Shooting : 리소스 조회 및 존재 여부 오류 해결하기

Kubernetes에서 특정 리소스를 조회하거나 조작할 때 종종 발생하는 오류 유형 중 하나가 “리소스 조회 및 존재 여부” 관련 문제입니다.이 글에서는 Kubernetes 환경에서 발생할 수 있는 대표적인 리소스 조회 및 존재 오류 5가지를 정리하고, 각각의 원인과 해결 방법을 설명합니다. 🚀  1️⃣ “Error from server (NotFound): error when retrieving current configuration of…” 🔎 오류 설명 이 오류는 kubectl을 통해 조회하려는 리소스가 존재하지 않을 때 발생합니다.리소스가 잘못된 이름으로 요청되었거나, 특정 네임스페이스에서 찾을 수 없는 경우 나타납니다. 🔧 해결 방법 1) 올바른 리소스 이름 확인 해당 리소스가 존재하는지 ..

🛠️ K8S Trouble Shooting : API 서버 및 네트워크 연결 문제 해결하기

Kubernetes를 사용하면서 가장 흔히 발생하는 문제 중 하나는 API 서버 및 네트워크 연결 관련 오류입니다.이 글에서는 Kubernetes 환경에서 발생할 수 있는 대표적인 API 서버 및 네트워크 연결 오류 5가지를 정리하고, 각각의 원인과 해결 방법을 설명합니다. 🚀  1️⃣ “Unable to connect to the server: dial tcp :443: connect: connection refused” 🔎 오류 설명 이 오류는 kubectl이 Kubernetes API 서버에 연결할 수 없을 때 발생합니다.일반적으로 API 서버가 비정상적으로 종료되었거나, 네트워크 문제가 있을 때 나타납니다. 🔧 해결 방법 1) API 서버 상태 확인 먼저, API 서버가 실행 중인지 확인합니..

Kubernetes 환경에서 ChromaDB 구축 및 Python 데이터 저장 테스트

Docker Desktop (Mac M1)에서 Kubernetes를 활용하여 ChromaDB를 배포하고, Python을 사용하여 데이터를 저장 및 검색하는 방법을 정리해보았습니다.특히, hostPath를 올바르게 설정하여 데이터를 영구 저장하는 방법과 LoadBalancer를 통해 외부에서 접근하는 방법을 포함합니다.✅ 1. Docker Desktop 환경에서 ChromaDB 설치 개요Docker Desktop의 내장 Kubernetes 기능을 사용하면 로컬 개발 환경에서 손쉽게 ChromaDB를 실행할 수 있습니다. 그러나 데이터를 영구 저장하려면 Kubernetes hostPath 설정이 필요하며, 외부 접근을 위해 LoadBalancer를 설정해야 합니다.📌 목표Kubernetes에 ChromaD..

Kubernetes 환경에서 MySQL Helm Chart 설치하기

✅ 개요Kubernetes 환경에서 MySQL을 실행하려면 Helm Chart를 활용하는 것이 가장 효율적인 방법입니다. 이 글에서는 Bitnami MySQL Helm Chart를 사용하여 MySQL을 배포하는 방법을 설명합니다. 특히, Airflow 네임스페이스에 MySQL을 배포하고 비밀번호를 airflow로 설정하는 과정을 다르립니다.✅ 1. Helm 저장소 추가 및 업데이트먼저, Bitnami Helm Chart 저장소를 추가하고 최신 상황으로 업데이트합니다.helm repo add bitnami https://charts.bitnami.com/bitnamihelm repo update✅ 2. MySQL Helm Chart 설치다음 명령어를 실행하여 MySQL을 airflow 네임스페이스에 설치합..

🚀 Docker Desktop에서 Apache Airflow 설치 및 DAG 파일 마운트하기

Kubernetes 환경에서 Apache Airflow를 설치하고, DAG 파일을 로컬 디렉터리에서 마운트하는 방법을 정리해보았습니다.특히 Docker Desktop (Mac M1)에서 hostPath를 올바르게 설정하여 DAGs를 공유하는 방법과Helm을 사용하여 기존 Airflow 환경을 업그레이드하는 방법을 포함합니다.  ✅ 1. Docker Desktop 환경에서 Airflow 설치 개요 Docker Desktop의 내장 Kubernetes 기능을 사용하면 로컬 개발 환경에서 손쉽게 Apache Airflow를 실행할 수 있습니다.그러나, DAG 파일을 로컬 디렉터리에서 관리하려면 Docker Desktop의 파일 공유 설정과 Kubernetes hostPath 설정이 필요합니다. 📌 목표 1...

🚀 Kubernetes에서 OOMKilled 발생 원인 및 해결 방법

Kubernetes를 운영하면서 OOMKilled(Out of Memory Killed) 오류를 접하는 것은 흔한 문제입니다. OOMKilled는 Pod이 메모리를 초과하여 사용했을 때 Kubernetes가 이를 강제로 종료하는 현상입니다. 이번 포스트에서는 OOMKilled의 원인과 이를 모니터링하고 해결하는 방법을 정리해보겠습니다.  🛑 OOMKilled 오류란? OOMKilled는 Kubernetes에서 컨테이너가 설정된 메모리 제한(Limits)을 초과할 경우 발생하는 오류입니다. Pod이 할당된 메모리를 초과하면 Kubelet이 이를 감지하고 강제로 종료합니다. 🛑 OOMKilled 발생 시 나타나는 증상 • kubectl get pod 명령어에서 STATUS가 OOMKilled로 표시됨 •..

728x90