본문 바로가기
728x90
반응형

분류 전체보기166

[k8s] 초기화 컨테이너 적용시키기 - initContainers MongoDB 연결이 안되었다는데요? 위에는 AKS에 생성된 workloads이다. 총 9개로 아직 Ready 상태가 주황빛이지만 n초만 지나도 오른쪽처럼 초록빛들이 들어온다. 여기에서 중요한 점이 있다. 초록빛이 즉, 정상적으로 Ready 상태가 되는 순서가 뒤죽박죽이다. A라는 서비스가 먼저 Ready가 되었는데 아직 MongoDB가 Not Ready일 때 문제가 생겼다. A 서비스는 시작되면서 바로 MongoDB에 연결을 시도했다. 하지만 MongoDB가 아직 Ready가 되지 못해 통신이 되지 않으니 A 서비스는 연결 오류를 뱉어난다. 나중에 MongoDB가 Ready가 되었다고 하더라도 A 서비스는 이미 연결 오류로 끝났다. 그럼 MongoDB 연결에 timeout을 걸어 위와 같은 상황에 내가.. 2023. 4. 21.
[k8s] 쿠버네티스 명령어 모음 yaml 올리기 kubectl apply -f [파일이름].yaml Pod 조회 kubectl get pod kubectl get pod -o wide 특정 Pod 자세히 조회 kubectl describe pod [pod name] 특정 Pod 재시작 kubectl rollout restart deployment [deployment_name] 특정 Pod의 env 조회 kubectl exec [Pod 이름] -- env 특정 Pod 삭제 kubectl delete po [pod 이름] Service 조회 kubectl get service 로그 조회 kubectl logs [pod name] 컨피그맵 조회 kubectl get configmaps kubectl describe configmaps [이.. 2023. 4. 21.
[Azure] ERROR: A different object named 'x' already exists in clusters in your kubeconfig file. 원인 az aks get-credentials -g [리소스그룹 name] -n [aks name] AKS를 만들어준 다음 kubectl을 사용하기 위해 클러스터에 연결해줬다. 그랬더니 ERROR: A different object named 'x' already exists in clusters in your kubeconfig file. 라는 오류가 나왔다. 이유는 만든 AKS 이름과 동일하게 kubeconfig 파일이 있기 때문이다. 나의 경우 예전에 만들어둔 AKS를 삭제할 때 제대로 kubeconfig 파일까지 삭제하지 않아 생긴 현상이었다. 해결 az aks get-credentials -g [리소스그룹 name] -n [aks name] --overwrite-existing 해결방법은 의외로.. 2023. 4. 18.
[Azure] Kubernetes를 이용한 MSA 배포 셋팅 일대기 결국 도움이 된다! 'AKS를 이용해 서버 배포하기' 라는 이름으로 포스팅을 한지 벌써 6개월 이상 지났네요. 당시 회사 서비스는 MVP 버전으로 아직 클라우드 진입까지는 힘든 시기였습니다. 하지만 먼저 공부해보는 것도 좋을 것 같아 동기님과 이거저거 만져봤었죠. 그때의 경험이 절 살렸습니다 🥹 최근 회사 서비스가 급속도로 개발되면서 클라우드 도입이 빠른 시일내에 완료되어야 하는 과제가 되었어요. 작년 8월에 미리 공부하지 않았다면 불과 일주일만에 클라우드 도입은 하지 못했을거라 예상해봅니다. 여러분들도 미리미리 공부하시면 나~중에 도움이 되실게요! 특히 블로그에 세세히 적어놓으니 제가 제걸 보고 따라하는 진풍경이 나왔답니다. 이미 겪은 에러도 피해갈 수 있었고요. 이렇게 블로그가 큰 도움이 된답니다. .. 2023. 4. 14.
fs.rmdir error - ENOENT: no such file or directory, open 'x' 에러 if (files) { for (const file of files) { formData.append(file.fieldname, fs.createReadStream(file.path), { filename: file.originalname }); } formData.append('data', body); fs.rmdir('uploads/run', { recursive: true }, err => { if (err) { console.log('file 삭제 오류: ', err); } else { console.log('file 삭제 완료'); } }); } 솔직히 말해서 ENOENT: no such file or directory, open 'x'라는 에러문구는 심플하다. 경로에 적힌 대로 갔는데 .. 2023. 4. 5.
[VSCode] extensions 업데이트 자동에서 수동으로 바꾸기 확장 프로그램 자동 업데이트 불편해 https://bcoding-lab.tistory.com/368 [VSCode] Gitmoji Extension 클릭해도 안나오는 오류 방안 Gitmoji는 git을 통해 협업하는데 편리성을 제공해주는 Extension입니다. git commit 맨 앞에 약속된 type의 이모지를 넣어 팀원들에게 commit message를 파악하기 쉽게 만들어주죠. 계속 바뀌는 commit 규칙이 bcoding-lab.tistory.com VSCode 확장프로그램 중에서 아직도 에러가 잡히지 않은 Gitmoji 때문에 버전을 낮춰 사용한다. 하지만 VSCode 확장프로그램 업데이트가 자동으로 되어져 있어 아이맥을 끄고 가면 알아서 최신 버전을 깔리게 된다. 그럼 또 Gitmoji 눌.. 2023. 3. 13.
[Axios] query를 보내고 싶은 그대, 이것만 기억하기 query 그거 어떻게 하는건데? 백엔드 개발자가 axios를 쓴 이유가 뭐냐고 궁금해 할 수 있다. 단일 레포 즉, Monolithic 서비스라면 axios를 백엔드에서 사용할 이유가 없을테지만, MSA로 서비스를 운영해야한다면 나눠진 A라는 서비스에 B라는 서비스가 통신하기 위해서 axios를 사용할 수 있다. 현재 우리 회사에서는 MSA와 클라우드 아키텍처로 인해 axios를 사용하고 있고, API를 전적으로 담당하는 나는 점점.. axios 장인이 되어가고 있다 🤣 이번에는 axios에서 query를 보내고 싶을 때 어떻게 하는지 알아보도록 하자. { params: } 필수 body나 param을 보낼때는 그리 신기하지 못해 포스팅 할 필요성을 못느꼈다. 하지만 query는 익숙하지 않아 잘 까먹.. 2023. 3. 9.
[express] middleware 결과 다음으로 넘겨주기 - next()에 parameters 넣어주기?! 중복코드 없애기 = middleware 사용하기 A, B, C API가 있다. 모두 동일하게 먼저 User라는 데이터가 있는지 확인한다고 하자. 그럼 A, B, C API를 담당하는 router에 User를 조회하는 프로세스가 사용될 것이다. 개발자란 동일한 코드를 최대한 사용하지 않는다가 나의 개발론이기 때문에 매우 거슬렀다. 그래서 사용한게 middleware다! middleware를 이용하면 다음 미들웨어로 현재 요청을 넘길 수 있다. 더 자세한 것은 공식문서에서보자. https://expressjs.com/en/guide/using-middleware.html Using Express middleware Using middleware Express is a routing and middleware.. 2023. 3. 8.
[YarnBerry] yarn으로 express 초기세팅 오류 해결 - Cannot find module 'x' or its corresponding type declarations.ts(2307) import로 모듈을 가져올 수 없다? 최근에 패키지 관리를 npm이 아닌 yarn berry로 하게 되었다. 아직 익숙하지 않는데 import부터 안될줄은 생각도 못했다 🤣 @types 때문인가? typescript는 쓰면 분명 npm i [모듈이름]으로 다운 받았는데도 안되는 경우가 있다. 그러면 vscode에서 친절하게 npm i @types/[모듈이름] 해줄까 라고 물어본다. @types로 한 번 더 모듈을 다운로드느 하는 이유는 JavaScript엔 필요 없는 타입추론을 TypeScript에서는 하기 때문이다. yarn add @types/express --dev 그래서 바로 yarn add 명령어를 이용해서 다운로드 해줬지만 여전히 오류가 사라지지 않았다. VSCode에 쓰려면 다음과 같은 절.. 2023. 3. 7.
728x90
반응형