본문 바로가기

전체 글703

[k8s] kube-prometheus #2 - 설정 변경 이 포스팅에서는 kube-prometheus를 사용하여 Prometheus가 이미 설치되었다고 전제하고 있습니다. 설치가 아직 안된경우 이전 포스트인 [k8s] kube-prometheus #1 - 설치를 참고하시기 바랍니다. kube-prometheus는 CRD(Custom Resource Definition)를 사용하여 구성되기 때문에 직접 Deployment를 수정하거나 Prometheus 설정을 변경하기가 어렵다. CRD에 정의되어 있는 spec에 따라 설정을 변경해주어야 하는데 가이드 문서에 세세하게 나와있지는 않기 때문에 직접 CRD 스크립트를 보면서 필요한 설정을 찾아 설정해주어야 한다. CRD 리소스 확인하기 1. 아래 명령을 실행하여 현재 생성되어 있는 CRD 목록을 확인한다. kubec.. 2020. 11. 18.
[k8s] kube-prometheus #1 - 설치 Amazon EKS를 사용하면서 초기에 Kubernetes 모니터링을 위해 Container Insights를 사용하였으나 500개 이상의 Custom Metric이 CloudWatch에 추가되면서 많은 비용이 발생하게 되었다. 비용 절감을 위해 Container Insights에서 현재는 Prometheus로 변경을 진행하였고, Prometheus를 간단하게 설치 할 수 있는 CoreOS의 kube-prometheus를 사용하였다. CoreOS에서 제공하는 kube-prometheus를 사용하면 Prometheus를 간단하게 설치할 수 있고, 설치 절차는 다음과 같다. 1. Git clone git clone https://github.com/coreos/kube-prometheus.git 2. 의존성.. 2020. 11. 18.
[k8s] DaemonSet 실행 시 Pending 문제 DaemonSet으로 Pod를 실행하면 각 워커노드에 Pod가 하나씩 실행이 되는데 특정 노드에서만 Pending이 발생하는 현상이 있었다. example-9sz7d 1/1 Running 0 3d16h 10.0.62.16 ip-10-0-38-38.ap-northeast-2.compute.internal example-d7jf6 1/1 Running 0 3d16h 10.0.110.150 ip-10-0-96-136.ap-northeast-2.compute.internal example-gdkpk 1/1 Running 0 3d16h 10.0.113.194 ip-10-0-126-203.ap-northeast-2.compute.internal example-jt2lv 1/1 Running 0 3d16h 10.. 2020. 11. 17.
[Go언어] for 루프에서 포인터 사용 시 동일 객체 참조 문제 문제 아래와 같이 for 루프를 사용했다. for _, data := range sampleDataSlice { GetStore().storeOne(&data) } 위 코드를 실행하면 저장된 모든 데이터가 동일한 값을 가지게 된다. 원인 위 코드에서 sampleDataSlice는 slice 이기 때문에 for 루프의 변수로 인덱스와 현 루프의 객체를 변수에 할당한다. 이 때, 인덱스를 사용하지 않고 그 뒤의 변수를 사용하게 될 경우 변수에는 슬라이스에 포함된 현재 요소가 지역 변수에 할당된다. 그러므로 변수에 할당되는 값은 계속 변경되지만 storeOne 함수로 전달되는 변수의 주소는 동일하기 때문에 storeOne 함수 안에서 사용한 변수는 결과적으로 제일 마지막에 지역변수에 할당했던 객체를 동일하게 .. 2020. 11. 17.