kubernetes 커맨드 모음 ( command )
2021. 5. 27. 09:42ㆍContainer/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
반응형
'Container > kubernetes' 카테고리의 다른 글
| Kubernetes 현재 사용중인 Context의 기본 네임스페이스 변경하기 (0) | 2025.02.19 |
|---|---|
| kuberentes CertificateSigningRequest란? (0) | 2025.02.07 |
| 쿠버네티스 ( kubernetes ) - 컨트롤러( Controller ) (0) | 2021.05.25 |
| 쿠버네티스 ( kubernetes ) - 서비스( Service )와 클러스터 네트워크 (0) | 2021.05.25 |
| 쿠버네티스 ( kubernetes ) - 파드( Pod ) (0) | 2021.05.25 |