ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • PODMAN: POD
    공부합시다!/Container 2022. 12. 14. 00:12
    728x90

    pod란 개념은 K8S에서 유래 되었다.

    pod란 Container를 실행하는 최소 단위이며 하나, 또는 그 이상의 Container가 실행되는 환경이다.

    PODMAN의 pod 역시 이와 유사하게 정의되어 있다.

     

    PODMAN의 Pod 개념

    1. 구조  및 Infra Container

     1.1. 모든 Podman pod에는 infra container가 포함되어 있음.

     1.2. Infra container는 아무 작업도 수행하지 않지만 sleep mode로 전환되지는 않는다. 

      1.2.1. 중요 정보 저장 및 Pod 유지

     1.3. Infra Container는 팟(Pod)과 연관된 NameSpace를 보유

     1.4. Podman이 pod내의 다른 Container에 연결할 수 있도록 함. 

       1.4.1. 이렇게 함으로서 pod 내의 Container 시작 및 중지가 가능

       1.4.2. 단 infra Container의 시작과 중지는 불가능

      1.5. Infra Contaier는 k8s.gcr.io/pause 이미지를 기반

       1.5.1. 별도로 명시하지 않는 한 모든 pod는 기본 이미지를 기반으로 하는 컨테이너를 갖게 됨.

     

    2. 제약 사항

     2.1. Pod를 구성하는 대부분의 속성은 실제로 Infra Container에 할당

      2.1.1. port binding, cgroup-parent 값 및 kernel namespace는 모두 infra Container에 할당

     2.2 Pod가 생성되면 이러한 속성이 Infra Container에 할당되고 변경할 수 없음. - pod에 port 생성 반드시 필요이유

      2.2.1. 예를 들어 Pod를 생성한 다음 나중에 새 포트를 바인딩하는 컨테이너를 추가하기로 결정한 경우 Podman은 이를 수행할 수 없음. 새 컨테이너를 추가하기 전에 추가 포트 바인딩을 사용하여 포드를 다시 생성해야 함.

     

    3. 아키텍처 이해

     3.1. 각 컨테이너 위에 있는 Box.

      3.1.1. Container mornitorr. 

      3.1.2. runc: 컨테이너의 기본 프로세스를 감시하고 컨테이너가 죽으면 종료 코드를 저장. 또한 나중에 연결할 수 있도록 컨테이너의 tty를 Open 중. 

      3.1.4. 이것은 podman이 분리 모드(백그라운드)에서 실행되도록 허용하므로 podman은 종료할 수 있지만 conmon은 계속 실행. 

      3.1.5. 각 컨테이너에는 고유한 conmon 인스턴스가 있습니다.

     

    4. Pod 생성 및 삭제

     4.1. pod를 생성하면 Infra Container는 자동 생성됨. 

      4.1.1. noportpod란 이름의 pod 생성

    # podman pod create --name noportpod

      4.1.2. pod 확인

    # podman pod list

      4.1.3. pod내 infra Container 확인

    # podman ps -a --pod

     

    4.2. Infra Container만 삭제 할 수 없음. 

      4.2.1. infra container 삭제 시도

    # podman rm -f INFRACONTAINERNAME

     4.3. Pod를 삭제 해야만 Infra Container가 삭제됨.

      4.3.1. pod 삭제

    # podman pod rm PODNAME

      4.3.2. pod내 Container 확인

    # podman ps -a --pod

      4.3.3. pod 확인

    $ podman pod list

    pod 생성 및 삭제

    결론 : Infra Container의 생명주기는 POD와 같다. POD가 삭제되면 Infra Container로 삭제된다.

    단 Infra Container는 그 이외의 방법으로는 삭제되지 않는다.

     

    조금 힘든 개념이지요!
    잘 이해하시면 나중에 K8S 공부에 많은 도움이 됩니다.

    Have a nice day!

    728x90

    '공부합시다! > Container' 카테고리의 다른 글

    Docker : Network  (0) 2022.12.15
    PODMAN: POD 구성 및 wordpress + mysql  (0) 2022.12.15
    PODMAN 일반적인 사용법  (0) 2022.12.13
    PODMAN과 DOCKER  (0) 2022.12.12
    HA Proxy 멀티 포트를 활용한 다중 LoadBalancing  (0) 2022.12.08
Designed by Tistory.