Kubernetes 150

[k8s] ConfigMap - pod에서 파일처럼 취급하기

개요쿠버네티스를 한참 배울 시점 ConfigMap은 주로 환경 변수 등으로 여러 Pod에서 공유하며 사용하기 위한 리소스라고 이해했었다. 하지만 최근 ConfigMap으로 볼륨을 만들어 Pod에 마운트하는 방식을 보게 되어 기록한다. ConfigMapConfigMap은 키-값 쌍으로 기밀이 아닌 데이터를 저장하는 데 사용하는 리소스다. ConfigMap은 크게 아래와 같은 용도로 활용된다.- 컨테이너 명령어의 인수- 컨테이너 환경 변수- 애플리케이션에서 읽기 전용 볼륨으로 추가- 쿠버네티스 API를 사용하여 ConfigMap을 읽는 Pod 내 실행 코드 작성이번 글애서 확인할 부분은 바로 애플리케이션에서 읽기 전용 볼륨으로 추가하는 방법이다. 방법구성 방법을 적어둔다. 1. ConfigMap 생성c..

Kubernetes 2025.11.28

[FreeLens] 터미널을 WSL로 변경하기

개요FreeLens도 다른 IDE와 마찬가지로 터미널 기능을 제공하고 있는데, Windows의 경우에는 기본적으로 PowerShell을 사용하고 있다.PowerShell도 좋은 프로그램이지만, 평소 Ubuntu를 사용해 kubectl 명령어를 사용해왔다 보니 아무래도 편안하게 작업하기는 어려웠다. 따라서 이번 글에서는 FreeLens가 사용하는 터미널을 WSL로 변경해보려고 한다. + 참고터미널 세션은 하단의 + (New Tab) 버튼 > Terminal session을 통해 사용할 수 있다. 방법은 다음과 같다. 터미널 변경1. 설정 페이지로 이동왼쪽 상단 메뉴 > File > Preferences를 클릭하거나 Ctrl + , 를 눈러 설정 페이지로 이동한다.2. TERMINAL SHELL PATH..

Kubernetes 2025.11.20

[FreeLens] ResouceMap 확장 프로그램 설치

개요2025.11.13-[Freelens] k8s IDE 설치 및 사용에서 쿠버네티스 IDE인 렌즈에 대해서 알아보았다. 렌즈를 사용하면 명령어를 사용하지 않고도 여러 유형의 리소스 목록을 확인할 수 있다는 장점이 있지만, 리소스 간의 관계를 확인하기는 조금 어렵다.이번 글에서는 리소스 간의 관계를 볼 수 있도록 도와주는 RescoureMap이라는 확장 프로그램을 설치해보려고 한다. ResouceMapFreeLens는 OpenLens에서 사용되던 확장 프로그램들을 변환해 두었는데, 그 목록은 확장 프로그램 위키에서 찾을 수 있다.그 중 ResouceMap은 쿠버네티스 리소스와 그 관계를 실시간 강제 방향 그래프로 나타내는 확장 프로그램이다. 설치설치 방법은 다음과 같다. 1. 확장 프로그램으로 접근..

Kubernetes 2025.11.19

[Freelens] k8s IDE 설치 및 사용

FreelensFreelens는 쿠버네테스 클러스터를 관리하고 모니터링하기 위한 그래픽 인터페이스를 제공하는 쿠버네티스 IDE이다. 이름에서 알 수 있듯 무료고 오픈소스다.기존에는 Lens(OpenLens)를 주로 사용했는데, Lens의 커뮤니티 버전의 지원이 미흡해지면서 Lens에서 갈라져 나온 프로젝트인 것 같다. FreeLens는 Lens를 포크한 프로젝트고 오픈소스 버전을 유지 관리하는 것을 목적으로 하고 있다. 설치설치는 공식 홈페이지를 통해 다운로드하여 설치한다.이 글에서는 윈도우에 설치했다. 클러스터 추가접속할 클러스터를 추가하는 방법은 크게 두 가지가 있다. 방법 1. kubeconfig 추가왼쪽 메뉴에서 File > Add Cluster 클릭하거나 키보드에서 Ctrl + Shift..

Kubernetes 2025.11.18

[k8s] Helm Release 원복 현상

개요이전에 EKS 버전 업그레이드를 수행하면서 보안 이슈가 존재하던 nginx-ingress-controller 버전 업그레이드도 함께 진행했다. nginx-ingress-controller는 helm으로 설치를 했는데, 최근 확인해 보니 버전이 업그레이드 이전으로 돌아가있었다. 버전을 업그레이드하면 기존 버전으로 재배포가 이뤄지고 심지어는 Helm Release를 삭제해도 기존 버전으로 자동 배포가 이뤄지고 있었다. 원인을 파악하고 해결한 이력을 적어둔다. 원인 - HelmRelease 리소스 존재쿠버네티스 이벤트를 확인해보니 아래와 같은 이력이 존재하는 것을 확인했다.Normal ReleaseSynced helmrelease/nginx-ingress managed release 'nginx-..

