kubectl 명령줄 도구 사용법 소개

kubectl에 대한 소개를 시작하기에 앞서, 먼저 kubectl의 발음에 대해 설명드리겠습니다. kubectl은 통일된 발음이 없고 다양한 발음이 있는데 kube control이나 kubectl, 즉 /ku'bætl/이라는 한 단어로 읽는 것을 권장하며, 여기서는 이전 발음을 사용한다.
클라이언트 CLI 도구인 kubectl을 사용하면 사용자가 명령줄을 통해 Kubernetes 클러스터를 작동할 수 있습니다. 이 섹션에서는 kubectl의 하위 명령과 사용법을 자세히 설명합니다.

kubectl 사용법 개요

kubectl 명령줄의 구문은 다음과 같습니다.

$ kubectl [command] [TYPE] [NAME] [flags]

그 중 명령어, TYPE, NAME, 플래그는 다음과 같은 의미를 갖는다.
(1) 명령어: 하위 명령어, 생성, 가져오기, 설명, 삭제 등의 리소스 객체를 조작하는 데 사용된다.
(2) TYPE: 자원 객체의 유형으로 대소문자를 구분하며 단수, 복수, 약어로 표현할 수 있다. 예를 들어, 다음 세 가지 표현식은 동일합니다.

$ kubectl get pod pod1  
$ kubectl get pods pod1  
$ kubectl get po pod1  

(3) NAME: 리소스 개체의 이름이며 대소문자를 구분합니다. 이름을 지정하지 않으면 시스템은 TYPE에 속하는 모든 객체의 목록을 반환합니다. 예를 들어 kubectl get pods 명령을 실행하면 모든 Pod의 목록이 반환됩니다.
(4) 플래그: kubectl 하위 명령의 선택적 매개변수(예: -s 또는 –server를 사용하여 API 서버의 URL 주소 설정)

kubectl 하위 명령에 대한 자세한 설명

kubectl의 하위 명령은 매우 풍부하여 리소스 개체의 생성, 삭제, 보기, 수정, 구성, 작업 등을 포함하여 Kubernetes 클러스터의 주요 작업을 포괄합니다. 일반적으로 사용되는 하위 명령은 여기에 기록되어 있으며, 자세한 명령 소개는 "Kubernetes Authoritative Guide from Docker to Kubernetes Practice" 책을 참조하세요.

