brunch

EKS 11탄-5. EKS 기초-옵저버빌리티-5/5

by Master Seo

EKS 로깅관련 실습을 해보자.


https://www.eksworkshop.com/docs/observability/resource-view/




<1> EKS 콘솔에서 리소스 보기

<2> 로깅 설정 하기 - 컨트롤 플래인의 로그가 남도록 설정하자 (실습)

<3> 로깅 설정 하기 - 파드 로깅 남도록 설정하기

<4> 오픈소스 기반의 옵저버빌리티 = EKS open source observability

<5> Container Insights on EKS

<6> 비용측정하기 = Cost visibility with Kubecost

<7> Kubecost and Amazon Managed Service for Prometheus

<8> 삭제





<1> EKS 콘솔에서 리소스 보기



1

# EKS > 클러스터 > Resource > Nodes 확인

나오지 않으면 권한 부여 필요.




2

# 컨트롤 플래인 로그 남도록 하기

# EKS 클러스터 > Observability (관찰 가능성) > 맨아래 Control plane logs (제어 플레인 로깅) 확인


디폴트 OFF인것을 확인

기본적으로는 Control plane logs 는 남지 않는다.

남도록 설정을 ON하자.




40 view.png





<2> 로깅 설정 하기 - 컨트롤 플래인의 로그가 남도록 설정하자 (실습)



1

# 컨트롤 플래인의 로그가 남도록 설정하자.


콘솔에서도 가능하다.

여기서는 CLI로 로그가 남도록 ON 하자. (디폴트는 OFF이다)



export AWS_REGION=ap-northeast-2

echo $AWS_REGION


export EKS_CLUSTER_NAME=eks-workshop

echo $EKS_CLUSTER_NAME



aws eks update-cluster-config --region $AWS_REGION --name $EKS_CLUSTER_NAME --logging '{"clusterLogging":[{"types":["api","audit","authenticator","controllerManager","scheduler"],"enabled":true}]}'



aws eks wait cluster-active --name $EKS_CLUSTER_NAME




# 콘솔에서 화면 갱신해서 확인해보자.

EKS 클러스터 > Observability (관찰 가능성) > 맨아래 Control plane logs (제어 플레인 로깅) 확인


10 eks log.png



2

cloudwatch log에 가면 로그 쌓인것을 볼수 있다.


20 api-log.png


3

CloudWatch Log Insights 에서도 조회 명령어로 로그 확인가능 하다.





<3> 로깅 설정 하기 - 파드 로깅 남도록 설정하기



1

aws-for-fluent-bit pod 설치하면 cloudwatch log에 가면 로그 쌓인것을 볼수 있다.


kubectl get all -n aws-for-fluent-bit




2

# 참고 - aws workshop을 통한 실습

prepare-environment observability/logging/pods






<4> 오픈소스 기반의 옵저버빌리티 = EKS open source observability



# 오픈 서치를 이용해 옵저버빌리티를 사용가능하다.



1

# 참고 - aws workshop을 통한 실습

prepare-environment observability/oss-metrics


// 준비 되는 내용은 yaml 파일을 보시면 확인할수 있습니다.

https://github.com/aws-samples/eks-workshop-v2



~/environment/eks-workshop/modules/observability/oss-metrics/adot/clusterrole.yaml


2

prepare-environment observability/oss-metrics 실행 했는데 오류나는경우

다시한번 실행~


70 2 ok.png




3

Accessing Grafana


80 그라파나.png





4

Application Metrics



어플리케이션 정보를 보자~

테스트후 부하 발생기는 지우자~


kubectl delete pod load-generator -n other





<5> Container Insights on EKS



1

CloudWatch Log Insights

Cluster metrics 설정 가능



2

# 참고 - aws workshop을 통한 실습

prepare-environment observability/container-insights




<6> 비용측정하기 = Cost visibility with Kubecost


1

# kubecost

aws workshop

https://www.eksworkshop.com/docs/observability/kubecost/



테라폼 https://github.com/aws-samples/eks-workshop-v2/tree/stable/manifests/modules/observability/kubecost/.workshop/terraform



2

설치 링크



3

확인


kubectl get deployment -n kubecost


kubectl get service -n kubecost kubecost-cost-analyzer -o jsonpath="{.status.loadBalancer.ingress[*].hostname}:9090{'\n'}"



200 cost.png




4

# 참고 - aws workshop을 통한 실습

prepare-environment observability/kubecost






<7> Kubecost and Amazon Managed Service for Prometheus



Kubecost 와 AWs에서 제공하는 Managed Service for Prometheus 와 연결이 가능하다.



https://www.eksworkshop.com/docs/observability/kubecost/amp




<8> 삭제


1

eksctl delete cluster $EKS_CLUSTER_NAME --wait


aws cloudformation delete-stack --stack-name eks-workshop-ide



2

# 참고 - 실습 환경 구축과 삭제

실습 환경 구축용은 cloud9용 cloudformation 파일이라 이제 사용하지 않음. 다운로드 불가.


https://innoshome.notion.site/innoshome/Amazon-EKS-a328fadd565a42d8a8178628e826da36


3



감사합니다.

keyword
매거진의 이전글EKS 11탄-4. EKS 기초-오토스케일링 - 4/5