linkedin을 보다가 괜찮아 보이는 오픈소스를 발견
https://github.com/robusta-dev/krr
Kubernetes 클러스터에서 리소스 할당을 최적화하기 위한 CLI 도구
brew tap robusta-dev/homebrew-krr
brew install krr
# 로컬에서 배스천을 접속할때
# 8001은 내가 접속할 클러스터 포트, 8002는 proxy port
ssh -L 8001:localhost:8002 bastion
# 배스천에서
kubectl proxy --port=8002
krr simple
k9s info를 통해 plugin.yaml의 위치를 파악
아래와 같이 입력
plugins:
# Author: Daniel Rubin
# Get recommendations for CPU/Memory requests and limits using Robusta KRR
# Requires Prometheus in the Cluster and Robusta KRR (https://github.com/robusta-dev/krr) on your system
# Open K9s in deployments/daemonsets/statefulsets view, then:
# Shift-K to get recommendations
krr:
shortCut: Shift-K
description: Get krr
scopes:
- deployments
- daemonsets
- statefulsets
command: bash
background: false
confirm: false
args:
- -c
- |
LABELS=$(kubectl get $RESOURCE_NAME $NAME -n $NAMESPACE --context $CONTEXT --show-labels | awk '{print $NF}' | awk '{if(NR>1)print}')
krr simple --cluster $CONTEXT --selector $LABELS
echo "Press 'q' to exit"
while : ; do
read -n 1 k <&1
if [[ $k = q ]] ; then
break
fi
done
k9s 접속 후 deployment/daemonset,statefulset에서 shift-k를 누르면
해당 deployment에 대해 분석하고 결과를 알려준다
내가 맡은 프로젝트에 적용해본다음에 팀원들에게 리소스를 최적화하는걸 이걸로 공유해봐야겠음.