ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Kubernetes - Pod란?
    Docker & Kubernetes 2019. 10. 3. 20:51

    Pod란 무엇인가 ? 

     

    Pod란 쿠버네티스에서 최소 배포 단위로 하나 이상의 컨테이너를 포함한다.

     

    Docker를 사용해본 사용자라면 알듯 Docker에서는 최소의 배포 단위가 컨테이너이다.

    하지만 쿠버네티스는 하나의 컨테이너가 아닌 컨테이너 및 네트워크, 스토리지가 포함된 Pod로 배포한다.

     

    기본적으로 하나의 Pod에는 1개의 컨테이너를 올리지만 두 개의 컨테이너가 밀접한 관계를 가지고 있을 때에는 

    하나의 Pod에 하나 이상의 컨테이너를 배포하기도 한다.

     

    아래는 간단한 Pod 배포 yaml 파일이다.

     

                                                                      Test-pod.yaml

     

                                                                      apiVersion: v1

                                                                      kind: Pod

                                                                      metadata:

                                                                        name: Test-Pod

                                                                      spec:

                                                                        containers:

                                                                        - name: nginx

                                                                          image: nginx:latest

                                                                          ports:

                                                                          - containerPort: 8080

     

     

    apiversion

     

    이 스크립트를 실행하기 위한 API 버전으로 다양한 API 버전이 있다.

    나중에 API 버전에 따른 가능을 정리하여 올릴 예정

     

    kind

     

    리소스의 종류를 정의한다.

    우리는 Pod를 정의하기 때문에 Pod라고 작성하였고 외에 Service, Deployment, ReplicaSet등이 있다.

     

    metadata

     

    생성할 리소스의 다양한 메타데이터를 작성한다.

    리소스의 이름, 라벨등이 포함된다.

     

    ※ 쿠버네티스에서 라벨은 중요한 역할을 한다. 이 후 service를 설명하며 자세하게 올릴 예정.

     

    spec

     

    생성할 리소스에 대한 상세 스펙을 설정한다.

    container에 사용할 이미지, 오픈할 컨테이너 포트등  상세 스펙을 정의한다.

     

     

    추가적으로 쿠버네티스에서 yaml 파일을 작성하여 적용하는 명령어 전체 작성

     

    1. vi Test-pod.yaml  //vi 명령어를 사용하여 생성할 yaml파일 생성 및 작성

     

    2. 위의 yaml파일 작성

     

                                                                      apiVersion: v1

                                                                      kind: Pod

                                                                      metadata:

                                                                        name: Test-Pod

                                                                      spec:

                                                                        containers:

                                                                        - name: nginx

                                                                          image: nginx:latest

                                                                          ports:

                                                                          - containerPort: 8080

     

    3.  kubectl create -f Test-pod.yaml

     

    위의 3 과정을 통해 yaml파일을 작성 및 적용한다.

     

    이후에 yaml 파일을 수정한 뒤 적용할 때에는

    kubectl apply -f Test-pod.yaml 명령어를 사용하여 변경사항을 적용한다.

    'Docker & Kubernetes' 카테고리의 다른 글

    kubernetes - namespace란 ?  (0) 2019.10.03
    kubernetes - apiVersion 종류  (0) 2019.10.03
    CentOS 7 - 쿠버네티스 설치  (0) 2019.06.09
    Kubernetes란?  (0) 2019.06.09
    Docker Swarm이란  (0) 2019.02.19
Designed by Tistory.