당신이 몰랐던 Kubernetes CLI(kubectl) 팁

어제 사람들에게 많은 사용자가 모른다고 생각하는 Kubernetes CLI(kubectl) 팁을 공유하도록 요청한 훌륭한 스레드를 시작했습니다.






아멧









많은 사용자가 모른다고 생각하는 kubectl 팁을 아래에서 공유하세요. 👇🏼


오후 19:08 - 2022년 5월 9일









훌륭한 팁이 너무 많아서 가장 흥미로운 팁을 하나의 게시물에 수집하기로 결정했습니다. 새 컴퓨터에 있을 때 일반적으로 가장 먼저 하는 일은 kubectl에 대한 별칭을 설정하는 것입니다.

alias k=kubectl


Kubernetes를 사용하여 작업하는 경우 kubectl를 많이 입력하게 되므로 더 짧게 만드는 것은 어떻습니까?

아래의 팁을 즐기고 공유하고 싶은 다른 팁이 있는 경우. 다음은 특정 순서 없이 모든 도움말입니다.

1. Kubernetes 리소스에서 로드 기반 수평 포드 자동 확장 설정



에 의해

kubectl autoscale deployment foo --min=2 --max=10


2. cronjob에서 새 작업 만들기



에 의해

kubectl create job --from=cronjob/<name of cronjob> <name of this run>


3. 주어진 서비스 계정에 대한 권한 열거



에 의해

kubectl -n <namespace> auth can-i --list --as system:serviceaccount:<namespace>:<service account name>


4. 리소스에 주석 달기



에 의해

# To add annotation
kubectl annotate <resource-type>/<resource-name> foo=bar
# To remove annotation
kubectl annotate <resource-type>/<resource-name> foo-


5. 모든 네임스페이스에서 엔드포인트 목록 가져오기



에 의해

kubectl get ep -A


6. lastTimestamp로 정렬된 이벤트 목록 가져오기



에 의해

kubectl get events --sort-by=".lastTimestamp"


7. 네임스페이스 전체의 모든 경고를 주시하십시오.





kubectl get events -w --field-selector=type=Warning -A


8. 시청 중인 Pod 목록에 EVENT 열을 추가합니다.



에 의해

kubectl get pods --watch --output-watch-events


9. 다양한 API에 대한 원시 JSON 가져오기





kubectl get --raw /apis/apps/v1

# Get metrics
kubectl get --raw /metrics


10. 특정 포드가 준비될 때까지 기다립니다.



에 의해

kubectl wait --for=condition=ready pod -l foo=bar


11. 다양한 리소스를 설명하십시오.



에 의해

kubectl explain pod.spec


12. 선택자와 일치하는 모든 리소스 가져오기



에 의해

kubectl get deployments,replicasets,pods,services --selector=hello=yourecute


13. 서비스에서 로컬 포트로 포트 전달



에 의해

kubectl port-forward svc/<service-name> <local-port>:<remote-port>



14. 리소스에 대한 환경 변수 나열



에 의해

kubectl set env <resource>/<resource-name> --list


15. 포드 목록과 포드가 실행되는 노드 가져오기



에 의해

kubectl get po -o=custom-columns=NODE:.spec.nodeName,NAME:.metadata.name


16. 배포용 스타터 YAML 매니페스트 생성(다른 리소스에서도 작동)



에 의해

kubectl create deploy nginx-deployment --image=nginx --dry-run=client -o yaml


17. 메모리 사용량별로 정렬된 포드 목록 가져오기



에 의해

kubectl top pods -A --sort-by='memory'


18. 특정 레이블 값이 설정된 포드 목록 가져오기



에 의해

kubectl get pods -l 'app in (foo,bar)'


19. 마지막 재시작 전에 포드 로그 가져오기



에 의해

kubectl logs <pod-name> --previous


20. 포드에서 로컬 파일로 파일 복사



에 의해

kubectl cp <namespace>/<pod>:<file_path> <local_file_path>


21. 즉시 포드 삭제



에 의해

kubectl delete pod <pod-name> --now


22. 특정 레이블이 있는 포드의 로그 표시



에 의해

kubectl logs -l app=xyz


23. 리소스에 대한 추가 정보 얻기(일명 와이드 뷰)



에 의해

kubectl get <resource> -o wide


24. 패치 출력 및 적용



에 의해

# Edit a resource and get the patch
kubectl edit <resource>/<name> --output-patch

# Use the output from the command above to apply the patch
kubectl patch --patch=<output_from_previous_command>

좋은 웹페이지 즐겨찾기