Kubernetes) kubectl 명령어를 알아보기
학습 목표 : kubernetes의 cluster를 사용하기위한 kubectl명령어에 대해 알아본다.
kubctl 이란?
- Kubernetes 상태를 확인하고 원하는 상태로 요청하는 client 명령
- Kubernetes cluster에 명령을 내린다.
- CLI 형태로 사용한다.
kubeconfig 파일
- kubectl 명령 동작시 $HOME/.kube 디렉토리에서 config file을 찾는다.
- KUBECONFIG 환경변수를 설정하거나 --kubeconfig flag를 사용하여 다른 kubeconfig 파일을 사용할 수 있다.
kubectl 명령어
kubectl [command] [Type] [NAME] [flags]
(1) command
- 하나 이상의 리소스(object)에서 수행하려는 동작지점
- create, run, apply, get, describe, delete, exec, logs, config 등 여러 command가 있다.
- get command# 1. POD, Replicaset, Depolyment, Service, Job 전체목록 출력 kubectl get all # 2. cluster 내 node(pod) 목록 출력 kubectl get nodes # 3. node(또는 pod) 목록정보 상세 출력 kubectl get nodes(또는 pods) -o wide # 4. node(또는 pod) 정보를 yaml 형식으로 출력 kubectl get node(또는 pod) <node/pod 이름> -o yaml # 5. label을 포함하여 pod 목록 출력 kubectl get pods -shows-labels
- describe command
# 1. 리소스에 대한 상세정보 출력 (초기화 되지않은 리소스도 포함) kubectl describe [리소스 이름]
- apply command
# 1. 하나 이상의 서비스를 생성 kubectl apply -f https://raw.githubusercontent.com/kubernetes/website/main/content/ko/examples/application/simple_deployment.yaml # kubectl apply -f [yaml파일(현재 시스템/원격지 시스템 경로 포함)]
- delete command
# 1. 생성시 사용한 yaml을 이용하여 리소스 삭제 kubectl delete -f [yaml 파일] # 2. TYPE에 해당하는 NAME의 리소스 삭제 kubectl delete [TYPE] [NAME] # 3. 해당 pod 삭제 kubectl delete [pod NAME]
- logs, exec, config command
# 1. pod의 log를 확인하는 log 커맨드 kubectl logs POD [-c container] [--follow] [flags] # 2. 특정 pod에 대하여 명령을 실행하는 exec 커맨드 kubectl exec [pod NAME] -it/bin/bash # 3. config 파일내용을 확인하는 config 커맨드 kubectl config view
(2) TYPE
- 리소스Type을 지정한다.
- 리소스 Type은 대소문자를 구분하지 않는다.
- 단수형,복수형 또는 약어 형식으로 지정한다.
(3) NAME
- 대소문자를 구분하며 리소스이름을 지정한다.
- 해당 옵션을 생략하면, 모든 리소스를 지정하거나 하나 이상의 file을 지정해야 한다.
- 리소스가 모두 동일한 TYPE인 경우 리소스를 그룹화 하려면 다음 형식을 사용한다.kubectl get pod example-pod1 example-pod2 # kubectl get <TYPE> <name1> <name2> ...
- 여러 리소스 TYPE을 개별적으로 지정하려면 다음 형식을 사용한다.
kubectl get pod/example-pod1 replicationcontroller/example-rc1 # kubectl get <TYPE1>/<name1> <TYPE2>/<name2> ...
(4) flags
- flags 옵션은 필요한경우 사용한다.
- 출력 형식을 지정하는 옵션-o <flag 내용>
- 파일을 지정하는 옵션
-f <파일명>
기타 kubectl 명령어
(1) kubectl 명령목록 출력하기
kubectl
(2) command에 대한 도움말
kubectl [command] --help
(3) 현재 cluster에서 사용가능한 API 버전 정보 보기
kubectl api-versions
(4) 사용할 수 있는 resource 목록 출력하기kubectl api-resources
(5) config 파일 내용 출력하기kubectl config view
참고
- kubectl 명령 reference : https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands
- kubeconfig 파일 : https://kubernetes.io/ko/docs/concepts/configuration/organize-cluster-access-kubeconfig/
쿠버네티스 kubectl 설명 및 예제 모음
kubectl은 쿠버네티스 클러스터에 명령을 내리는 CLI(command line interface)입니다. kubectl 문법(바로가기) kubectl 예제(바로가기) kubectl 문법 terminal window에서 아래와 같은 명령어로 kubectl을 동작..
blog.voidmainvoid.net