728x90
반응형
Kubernetes와 Minikube를 사용하면서 자주 사용하는 명령어들과 유용한 옵션들을 정리한 문서입니다.
Minikube 명령어
Minikube 시작 및 중지
- 클러스터 시작
minikube start
Minikube 클러스터를 시작합니다. 기본적으로 Minikube VM을 생성하고 Kubernetes를 설정합니다.
- 클러스터 중지
minikube stop
Minikube 상태 확인
- 클러스터 상태 확인
minikube status
Minikube IP 확인
- 클러스터 IP 확인
minikube ip
Minikube 대시보드
- 대시보드 실행
minikube dashboard
Minikube의 Kubernetes 대시보드를 실행합니다. 브라우저에서 Kubernetes 클러스터를 시각적으로 관리할 수 있습니다.
Minikube 서비스 접근
- 서비스 URL 확인 및 브라우저 열기
minikube service [SERVICE_NAME]
서비스 URL 생성: 지정된 서비스에 대한 접근 URL을 생성합니다.
브라우저 열기: 기본 브라우저에서 해당 URL을 자동으로 엽니다.
포트 포워딩 설정: 필요한 경우, 로컬 호스트와 Minikube 클러스터 간의 포트 포워딩을 설정하여 서비스에 접근할 수 있도록 합니다.
이 명령어는 주로 개발과 테스트 용도로 사용되며, 로컬 환경에서 서비스를 빠르게 확인하고 접근하는 데 유용합니다.
Minikube 터널링
- 터널링 시작
minikube tunnel
LoadBalancer 지원: LoadBalancer 타입의 서비스를 클러스터 외부에 노출합니다.
External IP 할당: 서비스에 외부 IP를 할당하여, 클러스터 외부에서 접근할 수 있도록 합니다.
권한 요구:
sudo
권한을 요구할 수 있습니다, 특히 80, 443과 같은 특권 포트를 사용할 때.LoadBalancer 타입의 서비스를 외부에 노출하기 위한 터널링을 시작합니다.
특징 | minikube service |
minikube tunnel |
---|---|---|
목적 | 특정 서비스를 빠르게 브라우저에서 접근 | LoadBalancer 서비스를 클러스터 외부에 노출 |
브라우저 자동 열기 | 예 | 아니오 |
포트 포워딩 | 필요에 따라 설정 | 예, 외부 IP 할당을 통해 |
권한 요구 | 아니오 | 예, sudo 권한 요구 가능 |
주요 사용 사례 | 개발 및 테스트 용도로 서비스 빠르게 확인 | 로컬 환경에서 LoadBalancer 서비스 테스트 |
사용 시나리오
minikube service
: 특정 서비스를 브라우저에서 빠르게 접근하고 테스트하고자 할 때 사용합니다. 개발 및 테스트 환경에서 유용합니다.minikube tunnel
: LoadBalancer 서비스를 외부에 노출시켜야 할 때 사용합니다. 클라우드 환경에서의 배포를 로컬에서 테스트할 때 유용합니다.
Minikube 클러스터 삭제
- 클러스터 삭제
minikube delete
Kubectl 명령어
Kubectl 설정
- 현재 컨텍스트 확인
kubectl config current-context
- 컨텍스트 목록 확인
kubectl config get-contexts
- 컨텍스트 변경
kubectl config use-context [CONTEXT_NAME]
리소스 조회
- 모든 네임스페이스의 모든 리소스 조회
kubectl get all --all-namespaces
- 특정 리소스 조회
kubectl get [RESOURCE_TYPE]
특정 리소스 타입을 조회합니다. 예를 들어, Pod, Service, Deployment 등이 있습니다.
kubectl get pods
kubectl get services
kubectl get deployments
- 리소스 상세 조회
kubectl describe [RESOURCE_TYPE] [RESOURCE_NAME]
특정 리소스의 상세 정보를 조회합니다.
kubectl describe pod [POD_NAME]
리소스 관리
리소스 생성
kubectl apply -f [FILE_NAME].yaml
YAML 파일을 사용하여 리소스를 생성하거나 업데이트합니다.
로그 및 디버깅
- Pod 로그 조회
kubectl logs [POD_NAME]
-f 옵션을 사용하면 실시간 로그를 조회합니다.
Pod 접근
- Pod에 명령어 실행
kubectl exec -it [POD_NAME] -- [COMMAND]
특정 Pod에서 명령어를 실행합니다. 예를 들어, 셸을 실행할 수 있습니다.
kubectl exec -it [POD_NAME] -- /bin/bash
네임스페이스 관리
- 네임스페이스 목록 조회
kubectl get namespaces
- 네임스페이스 생성
kubectl create namespace [NAMESPACE_NAME]
- 네임스페이스 삭제
kubectl delete namespace [NAMESPACE_NAME]
자주 사용하는 옵션
-n [NAMESPACE]
: 특정 네임스페이스에서 명령어를 실행합니다.
kubectl get pods -n [NAMESPACE]
-o wide
: 출력 형식을 넓게 설정하여 더 많은 정보를 표시합니다.
kubectl get pods -o wide
--all-namespaces
: 모든 네임스페이스에서 리소스를 조회합니다.
kubectl get all --all-namespaces
-f [FILE_NAME]
: YAML 파일을 사용하여 리소스를 관리합니다.
kubectl apply -f [FILE_NAME].yaml
-l [LABEL_SELECTOR]
: 특정 라벨을 가진 리소스를 조회합니다.
kubectl get pods -l [LABEL_SELECTOR]
반응형
'DevOps' 카테고리의 다른 글
AWS EKS 클러스터 구축하기(2) - 노드 그룹 구성 (2) | 2024.09.03 |
---|---|
AWS EKS 클러스터 구축하기(1) - EKS 클러스터 생성 (4) | 2024.08.30 |
Kubernetes 오브젝트와 Minikube 예시 코드 (0) | 2024.06.24 |
Kubernetes(k8s) 기본 개념 정리 (0) | 2024.06.23 |
Docker 이미지, 컨테이너, 볼륨에 대한 이해 (0) | 2024.06.23 |