본문 바로가기

Cloud/Kubernetes

쿠버네티스 기본 명령어 정리

쿠버네티스 API를 사용하면 쿠버네티스의 API 오브젝트(예: 파드(Pod), 네임스페이스(Namespace), 컨피그맵(ConfigMap) 그리고 이벤트(Event))를 질의(query)하고 조작할 수 있다.

 

대부분의 작업은 kubectl 커맨드 라인 인터페이스 또는 API를 사용하는 kubeadm과 같은 다른 커맨드 라인 도구를 통해 수행할 수 있다. 그러나, REST 호출을 사용하여 API에 직접 접근할 수도 있다.(★ 출처-https://kubernetes.io/)

 

kubectl CLI를 이용할 때, CLI는 우리 대신 필요한 쿠버네티스 API를 호출해 주는 것이다!

 

REST 호출을 사용하여 API에 직접 접근하는 것은 추후에 시도 해보도록 하고, 공식 문서를 참조하여 알고있던, 알고있는 것 위주로 기본 kubectl CLI를 정리해본다.

 

기본적인 명령어 형식은 kubectl [command] [TYPE] [NAME] [flags] 이다.

 

command: get, describe, delete ... 

 

Type: pod, node... (복수형, 지정된 약어 가능 - pod, pods, po)

 

Name: 리소스의 이름으로 그룹화 하거나 개별적으로 나열 가능하며 생략하면 모든 리소스에 대한 명령이 된다.

 

flags: 아래 설명하는 -o와 같은 선택적 옵션

 

 

[ command 별 정리 ]

 

1. kubectl get - 하나 이상의 리소스를 나열한다.

 

kubectl get pods // 모든 파드를 일반 텍스트 출력 형식으로 나열

 

* 출력 명령어 공통

 

세부 정보를 출력하려면, 지원되는 kubectl 명령에 -o 또는 --output 플래그를 추가하면 된다.

(ex- 추가 정보들을 포함한 더 많은 정보 보기 / kubectl get pods -o wide)

 

정렬해서 보고싶다면 --sort-by=<jsonpath형식>을 추가한다.

(ex- age별 정렬 / kubectl get pods --sort-by=.metadata. age )

 

 

 

2. kubectl describe - 초기화되지 않은 리소스를 포함하여 하나 이상의 리소스의 기본 상태를 디폴트로 표시한다.

 

kubectl describe pods // 모든 파드의 세부정보 표시

 

* commend get과 describe 비교

 

- get: 동일한 리소스 타입의 하나 이상의 리소스 검색

- describe: 지정된 리소스의 여러 관련 측면 설명에 더 중점을 둠

 

위의 예시로 설명하면 get 같은 경우 name, status, age 세개의 컬럼이 테이블 형식으로 간단히 나열되는데,

describe 같은 경우 각 파드들의 훨씬 더 다양한 정보를 나열해 준다. 

 

 

 

3. kubectl delete - 특정 리소스를 삭제한다.

 

 

kubectl delete pod webapp // webapp pod 삭제

다양한 조건으로 삭제하고 싶은 리소스를 삭제 할 수 있다.

 

 

 

4. kubectl run - 클러스터에 특정 이미지를 생성한다. 

 

 

kubectl run example --image=example1 // example1 이미지를 갖는 example 파드 생성

 

 

 

 

+++ 공부하며 추가

 

 

 

 

 

728x90
반응형