Kubernetes에서는 kubectl 이라는 명령어를 사용한다.
이 명령어를 입력받은 apiserver가 해당 명령어를 수행한다.
대부분 CLI환경에서 조작이 가능하기 때문에, 이 kubectl 명령어를 사용할 줄 알아야 한다.
Kubectl [Command] [Type] [Name] [Flags]
Command : 하나 이상의 리소스에서 수행하려고 하는 동작을 지정한다(ex. Create, get, describe…)
Type : 리소스 타입을 지정(대소문자 구분X , 단수형 복수형 약어 모두 지정할 수 있다.)
Name : 리소스 이름을 지정(대소문자 구분O, 이름을 생략하면 모든 리소스)
(ex. Kubectl get pod example-pod1 example-pod2…)
Flags : 선택적 플래그를 지정한다 (ex. --server 플래그를 사용해서 쿠버네티스 API서버의 주소와 포트를 지정할 수 있음)
도움이 필요할땐? Kubectl help
[명령어]
Cluster-info : 클러스터 마스터와 서비스에 대한 엔드포인트 정보를 표시한다.
(kubectl cluster-info [flags])
Create : 파일 or 입력에서 하나 이상의 리소스를 생성한다.
(kubectl create -f FILENAME)
Delete : 리소스를 삭제 한다.
(kubectl delete (-f FILENAME | TYPE [NAME…]))
Describe : 하나 이상의 리소스의 자세한 상태 표시.
(kubectl describe (-f FILENAME | TYPE [NAME…]))
Diff : 파일 or 입력에서 차이점 출력
(kubectl diff -f FILENAME)
Get : 하나 이상의 리소스를 나열한다.
(kubectl get (-f FILENAME | TYPE [NAME…]))
Set : 어플리케이션 리소스를 구성한다.
(kubectl set SUBCOMMEND [option])
[리소스 타입]
Resource Types에서는 다음 명령을 통해 확인할 수 있다.
$ kubectl api-resources
Pod 확인
$ kubectl get pod
서비스 확인
$ kubectl get svc
[예제 : 일반적인 작업]
kubectl apply - 파일 또는 표준입력에서 리소스를 적용하거나 업데이트한다.
# example-service.yaml의 정의를 사용하여 서비스를 생성한다.
kubectl apply -f example-service.yaml
# example-controller.yaml의 정의를 사용하여 레플리케이션 컨트롤러를 생성한다.
kubectl apply -f example-controller.yaml
# <directory> 디렉터리 내의 .yaml, .yml 또는 .json 파일에 정의된 오브젝트를 생성한다.
kubectl apply -f <directory>
kubectl get - 하나 이상의 리소스를 나열한다.
# 모든 파드를 일반 텍스트 출력 형식으로 나열한다.
kubectl get pods
# 모든 파드를 일반 텍스트 출력 형식으로 나열하고 추가 정보(예: 노드 이름)를 포함한다.
kubectl get pods -o wide
# 지정된 이름의 레플리케이션 컨트롤러를 일반 텍스트 출력 형식으로 나열한다. 팁: 'replicationcontroller' 리소스 타입을 'rc'로 짧게 바꿔쓸 수 있다.
kubectl get replicationcontroller <rc-name>
# 모든 레플리케이션 컨트롤러와 서비스를 일반 텍스트 출력 형식으로 함께 나열한다.
kubectl get rc,services
# 모든 데몬 셋을 일반 텍스트 출력 형식으로 나열한다.
kubectl get ds
# 노드 server01에서 실행 중인 모든 파드를 나열한다.
kubectl get pods --field-selector=spec.nodeName=server01
kubectl logs - 파드의 컨테이너에 대한 로그를 출력한다.
# 파드 <pod-name>에서 로그의 스냅샷을 반환한다.
kubectl logs <pod-name>
# 파드 <pod-name>에서 로그 스트리밍을 시작한다. 이것은 리눅스 명령 'tail -f'와 비슷하다.
kubectl logs -f <pod-name>
참고자료 : https://kubernetes.io/ko/docs/reference/kubectl/overview/
'IT Knowledge > Kubernetes' 카테고리의 다른 글
kubernetes Deploy Strategy(배포전략) (0) | 2020.12.29 |
---|---|
kubernetes의 포드(Pod) 소개 (0) | 2020.12.28 |
Kubernetes, Docker 지원중단(Deprecation) 발표 12.02 (4) | 2020.12.22 |
Kubernetes Ingress 설명(개념) (0) | 2020.12.17 |
Kubernetes Ingress Controller 설명 및 사용법 (0) | 2020.12.17 |
댓글