-
kubernetes manifest 분석 도구 kube-score 사용법HOWTO 2021. 10. 8. 19:23
kubernetes 는 모든 리소스를 manifest 를 통해 관리하기 때문에 manifest 작성이 중요하다.
모든 옵션을 기억하기도 어렵고 나같은 경우는 주로 테스트로 기능 검증만 해보기 때문에 검색을 통해 나오는 예제 파일을 수정해서 사용하지만 운영환경이라면 애플리케이션을 보다 안전하게 만들기 위해 manifest 작성에 더욱 심혈(?)을 기울여야 할 것이다.
이런 경우 kube-score 를 사용하면 내가 작성한 manifest 에서 개선할 수 있는 부분이 무엇인지 권장사항을 제시해준다.
1. kubectl krew 설치
kube-socre 를 설치하는 방법은 다양하지만, 나는 kubectl 의 플러그인을 관리하는 kubectl krew 를 먼저 설치한 후 krew 를 통해 score를 설치했다.
krew를 설치하기 위해서는 git 이 우선 설치되어 있어야한다. kubectl이 설치된 mac 또는 linux 서버에서 아래 shell 을 수행한다.
(다른 설치 방법 참고 : https://krew.sigs.k8s.io/docs/user-guide/setup/install/)
( set -x; cd "$(mktemp -d)" && OS="$(uname | tr '[:upper:]' '[:lower:]')" && ARCH="$(uname -m | sed -e 's/x86_64/amd64/' -e 's/\(arm\)\(64\)\?.*/\1\2/' -e 's/aarch64$/arm64/')" && curl -fsSLO "https://github.com/kubernetes-sigs/krew/releases/latest/download/krew.tar.gz" && tar zxvf krew.tar.gz && KREW=./krew-"${OS}_${ARCH}" && "$KREW" install krew )
위 shell 을 수행한 후 bash_profile(centos 기준)에 아래와 같이 환경 변수를 설정해준다.
vi ~/.bash_profile # 아래 내용 추가 export PATH="${KREW_ROOT:-$HOME/.krew}/bin:$PATH" source ~/.bash_profile # 위 내용 추가 후 !wq로 저장하고 profile 적용
kubectl-krew 명령어를 수행해서 아래와 같이 결과가 나오면 정상적으로 설치가 된 것이다.
2. score 설치
문서를 보면 kubectl krew install score 로 설치하라고 대부분 나와있는데, centos 에서 실행했을때는 "Error: flags cannot be placed before plugin name: --kubeconfig=/root/kubeconfig.yaml" 에러가 계속 발생해서 krew 의 설치경로를 찾아가서 보니 (/root/.krew/bin) kubectl-krew 로 되어 있었다. 왜그런지는 나도 잘.. ㅠㅠ 그리하여... 아래 커맨드를 수행하여 설치할 수 있다.kubectl-krew install score
설치없이 score가 무엇인지 간만 보고 싶다면 아래 링크 참고
3. kubectl-score 로 manifest 분석
설치 후 내가 수정한 manifest 의 분석을 실행해 보면 아래와 같이 어떤 부분을 보완해야 할지 알려준다.
kubectl-score score deploy-src-build.yaml
끝!
반응형'HOWTO' 카테고리의 다른 글
kubernetes CIS 벤치마크 테스트 도구 kube-bench (0) 2021.10.14 kubernetes 워크로드 구성 검사 실행 - Polaris by Fairwinds (0) 2021.10.08 Installing CKAN with Docker Compose (ubuntu 16.04) (0) 2020.10.11 nifi 로 여러개 파일 내용 병합하기 (merge record) (0) 2020.09.22 nifi 로 API 수집 및 오브젝트 스토리지에 저장하기 (0) 2020.09.19