Kubernetes Pods 란?
쿠버네티스(Kubernetes)는 컨테이너 오케스트레이션 플랫폼으로, 애플리케이션을 배포, 확장, 관리하기 위한 오픈소스 도구입니다.
쿠버네티스는 여러 컨테이너를 클러스터로 구성하여 관리하며,
클러스터 내에서 애플리케이션 컨테이너를 실행하는 최소 단위가 "Pod"입니다.
Pod는 하나 이상의 컨테이너를 묶어서 배포하고 관리하는 기본 단위로, 동일한 Pod 내의 컨테이너들은 같은 호스트에서 실행되며,
같은 네트워크 네임스페이스, 스토리지를 공유합니다.
1. 쿠버네티스 파드(Pod)의 YAML 파일
- apiVersion: Pod의 API 버전을 지정합니다. 여기서는 v1을 사용합니다.
- kind: 리소스의 종류를 지정합니다. Pod를 생성하므로 Pod를 사용합니다.
- metadata: Pod의 메타데이터 정보를 지정합니다.
- name: Pod의 이름을 설정합니다.
- labels: Pod에 라벨을 부여하여 식별하기 쉽게 합니다.
- spec: Pod의 스펙(구성)을 지정합니다.
- containers: Pod 안에 실행할 컨테이너들의 목록입니다.
- name: 컨테이너의 이름을 설정합니다.
- image: 사용할 컨테이너 이미지를 지정합니다.
- ports: 컨테이너의 포트 설정을 지정합니다.
- containerPort: 컨테이너가 수신 대기할 포트를 지정합니다.
- containers: Pod 안에 실행할 컨테이너들의 목록입니다.
2. pod 정보 출력
$ kubectl get pods
현재 쿠버네티스 클러스터 내의 모든 pod의 요약 정보를 출력합니다.
각 파드의 이름, 네임스페이스, 상태, 실행 중인 컨테이너의 개수 등을 확인할 수 있습니다.
3. pod 생성
$ kubectl run nginx --image=nginx
kubectl run 명령은 컨테이너나 pod를 생성하는 명령입니다.
해당 명령을 실행하면 "nginx"라는 이름의 pod가 생성되고, 해당 pod 안에 "nginx" 이미지를 사용하는 컨테이너가 실행됩니다.
4. pod의 자세한 정보를 출력
$ kubectl describe pod <pod_name>
kubectl describe 명령은 쿠버네티스 리소스의 자세한 정보를 출력하는 명령입니다.
이 정보에는 파드의 상태, 이벤트, 라벨, 컨테이너 상태 등이 포함될 수 있습니다.
5. pod 삭제
$ kubectl delete pod <pod_name>
kubectl delete 명령은 쿠버네티스 클러스터 내의 리소스를 삭제하는 명령입니다.
6. pod 유효성 검사 및 yaml 파일 생성
$ kubectl run redis --image=redis --dry-run=client -o yaml > redis.yaml
--dry-run=client 옵션은 실제로 리소스를 클러스터에 생성하지 않고 미리 유효성을 검사하는 모드입니다.
"redis.yaml" 파일에 기록되는 pod의 정의가 유효한지 검사하면서 생성되지 않도록 합니다. 만약 유효성 검사를 통과하면 "redis.yaml" 파일에 생성될 pod의 정의가 저장됩니다. 이렇게 생성된 yaml 파일을 나중에 쿠버네티스 클러스터에 적용하여 pod를 실제로 생성할 수 있습니다.
7. YAML 파일에 정의된 pod 생성
$ kubectl apply -f redis.yaml
위 명령을 실행하면 "redis.yaml" 파일에 기록된 리소스 정의가 쿠버네티스 클러스터에 적용됩니다.
예를 들어, "redis.yaml" 파일에 pod 정의가 있다면 해당 pod가 클러스터에 생성될 것입니다.
kubectl apply 명령을 사용하여 리소스를 적용할 때는 이전에 존재하지 않았던 리소스는 생성되며, 이미 존재하는 리소스는 업데이트됩니다.
감사합니다.
'Program Language > K8S' 카테고리의 다른 글
CKA 자격증 - Certified Kubernetes Administrator 6편 [Labels & Selectors] (0) | 2023.08.16 |
---|---|
CKA 자격증 - Certified Kubernetes Administrator 5편 [Namespace] (0) | 2023.08.15 |
CKA 자격증 - Certified Kubernetes Administrator 4편 [Service] (0) | 2023.08.10 |
CKA 자격증 - Certified Kubernetes Administrator 3편 [Deployment] (0) | 2023.08.10 |
CKA 자격증 - Certified Kubernetes Administrator 2편 [ReplicaSets] (0) | 2023.08.09 |