kubernetes 커맨드 모음 ( command )

2021. 5. 27. 09:42Container/kubernetes

728x90
반응형

★ 커맨드 인자 기본 형식

 

kubectl <커맨드> <리소스타입> [ 이름 ] [ 옵션 ]

 

  • 커맨드
커맨드 사용 예 개요
get kubectl get -f <메니페스트 | 디렉터리 >
kubectl get <리소스타입>

kubectl get <리소스타입> <이름>
kubectl get <리소스타입><이름><옵션>
get은 지정한 오브젝트의 목록을 한 줄에 하나씩 출력
describe kubectl describe -f <메니페스트 | 디렉터리 >
kubectl describe  <리소스타입>
kubectl describe <리소스타입> <이름>
kubectl describe <리소스타입><이름><옵션>
describe의 경우 get보다도 자세한 정보를 출력

apply kubectl apply -f <매니페스트> 매니페스트에 기술된 오브젝트가 존재하지 않으면 생성하고, 존재하면 변경
create kubectl create -f <파일명> 매니페스트에 기술 된 오브젝트를 생성, 이미 있는 경우에는 에러를 반환
delete kubectl delete -f <파일명> 매니페스트에 기술된 오브젝트를 삭제
config kubectl config get-contexts
kubectl config use-context <콘텍스트명 >
접속 대상이 되는 콘텍스트(k8s클러스터,네임스페이스,유저)의 목록을 출력하거나 선택
exec kubectl exec -it <파드명> [-c 컨테이너명 ] <커맨드> 컨테이너에 대화형으로 커맨드를 실행, 파드내에 컨테이너가 여러 개 있는경우 [-c]로 컨테이너명을 지정. 컨테이너명은 'kubectl get descirbe <파드명>'으로 확인가능
run kubectl run <이름> --image=<이미지명> 파드를 실행
logs kubectl logs <파드명> [-c 컨테이너명] 컨테이너의 로그를 표시

 

 

  • 리소스 타입
리소스         이름 오브젝트 개요        
pod(po) 파드        

컨테이너의 최소 기동 단위로, 기동시 파드 네트워크 상의 IP주소를 할당 받으며, 한 개 이상의 컨테이너를 배포
poddisruptionbudget(pbd) 파드 정지 허용 수 파드의 개수가 지정한 개수 이하가 되지 않도록 디플로이먼트, 스테이트풀셋, 레플리카셋, 레플리케이션 컨트롤러의 동작을 제어

 

 

  • 서비스 관련 리소스 타입

 

리소스         이름 오브젝트 개요        
Serivce(svc) 서비스        

파드풀 클라이언트 공개
endpoint(ep) 엔드포인트 서비스를 제공하는 파드의 IP주소와 포트를 관리
ingress(ing) 인그레스         서비스공개, TLS암호, 세션 유지, URL 매핑 기능을 제공

 

 

  • 컨트롤러 관련 리소스 타입
리소스         이름 오브젝트 개요        
deployment(deploy) 디플로이먼트

파드의 레플리 카 수, 자기회복, 롤아웃, 롤백 등을 제어하는 컨트롤러
replicaset(rs) 레플리카셋 파드의 레플리카 수를 제어하는 컨트롤러로, 디플로이먼트와 연계하여 동작
statefulset(sts) 스테이트풀셋 퍼시스턴트 데이터를 보유하는 파드를 제어하는 컨트롤러 파시스턴트 볼륨과 파드를 하나씩 쌍으로 묶어 각 이름에 동일한 일련번호를 부여하여 관리
job 배치처리를 수행하는 파드를 관리하는 컨트롤러
cronjob 크론잡         정기적으로 실행되는 배치 처리를 관리하는 컨트롤러
daemonset(ds) 데몬셋         모든 노드에 파드를 배치하는 컨트롤러
replicationcontroller(rc) 레플리케이션 컨트롤러 파드의 레플리카 수를 제어하는 컨트롤러 레플리카셋 이전버전
horizontalpodautoscaler(hpa) Horizontal Pod AutoScaler 워크로드에 따라 파드 수를 제어하는 컨트롤러

 

 

  • 볼륨 리소스 타입