[Jupyterlab] jupyterlab-sql-explorer - SQL GUI 플러그인

개요예전에 jupyterlab / jupyter notebook을 사용할 때, 데이터베이스를 다루는 경우 jupyterlab-sql이라는 플러그인을 아주 잘 사용했다. 하지만 이 플러그인은 이제 유지보수가 이뤄지고 있지 않아 최신 버전의 jupyterlab에서는 사용이 불가능한 상태이다. 그래서 jupysql을 계속 사용해 왔는데, 최근 jupyterlab-sql을 대체할 만한 플러그인을 확인하여 기록해 둔다. jupyterlab-sql-explorerjupyterlab-sql-explorer는 사용자가 JupyterLab에서 SQL을 실행하고 데이터베이스 객체를 탐색할 수 있도록 도와주는 플러그인이다.JupyterLab 내에서 테이블, 뷰와 같은 데이터베이스 객체를 탐색할 수 있고, SQL문을 직접 ..

Kubernetes 2025.06.20

[EKS] aws-auth - EKS 클러스터에서 IAM 확인

개요업무에서 EKS에 접속해서 사용 중인데, 클러스터 내에서 내가 어떤 AWS 계정을 사용해서 작업을 수행하는지 확인하고 싶다. 찾아보니 EKS 접근 제어를 aws-auth라는 걸로 관리하는 것 같은데, 이번 글에서는 aws-auth에 대해서 조금 알아보려고 한다. aws-authEKS의 접근을 구성하는 방식 중 하나로, 클러스터가 IAM 보안 주체로 aws-auth라는 이름의 ConfigMap을 취급하는 방식이다. 즉, IAM 사용자, Role, Group을 Kubernetes RBAC과 연결하는 역할을 한다.aws-auth ConfigMap은 EKS 접근 제어를 관리하고 Kubernetes RBAC을 설정하며, EKS 노드 그룹이 클러스터에 조인할 수 있도록 허용하는 등의 역할을 담당한다.다만 공식..

Kubernetes 2025.06.19

[GitLab] k8s Helm Chart 설치 시 runner 구성 방법

개요2025.06.04-[Gitlab] runner - PANIC: Failed to register this runner. Perhaps you are having network problems 에서 쿠버네티스 환경에서 Helm으로 설치한 gitlab-runner의 버전 업그레이드를 수행했는데, values.yaml 변경으로 별도로 설정해 두었던 일부 속성이 values.yaml에서 삭제되었다. 예로 들어 chart 0.15.0 버전에서는 runners.pollTimeout이라는 속성을 지원했는데,(https://artifacthub.io/packages/helm/gitlab/gitlab-runner/0.15.0?modal=values&path=runners.pollTimeout)현재는 지원하고 있지 ..

Kubernetes 2025.06.13

[k8s] 중단과 PodDisruptionBudget

개요최근 오랜만에 쿠버네티스 관련 작업을 담당하게 되었는데, pdb라는 리소스를 새로 알게 되었다. 확인해보니 가용성, pod 중단 등과 관련이 있는 개념인 것 같다. 관련해서 알아두는 게 좋을 것 같아 정리해둔다. 중단Pod는 사람 또는 컨트롤러가 파괴하거나 불가피한 하드웨어/시스템 소프트웨어 오류가 발생한 경우가 아니라면 사라지지 않는다. 이 때 사람 또는 컨트롤러가 파괴한 경우를 자발적 중단이라고 하고, 오류로 인한 불가피한 중단을 비자발적 중단이라고 한다.각 중단이 발생할 수 있는 상황의 예시는 다음과 같다.자발적 중단비자발적 중단Deployment 제거물리 머신 하드웨어 오류다른 Pod를 관리하는 컨트롤러 제거클러스터 관리자 실수에 의한 VM 삭제Deployment 템플릿 업데이트클라우드 공..

Kubernetes 2025.05.07

[Helm] Chart와 values.yaml 결합 결과 확인

개요최근 쿠버네티스 환경을 다루면서 Helm으로 설치한 서비스를 재배포하는 등의 작업을 수행하게 됐다. 하지만 재배포 이후에도 수정한 설정값으로 리소스가 생성되지 않은 것 같아서 배포에 사용한 values.yaml과 Chart가 결합된 release 정보를 확인하고 싶다.방법을 알아보자. 릴리즈 정보 확인이미 배포한 릴리즈의 정보는 get manifest 명령어로 확인할 수 있다.매니페스트란 차트에서 생성된 쿠버네티스 리소스를 yaml 형식으로 표현한 것이다. helm get manifest RELEASE_NAME# 예시helm get manifest superset Chart + value.yaml 확인로컬 환경에서 Chart를 렌더링 하고 그 결과를 표시한다. 사용할 values.yaml을 지정하..

Kubernetes 2025.04.28