하위 명령 문법 의미 설명
적용하다 kubectl apply -f FILENAME [플래그] 구성 파일 또는 stdin에서 리소스 개체에 대한 구성 업데이트
붙이다 kubectl attachment POD -c CONTAINER [플래그] 실행 중인 컨테이너에 연결
구성 kubectl config 하위 명령 [플래그] kubeconfig 파일 수정
CP kubectl cp [옵션] 컨테이너의 파일/디렉터리를 호스트로 복사하거나 호스트 파일/디렉터리를 컨테이너로 복사합니다. 이 명령은 예를 들어 로그 정보를 쉽게 볼 수 있도록 로그 파일을 호스트 시스템에 복사하는 데 일반적으로 사용됩니다.
만들다 kubectl create -f FILENAME [플래그] 구성 공간 또는 stdin에서 리소스 개체 만들기
삭제 kubectl delete (-f FILENAME|TYPE[NAME|/NAME|-l label|-all]) [플래그] 구성 파일, stdin, 리소스 이름 또는 레이블 선택기를 기반으로 리소스 개체를 삭제합니다. 예를 들어 포드 인스턴스를 다시 시작하기 위해 리소스를 삭제하는 방법을 자주 사용합니다.
설명하다 kubectl explain (-f FILENAME | TYPE [NAME_PREFIX | /NAME | -l label]) [플래그] 하나 이상의 리소스 개체에 대한 세부 정보를 설명합니다.
차이점 kubectl diff -f FILENAME [옵션] 구성 파일과 현재 시스템에서 실행 중인 리소스 개체 간의 차이점 보기
물을 빼다 kubectl Drain NODE [플래그] 먼저 지정된 NODE를 예약 불가능으로 설정한 다음 해당 NODE에서 실행 중인 모든 POD를 삭제하지만 API 서버에서 관리하지 않는 POD는 삭제하지 않습니다.
편집하다 kubectl edit (-f 파일 이름 | 유형 이름 | 유형/이름) [플래그] 리소스 개체의 속성을 편집하고 온라인으로 업데이트합니다. 이 명령은 POD 구성 정보를 임시로 수정하거나 확인해야 할 때 자주 사용됩니다.
간부 kubectl exec POD [-c CONTAINER] [-i] [-t] [플래그] [–COMMAND[인수…]] 컨테이너에서 명령을 실행합니다. POD에 컨테이너가 하나만 있는 경우 컨테이너 ID를 지정할 필요가 없습니다. kubectl exec -it – /bin/bash와 같이 컨테이너 외부의 정보를 볼 수 있도록 이 명령을 사용하여 컨테이너의 bash를 입력하는 경우가 많습니다.
설명하다 kubectl explain [–include-extended-apis=true] [–recursive=false] [플래그] 리소스 개체 속성에 대한 자세한 설명
얻다 kubectl get (-f FILENAME|TYPE[NAME|/NAME|-l 라벨]) [–watch] [–sort-by=FIELD] [[-o|–output]=OUTPUT_FORMAT] [플래그] 하나 이상의 자원 객체에 대한 명시적 요약 정보입니다. 가장 일반적으로 사용되는 명령
로그 kubectl 로그 POD [-c CONTAINER] [–follow] [플래그] 컨테이너의 로그를 화면에 인쇄합니다. 예를 들어, kubectllogs -f는 tail -f 명령과 유사하게 컨테이너의 로그 출력을 stdout에 지속적으로 표시한다는 의미입니다.
옵션 kubectl 옵션 모든 하위 명령에 적용되는 공통 매개변수 표시
플러그인 kubectl 플러그인 [플래그] [옵션] kubectl 명령줄에서 사용자 정의 플러그인을 사용하세요. 쿠버네티스는 커스텀 플러그인을 지원하는데, 커스텀 플러그인을 사용해야 하는 경우 이 명령어를 사용해야 합니다. 사용자 정의 플러그인의 실행 파일 이름은 "kubectl-"로 시작하고 이를 $PATH의 디렉터리(예: /usr/local/bin)에 복사한 다음 사용자 정의 플러그인을 실행할 수 있습니다. kubectl을 통해. 플러그인 제거도 매우 간단합니다. 플러그인 파일을 삭제하기만 하면 됩니다.
달리다 kubectl run NAME --image=image [–env=“key=value”] [–port=port] [–replicas=replicas] [–dry-run=bool] [–overrides=inline-json] [flags] 이미지를 기반으로 Kubernetes 클러스터에서 배포 시작
맨 위 kubectl 상단 [노드 | 현물 상환 지불] NODE 또는 POD의 리소스 사용량을 보려면 클러스터에서 Metrics Server를 실행해야 합니다.
버전 kubectl 버전 [–클라이언트] [플래그] 시스템 버전 정보 인쇄

kubectl 형식의 출력

kubectl 명령은 다양한 형식으로 결과를 표시할 수 있으며, 출력 형식은 -o 매개변수로 지정됩니다.

$ kubectl [command] [TYPE] [NAME] -o=<output_format>

다양한 하위 명령의 출력 결과에 따라 선택적 출력 형식은 다음과 같습니다.

출력 형식 의미 설명
-o 사용자 정의 열= 쉼표로 구분된 사용자 정의 열 이름을 기반으로 한 출력
-o 사용자 정의 열 파일= 사용자 정의 열 이름에 대한 프로필 이름 설정
-o json 결과를 JSON 형식으로 표시
-o JSON 경로= jsonpath 표현식으로 정의된 필드 정보를 출력합니다.
-o jsonpath-파일= 파일에서 제공되는 jsonpath 표현식으로 정의된 필드 정보를 출력합니다.
-o 이름 리소스 객체의 이름만 출력
-o 넓다 추가 정보를 출력합니다. 자주 사용되는 형식으로, POD의 경우 POD가 위치한 NODE의 이름이 출력됩니다.
-o yaml YAML 형식으로 결과 표시

참고

https://www.zhihu.com/tardis/zm/art/468291559 10本 Kubernetes 学习书籍推荐
《Kubernetes权威指南 从Docker到Kubernetes实践全接触》 龚正 吴治辉 闫健勇 编著
《深入剖析 Kubernetes》 张磊 著
https://developer.aliyun.com/article/766998 Kubernetes 调度系统之 Scheduling Framework
https://www.howtopronounce.com/ howtopronounce
https://www.voidking.com/dev-kubectl-config/ kubectl命令——配置篇

Guess you like

Origin blog.csdn.net/wangxufa/article/details/135414642