리소스         이름 오브젝트 개요        
persistenetvolume(pv) 퍼시스턴트 볼륨        

로우 레벨 스토리지 관리
persistentvolumeclaim(pvc) 퍼시스턴트 볼륨 클레임 스토리지 클래스와 용량을 지정해서 논리 볼륨의 프로비저닝을 요구
storageclass(sc)  스토리지 클래스 스토리지의 종류

 

 

  • k8s 클러스터 구성 관련 리소스 타입
리소스         이름 오브젝트 개요        
node(no) 노드        

k8s 클러스터의 워크로드를 실행하는 서버        
apiservice API 서비스         마스터가 지원하는 API 서비스를 관리
componentstatuses(cs) 컴포넌트 상태 scheduler, controller-manager, etcd-0에 헬스 체크 결과 보고
controllerrevision 컨트롤러 리비전 컨트롤러 리비전 관리
event 이벤트 k8s 클러스터에서 발생한 이벤트를 기록하고 표시하기 위한 컨트롤러

 

 

  • 컨피그맵과 시크릿 관련 리소스 타입

 

리소스         이름 오브젝트 개요        
configmap(cm) 컨피그맵

설정파일을 저장
secret 시크릿 패스워드 등 비밀성이 필요한 정보를 저장

 

 

  • 네임스페이스 관련 리소스 타입
리소스         이름 오브젝트 개요        
namespace(ns) 네임스페이스         k8s 클러스터를 논리적으로 분할해서 사용

 

 

  • 역할 기반 엑세스 제어 관련 리소스 타입
리소스         이름 오브젝트 개요        
serviceaccount(sa) 서비스 어카운트

서비스 어카운트는 파드에서 실행되는 프로세스를 위한 어카운트, 접근 권한을 식별하기 위해 사용
role 룰         일련의 권한 기술하여 롤을 정의, 롤의 유효 범위는 네임스페이스로 한정됨
rolebinding 롤바인딩         서비스 어카운트와 롤을 바인딩
clusterrole 클러스터 롤         k8s 클러스터 전체에 유효한 롤
cluterrolebinding 클러스터 롤 바인딩         k8s 클러스터 전체에 유효한 클러스터 롤과 서비스 어카운트를 매핑

 

  • 보안 관련 리소스 타입
리소스         이름 오브젝트 개요        
certificatesigningrequest(csr) 루트 인증서 서명요구

인증기간(CA)에 인증서 서명요구 작성
networkpolicies(netpol) 네트워크 폴리시         네임스페이스 사이의 네트워크 접근 제어
podsecuritypolicies(psp) 파드 시큐리티 폴리시         파드 시큐리티 관련 항목의 기본값 설정

 

 

 

  • 자원 관리 리소스 타입
리소스         이름 오브젝트 개요        
limitrange(limits) limit range

네임스페이스 내 컨테이너 CPU와 메모리 요구값과 상한값의 기본값 설정
resourcequota(quota) resource quota 네임스페이스 사이의 네트워크 접근 제어

 

 

 

  • 옵션
옵션 개요
-n 네임스페이스명 조작 대상을 지정된  네임스페이스로 한정
--all-namespaces -A 모든 네임스페이스의 오브젝트를 대상으로 함
-o=yaml Yaml포맷으로 api오프젝트를 표시
-o=wide 추가 정보 표시(파드의  IP주소, 배치된 노드 이름 등)
-o=json JSON 형식으로 API 오브젝트를 표시
-o=custom-colums="spec" 항목을 지정해서 목록을 표시
-o=custom-columns-file="file" 템플릿 파일로 출력할 컬럼을 지정
-o=jsonpath="template" jsonpath에 일치하는 목록 표시
-o=jsonpath-file="filename" jsonpath 형식의 템플릿 파일로 출력할 내용을 지정

 

참고 :  15단계로 배우는 도커와 쿠버네티스에서 참고하였습니다.

728x90
반응형