ops119 Terminating상태로 삭제되지 않는 리소스 삭제하기 쿠버네티스 클러스터에 리소스를 생성하려고 하는데 생성이 되지 않는문제가 발생 네임스페이스가 삭제되어서 그렇다고 하는데 분명히 삭제한 네임스페이스이다. kubectl api-resources --verbs=list --namespaced -o name | xargs -n 1 kubectl get -n gatekeeper-system삭제하려는 네임스페이스에 리소스가 남아 있는지 확인 삭제가 되지 않고 여전히 남아 있는 상태이러한 상태는 리소스 finalizers라는 필드에 있는 값 때문에 발생 빈배열로 변경 kubectl replace --raw "/api/v1/namespaces/gatekeeper-system/finalize" -f ns.json변경된 설정 강제 적용 여전히 삭제가 되지 않는다. 해당.. 2026. 2. 28. 쿠버네티스의 postStart and preStop handlers 쿠버네티스의 pod에서 실행되는 컨테이너가 시작하기 전과 후에 진행할 작업을 pod 리소스 파일에 정의해줄수 있다. -postStart-> 컨테이너가 생성된 직후, 쿠버네티스는 postStart lifecycle hook을 실행한다.-> postStart hook은 컨테이너가 시작된 직후 실행되며, 컨테이너의 entrypoint와 거의 동시에 실행된다.(entrypoint보다 반드시 먼저 실행되는 것은 아니며, 실행 순서는 보장되지 않는다.)-> 쿠버네티스는 postStart hook이 실행되는 동안에도 컨테이너를 RUNNING 상태로 표시할 수 있으며, postStart hook의 완료를 RUNNING 상태 전환의 절대적인 조건으로 사용하지는 않는다.-> postStart hook은 컨테이너 초기화 .. 2026. 2. 20. readinessProbe & livenessProbe pod정의 영역에서 컨테이너의 상태를 확인하여 그 결과에 따라서 컨테이너 재시작 혹은 컨테이너의 condition을 Not Ready로 업데이트하여 해당 컨테이너로 트래픽을 보내지 않도록 하는 설정 -livenessProbelivenessProbe에 initialDelaySeconds를 설정해 주어서 container에대해 probe를 바로 시작하는 것이 아니라 일정 시간이 지난 다음에 probe를 시작하도록 설정할수 있다.livenessProbe의 결과가 실패라면 kubelet은 해당 컨테이너를 재실행 한다. -readinessProbereadinessProbe도 livenessProbe처럼 probe를 시작하는 시점을 명시해 줄 수 있고probe의 주기를 설정해 줄수 있다. readinessPr.. 2026. 2. 15. "/src/node_modules": not found golang:1.25-alpine 으로 이미지를 만들다가 발생한 npm관련 오류 npm을 다운받고 npm install 명령어를 입력하면 설치는 성공하지만 명령어를 실행한 디렉터리에 node_modules가 만들어지지 않는다. #npm 명령어에 옵션 추가 npm install --prefix 위와 같이 node_modules가 설치될 디렉터리를 설정해 주면 명령어를 실행한 디렉터리에 폴더가 생성이 된다. 2026. 2. 6. 로컬 리포지토리에서 ssh 설정하기 ssh 설정은 되어 있지만 remote repository로 push가 되지 않는다. github에서 username, password로의 접속을 허용하지 않으므로 ssh로 push를 할수 있도록 설정 1.사전 설정 SSH and GPG keys 메뉴에서 ssh public key를 먼저 등록해 주어야 한다. #ssh 연결이 되는지 확인 ssh -T git@github.comHi seohan1010! You've successfully authenticated, but GitHub does not provide shell access.연결 테스트 2. remote 주소를 로컬 리포지터리에 등록 ssh의 주소 복사 #로컬 리포지터리에 등록 git remote add origin git@github... 2026. 2. 6. docker compose - watch 필드 docker-compose에 옵션 필드를 정의해 주어서 docker compose가 실행되고 있는 디렉터리의 파일에 변경이 생겼을때 해당 변경 사항을 적용하게 할수 있다. docker compose가 watch 적용되어 실행 중 프로젝트 디렉터리의 파일의 내용을 변경 docker compose에서 파일의 변경을 감지 2026. 2. 4. 계속 Terminated 상태인 namespace 삭제하기 1. 원인 확인 및 삭제 #네임스페이스 확인kubectl get namespacesNAME STATUS AGEazureserviceoperator-system Terminating 53m #53분째 삭제되고 있지 않은 네임스페이스 cert-manager Active 28hdefault Active 24dkube-node-lease Active 24dkube-public Active 24dkube-system Active 2.. 2026. 2. 3. is invalid: metadata.annotations: Too long: may not be more than 262144 bytes 1. annotation이 길어서 리소스가 생성되지 않을때 # 옵션추가kubectl apply --server-side -f 2026. 2. 3. jenkins 파이프라인에서 docker login 하기 # 잘못된 예docker login nexus:8082 -u ${NEXUS_USER} --password-stdin ${NEXUS_PASS}#올바른 예 echo "$PASSWORD" | docker login nexus:8081 -u USERNAME --password-stdin 2026. 2. 2. 이전 1 2 3 4 ··· 14 다음