본문 바로가기
클라우드

Kubernetes(쿠버네티스) 간단한 예시

by juhongyee 2023. 7. 14.

1. 간단한 정보

Pod 라는 단위로 관리하고 Pod 내에는 여러 Container를 관리할 수 있음.

Docker Desktop에서 kubernetes를 연결하면 Container를 Docker에서 이름만 적어도 가져올 수 있음.

2. pod.yaml 작성

apiVersion: v1 # kubernetes resource 의 API Version
kind: Pod # kubernetes resource name
metadata: # 메타데이터 : name, namespace, labels, annotations 등을 포함
name: counter
spec: # 메인 파트 : resource 의 desired state 를 명시
containers:
- name: count # container 의 이름
image: busybox # container 의 image
args: [/bin/sh, -c, 'i=0; while true; do echo "$i: $(date)"; i=$((i+1)); sleep 1;
done'] # 해당 image 의 entrypoint 의 args 로 입력하고 싶은 부분

위의 코드에서

본 Pod의 이름 : counter

Container 이름 : count - Docker와 연결하였으므로 container를 가져옴. 만약 Local에 있다면 Local 주소 명시

image : busybox(Linux의 가벼운 버전,shell도 없음)

args : arguments

 

위의 코드를 pod.yaml파일로 작성

 

3. 코드 실행

kubectl apply -f pod.yaml

kubernetes resource를 생성(Azure에서는 자원을 사용하는 단위를 resource라고 부르는데 같은 맥락인듯)

(쉽게 말해 RUN)

 

4. Pod 조회

kubectl get pod

생성한 pod의 상태를 확인할 수 있습니다.

namespace에서만 확인하는등 다양한 확인 방법이 있습니다만 여기서는 하나만 소개합니다.

 

5. Pod 로그

kubectl logs counter
#kubectl logs <pod-name>

pod의 log를 확인하려면 위와 같은 명령어를 치시면 됩니다.

(현재는 한 개의 Container만 올라와 있기 때문에 위와 같이)

 

여러 Container라면? 아래와 같이

kubectl logs <pod-name> -c <container-name>

6. Pod 삭제

Pod 삭제는 아래와 같이 할 수 있습니다.

kubectl delete pod <pod-name>

delete는 모든 kubenetes resource에 가능합니다!