kubernetes.io 에서 제공하는 kubernetes cheat sheet 을 IBM Cloud Private 설치환경(https://github.com/IBM/deploy-ibm-cloud-private)에서 학습하려고 합니다. 물론 배보다 배꼽이 큰 상황이긴 하지만, 업무용으로 로컬 환경에 설치된 환경이 있어 ICP에서 진행하는 것으로 다른 분들은 활용하고 있는 다른 k8s 환경에서 해보시면 됩니다.
kubernetes.io 의 cheat sheet 원문 링크 : https://kubernetes.io/docs/reference/kubectl/cheatsheet/
kubectl Cheat Sheet
kubernetes.io
위 원문 링크를 보면 아래와 같은 목차로 구성되며, 주말에 잠깐 살펴보다가 그 동안 사용 안했던 기능 들도 살펴보고 보다 활용 범위가 풍성해진 느낌이었습니다.
macOS Mojave(10.14.5)
ZSH을 사용하기 때문에 아래와 같이 kubectl completion을 zsh로 구성합니다.
$ echo "if [ $commands[kubectl] ]; then source <(kubectl completion zsh); fi" >> ~/.zshrc
아래와 같이 "$ kubectl get " 입력 후 "tab"을 키보드에 입력하면 아래와 같이 입력 가능한 목록이 나오거나 자동 완성되는 기능 입니다.
또한, Pod 목록 등의 uuid로 입력이 불편한 경우에 사용하면 매우 유용합니다. 아래와 같이 "monitoring-prometheus-nodeexporter"의 Pod을 조회하기 위해서 Auto Complete을 사용하여 입력을 편리하게 도와줍니다.
해당 항목을 하기 전에 "Kubectl Context and Configuration", "Apply" 항목 등이 있지만 그에 앞서 내역을 확인하고 찾는 과정을 먼저 확인해 보겠습니다.
Viewing의 기본은 get을 이용하는 것이고 각 항목의 상세 내용을 확인하고 싶은 경우에는 describe로 명세 내용을 확인 합니다. get 과 함께 유용하게 사용 가능한 것은 '--selector', '--field-selector' 등의 옵션을 사용하여 정의한 Label 속성이나 상태값 등을 조회해 볼 수 있습니다.
예를 들어, Pod의 상태가 Running이 아닌 Pod 의 목록을 조회할 경우에는 '--field-selector' 옵션을 사용합니다.
## Operator는 !=을 이용하여 Running이 아닌 상태를 조회 조건으로 입력했습니다.
$ kubectl get pods --field-selector=status.phase!=Running
## --field-selector 등 이용시에 가시적으로 명확하게 하고 싶다면 '' 을 이용하여 영역을 구분해 줍니다.
$ kubectl get pods --field-selector='status.phase!=Running'
Running 상태가 아닌 내역을 조회해 보니 CotainerCreating 상태로 수일 동안 진행되지 않은 것과 Job 등 Completed 된 내역이 확인 됩니다. ContainerCreating, Failed, Error 등은 describe 을 이용하여 보다 상세한 원인을 확인해 볼 필요가 있습니다.
## 가장 기본이 되는 describe로 내역 확인
$ kubectl describe pod <pod명>
## Event 내역 중 timestamp로 조회
$ kubectl get events --sort-by=.metadata.creationTimestamp
Label 기능을 이용하여 조회시에는 'l' 옵션을 사용하면 됩니다.
$ kubectl get pod -l app=<검색어>
[유뷰브 학습/Cloud] Journey to Cloud - 성공적인 클라우드 마이그레이션을 위한 제언 (0) | 2020.11.15 |
---|---|
아이폰 앱스토어 구독 취소 (2) | 2018.09.21 |
spring-boot starter dependencies (0) | 2018.09.03 |
Spring Boot CLI 설치하기 (0) | 2018.09.02 |
Convert JSON to YAML (0) | 2018.09.02 |