컨테이너
-
[쿠버네티스] create VS apply컨테이너/쿠버네티스 2021. 1. 30. 13:45
쿠버네티스 공부를 하던 중 Pod을 생성할 때 명령어가 두 가지가 보여서 무엇에 차이가 있는지 궁금하여 찾아보았습니다. command object가 존재하지 않을 경우 object가 이미 존재할 경우 create 새로운 object가 생성됩니다. ERROR apply 새로운 object가 생성됩니다. object를 구성합니다. (부분적인 spec을 받아들입니다.) replace ERROR obejct가 삭제된 뒤 새롭게 생성합니다. create VS apply create 명령은 각 오브젝트의 구성이 그 구성파일 내에 완전하게 정의되고 기록되어질 경우 잘 작동합니다. 하지만 활성 오브젝트가 업데이트 되고, 구성파일 안에 병합하지 않으면, 업데이트 내용은 다음 replace가 될 때 삭제될 것입니다. 이렇..
-
[쿠버네티스] 큐브 시스템 컴포넌트와 라이브네스, 레디네스컨테이너/쿠버네티스 2021. 1. 29. 20:27
큐브 시스템 컴포넌트 큐브 API 서버 쿠버네티스 시스템 컴포넌트는 오직 API 서버와 통신하며 컴포넌트끼리는 서로 직접 통신하지 않습니다. RESTful API를 통해 클러스터 상태를 쿼리로 제공하고, 수정할 수 있는 기능을 제공합니다. 큐브 컨트롤러 매니저 API에 의해 받아진 요청을 처리하는 역할을 맡습니다. 레플리케이션 매니저 레플리카셋, 데몬셋, 잡 컨트롤러 디플로이먼트 컨트롤러 스테이트풀셋 컨트롤러 노드 컨트롤러 서비스 컨트롤러 엔드포인트 컨트롤러 네임스페이스 컨트롤러 영구 볼륨 컨트롤러 etc 큐브 스케줄러 요청 받은 리소스를 어느 노드에서 실행할지를 결정합니다. 현재 노드의 상태를 점검하고 최상의 노드를 찾아 배치하죠. 다수의 팟(Pod)을 배치하는 경우에는 라운드 로빈 방식을 채택합니다...
-
쿠버네티스 서비스 동작 구조컨테이너/쿠버네티스 2021. 1. 28. 20:57
팟(Pod)이란? 쿠버네티스는 kubectl get container와 같이 컨테이너를 취급하지 않습니다. 대신 여러 위치에 배치된 컨테이너 그룹이라는 팟(Pod)이라는 개념을 사용합니다. 팟(Pod)의 특징 팟은 하나 이상의 밀접하게 관련된 컨테이너로 구성된 그룹입니다. 팟은 동일한 리눅스 네임스페이스와 동일한 워커 노드에서 항상 함께 실행됩니다. 각 팟은 애플리케이션을 실행하는 자체 IP, 호스트 이름, 프로세스 등이 있는 별도의 논리적 시스템입니다. 디플로이먼트의 역할 디플로이먼트는 레클리카셋을 생성합니다. 레플리카셋은 지정된 수를 알려주면 그 수 만큼 팟이 생성됩니다. 어떤 이유로든 팟이 사라지면 레플리카셋은 누락된 포드를 대체할 새로운 포드를 생성합니다. 서비스의 역할 팟은 일시적인 존재이며 다..
-
쿠버네티스란컨테이너/쿠버네티스 2021. 1. 27. 23:05
쿠버네티스의 장점 애플리케이션 배포 단순화 하드웨어 활용도 극대화 노드의 하드웨어 리소스를 최상으로 활용할 수 있습니다. 클러스터의 주변으로 자유롭게 이동하여 실행중인 다양한 애플리케이션 구성 요소를 클러스트 노드의 가용 리소스에 최대한 맞춰 서로 섞고 매치합니다. 상태 확인 및 자가 치유 애플리케이션 구성 요소와 실행되는 노드를 모니터링 하고 노드 장애 발생 시 다른 노드로 일정을 자동으로 재조정합니다. 오토스케일링 자동으로 리소스를 모니터링하고 각 애플리케이션에서 실행되는 인스턴스 수를 지속적으로 조정이 가능합니다. DevOps를 위한 쿠버네티스 개발자 : 핵심 애플리케이션 기능에 집중 가능 개발자는 특정 인프라 관련 서비스를 애플리케이션에 구현하지 않아도 됩니다. 운영팀 : 효과적으로 리소스를 활용..
-
[Docker] 도커 컴포즈컨테이너/도커 2021. 1. 13. 19:52
도커 컴포즈를 사용하는 이유 매번 run 명령어에 옵션을 설정해 CLI(Command Line Interface)로 컨테이너를 생성하기보다는 여러 개의 컨테이너를 하나의 서비스로 정의해 컨테이너 묶음으로 관리하기 위해 사용한다. -> 컨테이너의 수가 많아지고 정의해야 할 옵션이 많아진다면 도커 컴포즈를 사용하는 것이 좋다. 도커 컴포즈 설치 # curl -L https://github.com/docker/compose/releases/download/1.11.0/docker-compose-`uname -s` \ -`uname -m` > /usr/local/bin/docker-compose 도커 컴포즈 사용 도커 컴포즈는 컨테이너의 설정이 정의된 YAML 파일을 읽어 도커 엔진을 통해 컨테이너를 생성한다...
-
[Docker] 이미지 배포컨테이너/도커 2021. 1. 6. 18:27
이미지를 생성했다면 이를 다른 엔진에 배포할 방법이 필요하다. save나 export와 같은 방법으로 이미지를 단일 파일로 추출해서 배포하게 되면 이미지 파일의 크기가 너무 크거나 도커 엔진의 수가 많다면 굉장히 비효율적이게 된다. 이럴 때 도커의 이미지 구조인 레이어 형태를 이용해야 한다! 이미지 배포 방법 도커 허브 : 도커에서 공식적으로 제공하는 도커 허브 이미지 저장소. 사설 레지스트리 : 사용자가 직접 이미지 저장소를 만든 후 해당 레포지토리에 저장. 1. 도커 허브 저장소 저장소에 이미지 올리기 docker commit [컨테이너명] [이미지] # docker commit commit_container my-image-name:0.0 로그인 docker login Username : Passw..
-
[Docker] 도커 이미지컨테이너/도커 2021. 1. 2. 02:47
2.3 도커 이미지 도커는 기본적으로 도커 허브라는 중앙 이미지 저장소에서 이미지를 내려받는다(도커 허브는 도커가 공식적으로 제공하고 있는 이미지 저장소). # docker search ubuntu *docker search 명령어는 도커 허브에서 이미지를 검색하며, 도커 허브 이미지임을 명시하기 위해 docker.io/ubuntu와 같이 docker.io 접두어를 사용할 수 있다. 허나 일반적으로 최상위 접두어를 명시하지 않으면 도커 허브의 이미지를 의미한다. 2.3.1 도커 이미지 생성 1) 컨테이너 안에서 작업한 내용을 이미지로 생성 # docker run -i -t --name commit_test ubuntu:14.04 # docker commit \ -a "seho100" -m "my firs..