-
Kubernetes) kubectl 명령어를 알아보기Cloud/Kubernetes 2022. 10. 12. 00:03
학습 목표 : 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
'Cloud > Kubernetes' 카테고리의 다른 글
Kubernetes) Kubernetes Pod (0) 2022.10.13 Kubernetes) Kubernetes namespace 알아보기 (0) 2022.10.12 Kubernetes) Kubernetes cluster 이해 (0) 2022.10.11 Kubernetes) KubeAdm 으로 Kubernetes 구성해보기 2편 (0) 2022.10.08 Kubernetes) KubeAdm 으로 Kubernetes 구성해보기 1편 (0) 2022.10.07