Prometheus KubeControllerManagerDown & kubeSchedulerDown (EKS,GKE) EKS나 GKE와 같은 managed kubernetes 서비스에서 Promethues를 통해 모니터링을 할 때 KubeControllerManagerDown와 kubeSchedulerDown이 Firing되어 있는 것을 볼 수 있을 것이다. 이는 EKS나 GKE의 경우 control plane을 서비스로 제공하는 클라우드로서(control plane as a service) 클러스터를 받아 kubernetes를 사용하는 것이기 때문에 kube controller manager나 kube scheduler와 같은 control plane 구성 요소들이 제공받은 worker node들에서 숨겨져 있다. 따라서 해당 구성 요소들에 대한 metric 수집을 꺼두는 것이 좋다. 아래는 EKS를 사용할 때, ku.. 프로그래밍 & IT/Kubernetes 3년 전
EKS에서 Prometheus가 kube-proxy metric을 수집 못하는 문제 EKS 최신버전 클러스터는 kube-proxy metric bind address가 변경되어서 정상 기동중임에도 Prometheus상에 Target Down으로 표시된다. (connect: connection refused) 이를 해결하기 위해 cm에 있는 metricsBindAddress값을 변경해줘야한다. kubectl edit cm kube-proxy-config -n kube-system metricsBindAddress: 127.0.0.1:10249 > metricsBindAddress: 0.0.0.0:10249 kube-proxy를 한번씩 재시작 해주면 metric이 정상적으로 수집되는 것을 확인할 수 있을 것이다. 프로그래밍 & IT/Kubernetes 3년 전
kubernetes pv RECLAIMPOLICY 변경하기 pv를 이미 생성한 뒤에 reclaimpolicy를 변경해야 할 필요가 있을 경우가 생각보다 자주 발생한다. 특히 Delete -> Retain으로 변경해야 할 필요가 있을 때가 많은데, kubernetes에서는 kubectl patch 명령어를 통해 이미 만들어져 사용되고 있는 pv의 reclaimpolicy를 변경할 수 있게끔 기능을 제공한다. kubectl patch pv -p '{"spec":{"persistentVolumeReclaimPolicy":"Retain"}}' 프로그래밍 & IT/Kubernetes 3년 전
AWS EKS 클러스터에 접근하기 1. AWS api key 생성 https://us-east-1.console.aws.amazon.com/iam/home#/security_credentials https://us-east-1.console.aws.amazon.com/iam/home#/security_credentials us-east-1.console.aws.amazon.com 엑세스 키 만들기를 통해 key를 생성하고 .csv 파일을 잘 보관해두자. 2. AWS cli에 api key를 등록 aws configure 3. aws eks 명령어를 통해 kubeconfig에 eks 클러스터 정보를 등록하고 해당 클러스터를 사용하도록 설정할 수 있다. (kubeconfig 파일을 직접 수정해도 됨..) 등록된 api key의 계정이 해당 .. 프로그래밍 & IT/Kubernetes 3년 전
kubectl 다중 클러스터 사용(kubectl cluster switch) ※참고 : https://kubernetes.io/ko/docs/tasks/access-application-cluster/configure-access-multiple-clusters/ 다중 클러스터 접근 구성 이 페이지에서는 구성 파일을 사용하여 다수의 클러스터에 접근할 수 있도록 설정하는 방식을 보여준다. 클러스터, 사용자, 컨텍스트가 하나 이상의 구성 파일에 정의된 다음 kubectl config use-conte kubernetes.io 하나의 jumphost에서 여러 kubernetes 클러스터를 관리하는 경우, 클러스터를 바꿔가면서 kubectl 명령어를 사용해야 할 필요가 있다. 혹은 namespace에 따라 사용자를 바꿔가며 접근해야 할 경우가 있을 수 있다. 이럴 경우 kubectl c.. 프로그래밍 & IT/Kubernetes 3년 전
에러 failed to start container "prometheus-node-exporter": Error response from daemon: path / is mounted on / but it is not a shared or slave mount 임시 해결법 : nodeExporter: ## If true, node-exporter pods mounts host / at /host/root ## hostRootfs: false nodeExporter.hostRootfs 를 false로 설정한다. 프로그래밍 & IT/Kubernetes 3년 전
prometheus 설치 (Helm chart 사용) prometheus를 설치하기 위한 방법은 다양하다. binary로 설치하거나, 단일 docker container로 구동하거나, yaml파일을 작성하여 kubernetes 클러스터에서 실행하거나... 이 글에서는 helm chart를 사용하여 kubernetes 클러스터에 prometheus를 구동하는 방법을 공유하겠다. ❉ Helm 3 설치가 선행되어야 한다. ( https://www.leafcats.com/338 ) 1. Git repo info helm repo add prometheus-community https://prometheus-community.github.io/helm-charts helm repo update 2. value.yaml 수정을 수월하게 하기 위해 git repo를 c.. 프로그래밍 & IT/Kubernetes 3년 전
Helm 설치하기 Helm은 Kubernetes에서 패키지 관리를 도와주는 오픈소스 tool이다. Helm을 사용하면 kubernetes상의 다양한 application들을 보다 쉽게 설치할 수 있으며, 자신의 프로젝트 application에 대한 배포 절차를 helm을 통해 간소화하고 재사용을 용이하게 한다. 1. helm 3 설치 바이너리를 다운로드 받아서 설치할 수 있지만, 스크립트를 통해 설치하는 것이 더 보편적이다. 스크립트를 다운로드 받을 디랙토리에서 아래 명령어를 통해 스크립트를 받고 실행시키자. curl https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 > get_helm.sh sudo chmod 700 get_helm.sh ./ge.. 프로그래밍 & IT/Kubernetes 3년 전
m1 mac에서 node.js canvas 설치 문제 애플의 M1칩을 사용하는 최신 맥 PC에서는 걱정했던 것보다 더 많은 호환성 문제가 발생한다. Node.js에서 Canvas 라이브러리를 사용해야 했지만, 역시나 순조롭게 진행되지 않았다. 다행히도 최신 버전(2.9.0 이상)의 canvas에서는 m1칩을 지원해주지만, 별도의 설치를 해 주어야 정상적으로 사용이 가능했다. brew install libtiff gdk-pixbuf librsvg 위 명령어를 통해 별도의 디팬던시를 수동으로 설치해 주어야 m1 mac에서도 canvas 설치가 정상적으로 진행된다. 프로그래밍 & IT/node.js 3년 전
mac solidity 설치 (solc) brew를 통해 설치하자. brew update brew upgrade brew tap ethereum/ethereum brew install solidity 아래 명령어를 통해 잘 설치 되었는지 확인할 수 있다. solc --version Blockchain&Crypto/Solidity 3년 전
windows 실행중인 포트 확인, 종료 1. 아래 명령어로 점유중인 포트와 PID를 확인 netstat -a -o 2. PID로 프로세스 kill (Linux의 kill -9 와 유사한 명령어) taskkill /f /pid 1234 프로그래밍 & IT/Infra 3년 전
wsl2 kubernetes volume hostpath 못잡는 문제 해결방법 로컬환경 Windows10에서 wsl2 + docker desktop 사용하여 k8s 구성하는 경우, kubernetes에서 hostpath로 volume (pv 포함)을 못잡는 문제가 있다. 일반 docker에서는 문제가 없는데 k8s에서는 잘 동작하지 않는다. 한참 구글링해서 찾아낸 방법으로는, /run/desktop/mnt/host/wsl/{temp-dir} 경로로 hostpath volume 경로를 지정하는 것이다. 위 경로에서 실제로 리눅스 환경에 존재하는 위치는 /mnt/wsl/{temp-dir} 이다. 따라서.. 1. mkdir /mnt/wsl/{temp-dir} 2. sudo mount --bind /{real-path} /mnt/wsl/{temp-dir} 3. /run/desktop/mn.. 프로그래밍 & IT/Kubernetes 4년 전
[발뮤다 더 스피커] 발뮤다 블루투스 스피커 후기 기존에 사용하던 "보스 사운드링크 미니" 라는 블루투스 스피커가 있었습니다. 거의 사용하지 않고 먼지만 쌓여가다 3달 전 쯤 지인에게 중고로 팔았죠. 그러다 어느날 문득 '블루투스 스피커가 있으면 좋겠다' 라는 생각이 들었습니다. 몇 달을 전원 한번 켜지 않아서 팔아버렸는데 없으니까 또 그 쓰임이 생각이 나더라고요. 음향을 전문으로 취급하는 기업들의 좋은 스피커들이 많이 있었지만, 무언가 '듣는것' 말고 또다른 가치를 가져다 줄 수 있는 스피커 하나가 눈에 밟혀 구입하게 되었습니다. 바로 발뮤다의 더 스피커 입니다. 개봉 택배상자 뚜껑을 열자마자 BALMUDA 로고가 보이는 것이 개봉을 시작하자 마자 무언가 기분 좋은 감성을 가져다 줍니다. 발뮤다 답게 가타부타 다른 설명이나 그림 없이 심플하지만 그 자.. IT제품 리뷰 4년 전
vue와 express 연동하기 nodejs의 가장 많이 사용되는 web 프레임워크인 Express js와 vuejs를 연동하여 프로젝트를 시작하는 방법에 대한 글이다. 각각의 프로젝트를 별도로 설치하고 둘을 연동시키는 방법으로 진행한다. 아래 글을 참고해서 Vue와 Express를 각각의 프로젝트로 우선 설치하는 것으로 시작한다. 1. vue 설치 : www.leafcats.com/326 vue cli로 vue.js 스켈레톤 프레임워크 설치 1. 통합 프로젝트 디렉토리 생성 $ mkdir node-test $ cd node-test 2. vue-cli 설치 $ sudo npm install vue-cli -g 3. webpack을 사용해 vue project 생성 $ sudo vue init webpack front 필요한 것들을 선.. 프로그래밍 & IT/node.js 4년 전
Node Express 스켈레톤 웹 프레임워크 생성 1. express-generator 설치 $ sudo npm i express-generator -g 2. express 프로젝트 설치 $ cd ~/node-test $ express backend --view=pug 3. express 서버 실행 $ cd backend $ npm install $ DEBUG=backend:* npm start 브라우저에서 localhost:3000 접속하면 Express 초기 화면이 나타난다. 프로그래밍 & IT/node.js 4년 전