[EKS] 모니텅링

이정훈·2023년 7월 16일
0

EKS

목록 보기
9/9
post-thumbnail

EKS Mornitoring - 1. Prometheus & Grafana 세팅 (tistory.com)

Prometheus Operator를 사용해 Kubernetes 환경에서 Prometheus 구성하기 — Seungwoo Lee와 About IT 엔지니어링 (tistory.com)

1. 헬름 설치!

  • 헬름으로 설치를 할 예정이기에 헬름을 설치하자
sudo curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 
sudo chmod 700 get_helm.sh 
./get_helm.sh

2. 프로메테우스

  • 네임스페이스 생성
kubectl create ns monitoring
  • 헬름 repo 추가하기
#헬름 설치 및 prometheus operator 설치
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm repo update
helm upgrade --install prometheus-operator prometheus-community/kube-prometheus-stack --namespace monitoring
  • 확인
ubuntu@ip-192-168-20-94:~$ kubectl get all -n monitoring
NAME                                                          READY   STATUS    RESTARTS   AGE
pod/alertmanager-prometheus-operator-kube-p-alertmanager-0    2/2     Running   0          2m5s
pod/prometheus-operator-grafana-6cc7566658-2gvh9              3/3     Running   0          2m10s
pod/prometheus-operator-kube-p-operator-546f875ff8-22pnz      1/1     Running   0          2m10s
pod/prometheus-operator-kube-state-metrics-6fd995f5b4-6zpdx   1/1     Running   0          2m10s
pod/prometheus-operator-prometheus-node-exporter-f7s97        1/1     Running   0          2m11s
pod/prometheus-operator-prometheus-node-exporter-qfrps        1/1     Running   0          2m11s
pod/prometheus-prometheus-operator-kube-p-prometheus-0        2/2     Running   0          2m3s

NAME                                                   TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)                      AGE
service/alertmanager-operated                          ClusterIP   None             <none>        9093/TCP,9094/TCP,9094/UDP   2m5s
service/prometheus-operated                            ClusterIP   None             <none>        9090/TCP                     2m3s
service/prometheus-operator-grafana                    ClusterIP   10.100.65.62     <none>        80/TCP                       2m11s
service/prometheus-operator-kube-p-alertmanager        ClusterIP   10.100.98.169    <none>        9093/TCP,8080/TCP            2m11s
service/prometheus-operator-kube-p-operator            ClusterIP   10.100.144.66    <none>        443/TCP                      2m11s
service/prometheus-operator-kube-p-prometheus          ClusterIP   10.100.24.46     <none>        9090/TCP,8080/TCP            2m11s
service/prometheus-operator-kube-state-metrics         ClusterIP   10.100.114.160   <none>        8080/TCP                     2m11s
service/prometheus-operator-prometheus-node-exporter   ClusterIP   10.100.142.106   <none>        9100/TCP                     2m11s

NAME                                                          DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR            AGE
daemonset.apps/prometheus-operator-prometheus-node-exporter   2         2         2       2            2           kubernetes.io/os=linux   2m11s

NAME                                                     READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/prometheus-operator-grafana              1/1     1            1           2m11s
deployment.apps/prometheus-operator-kube-p-operator      1/1     1            1           2m11s
deployment.apps/prometheus-operator-kube-state-metrics   1/1     1            1           2m11s

NAME                                                                DESIRED   CURRENT   READY   AGE
replicaset.apps/prometheus-operator-grafana-6cc7566658              1         1         1       2m11s
replicaset.apps/prometheus-operator-kube-p-operator-546f875ff8      1         1         1       2m11s
replicaset.apps/prometheus-operator-kube-state-metrics-6fd995f5b4   1         1         1       2m11s

NAME                                                                    READY   AGE
statefulset.apps/alertmanager-prometheus-operator-kube-p-alertmanager   1/1     2m5s
statefulset.apps/prometheus-prometheus-operator-kube-p-prometheus       1/1     2m3s
  • 확인하기
kubectl --namespace monitoring get pods -l "release=prometheus-operator"

3. eksctl 설치

sudo mv /tmp/eksctl /usr/local/bin
eksctl version

4. IAM 서비스 계정 설정

# namespace, cluster 변경 ~!!!
eksctl create iamserviceaccount \
  --name ebs-csi-controller-sa \
  --namespace kube-system \
  --cluster houstagram-eks-app \
  --attach-policy-arn arn:aws:iam::aws:policy/service-role/AmazonEBSCSIDriverPolicy \
  --approve \
  --role-only \
  --role-name AmazonEKS_EBS_CSI_DriverRole
  • EKS 클러스터의 OIDC 식별자를 얻습니다.
    oidc_id=$(aws eks describe-cluster --name houstagram-eks-app --query "cluster.identity.oidc.issuer" --output text | cut -d '/' -f 5)
  • IAM과 OIDC 제공자를 연결합니다.
    # 지역과 클러스터 변경하니깐 확인하기!
    eksctl utils associate-iam-oidc-provider --region ap-northeast-2 --cluster houstagram-eks-app --approve
profile
싱숭생숭늉

2개의 댓글

comment-user-thumbnail
2023년 7월 16일

잘봤습니다.

답글 달기
comment-user-thumbnail
2023년 7월 17일

저도 개발자인데 같이 교류 많이 해봐요 ㅎㅎ! 서로 화이팅합시다!

답글 달기