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에 가능합니다!