킹명현 블로그

Written by@Freckie
깃허브 스타될거야.

GitHubLinkedIn

Ingress에 정의된 path에 regex 사용시 라우팅되지 않던 이슈

2024년 02월 18일 작성

문제 상황 표면적으로 보이던 에러 상황 프론트엔드에서 로의 모든 request가 404 에러 발생 request가 도착해야할 pod에 어떠한 로그도 찍히지 않았다. 다만, ingress-nginx-controller 로그에는 request가 도착했고 404를 돌려줬다는 로그가 찍혔다. 여기서, 다음 상황이라고 추측했다. 원인 추적 Ingress를 살짝 …

Spring Batch 5.0에서 배치용 메타데이터 DB와 서비스 DB 분리하기

2023년 05월 26일 작성

스프링 배치 메타데이터 스프링 배치에서는 과 의 실행 상태, 파라미터, 컨텍스트 등을 관리하기 위해 메타데이터 테이블을 필요로 한다. 1 메타데이터 엔티티들은 , , , 등이 있고, 이들을 관리하는 테이블들은 총 6개로 다음과 같다. : Job이 실행될 때마다 생성된 JobInstance : JobInstance의 시작/종료 시간, 상태, 종료 메세…

파이썬 SharedMemory 사용 시 자동으로 unlink가 호출되는 문제

2022년 10월 28일 작성

문제점 Python 3.8에서 추가된 모듈의 를 사용하는 경우, SharedMemory를 사용하던 프로세스가 종료되었을 때, 연결된 공유 메모리 블록까지 릴리즈되어 다른 프로세스에서 사용이 불가능한 문제 발생한다. SharedMemory 세그먼트를 프로세스의 종료와 관계 없이 유지하는 시나리오도 존재할 수 있지만, 파이썬에서는 memory leak로 판…

Go에서 해시 테이블(Map)은 어떻게 구현되어 있을까?

2022년 04월 07일 작성

요약 Hash Table에서 해시 충돌(Hash Collision)에 대한 해결책으로 Open Addressing, Separate Chaining 등이 있다. Go에서는 Separate Chaining 방법으로 구현되어 있는데, 이 방법은 링크드 리스트와 같이 버킷의 엔트리에 엔트리를 붙이는 방법이다. 링크드 리스트나 트리의 구조로 chaining을 수…

쿠버네티스 서비스 2 | 쿲벖넶팂슶 Ep.4

2021년 07월 29일 작성

이 포스팅은 Marko Lukša의 Kubernetes in Action (1st edition)에서 Chapter 5. Services: Enabling Clients to Discover and Talk to Pods를 기반으로 재구성하였습니다. 서비스에 관련된 내용은 총 3편의 시리즈로 포스팅할 예정입니다. 들어가기 전에 지난 포스팅에서는 서비스라는…

쿠버네티스 서비스 1 | 쿲벖넶팂슶 Ep.3

2021년 07월 26일 작성

이 포스팅은 Marko Lukša의 Kubernetes in Action (1st edition)에서 Chapter 5. Services: Enabling Clients to Discover and Talk to Pods를 기반으로 재구성하였습니다. 서비스에 관련된 내용은 총 3편의 시리즈로 포스팅할 예정입니다. 쿠버네티스 서비스 1 쿠버네티스 서비스 2…

쿠버네티스 NodePort 할당 범위 변경하기

2021년 07월 23일 작성

수정사항 2021.07.24 21:16 :: 제목 수정, 일부 잘못된 내용 삭제, 주석 수정 NodePort 쿠버네티스 기본 세팅에서 NodePort는 - 범위 내에서 할당된다. 1 이렇게 세팅된 이유는 다음 충돌이 예상되기 때문이다. 2 노드가 실제로 사용하는 포트와 충돌할 수 있음. (예로 번 포트 등) pod host 포트와 충돌할 수 있음. , ,…

etcd에 대해 알아보자 | 쿲벖넶팂슶 Ep.2

2021년 06월 30일 작성

1. What is etcd? distributed reliable key-value store : + istributed system (“엣-시디”로 읽음) 분산 시스템의 운영에 필요한 데이터를 관리하는 용도로 사용된다. 클러스터 구성을 위해 election, consensus(Raft) 등을 처리하고 관련 설정값을 관리한다. CNCF(Cloud N…

쿠버네티스 | 쿲벖넶팂슶 Ep.1

2021년 06월 03일 작성

소개 쿠버네티스 공식 문서에서는 애플리케이션 배포 방법에 따라 3개의 시대로 나눈다. 전통적인 배포 시대(Traditional deployment era), 가상화된 배포 시대(Virtualized deployment era), 컨테이너 개발 시대(Container deployment era). https://d33wubrfki0l68.cloudfront…

VirtualBox로 가상머신 만들어 Kubernetes 클러스터 구성하기

2021년 03월 08일 작성

수정사항 2021.03.09 13:48 :: calico, flannel 설치 명령 오타 수정 2021.03.17 13:22 :: flannel 제외 2021.03.29 16.24 :: kubeadm init 시 pod-network-cidr 옵션 추가, calico 대신 flannel 설치 환경 호스트 서버 Ubuntu 18.04 VirtualBox V…