docker
-
Docker | 도커 이미지 종류docker 2021. 12. 26. 19:05
Docker Image를 작성하고 사용하였지만 대부분 alpine으로만 작성하고 있었습니다. 다시 돌아보니 다른 이미지 버전들에 비해 어떤 장점이 있는지 생각을 많이 해보지 않고 사용한것 같아 Docker Image 종류에 대해서 정리를 해보려고 합니다. 이미지 종류 name:version name:version-stretch name:version-buster name:version-jessie name:version-slim name:verseion-alpine name:version 기본적으로 Docker는 name:version에 해당하는 버전을 사용합니다. (Base 이미지) 해당 버전의 이미지는 가장 최근의 안정적인 데비안 운영 체제 릴리스를 기반으로 합니다. ex) python:3.8.3 n..
-
Jenins | Jenkins에 Node추가하기jenkins 2021. 12. 14. 23:08
docker container exec -it worker1 /bin/bash이전에는 Jenkins를 Container로 띄워 파이프라인을 실행해보는 예제를 해봤습니다. 하지만 여기서 생각해볼 점이 있습니다. 우리가 띄운 Jenkins(master라고 하겠습니다.)는 파이프라인 수행뿐만 아니라 설정 정보도 관리하기 때문에 부하 분산을 위해 주로 Job만을 실행시키기 위한 Node를 따로 사용하게됩니다. 다음 그림과 같이 Jenkins Master로 요청이 오면 Node(Slave)에서 Job이 실행되어 파이프라인이 동작하게 되는 방식입니다. 그럼 이전의 코드에 Node를 추가하는 방법에 대해서 정리하도록 하겠습니다. (기존 Master Jenkins가 띄워져 있다고 가정하에 진행하도록 하겠습니다 Jenk..
-
Jenkins | Jenkins 설치jenkins 2021. 12. 8. 00:08
Jenkins를 처음 시작하는 부분에 있어서 가장 쉽게 시작할 수 있는 방법은 Docker Image를 이용하는 것이라고 생각합니다. Docker Hub의 Image를 통해 쉽게 설치하여 테스트를 진행해볼 수 있습니다. (위 과정은 PC에 Docker가 설치되어 있다고 가정하고 진행합니다.) Jenkins 먼저 우리는 만들어진 Docker Image를 사용할 것이기 때문에 다음과 같이 docker-compose.yaml파일을 작성합니다. # docker-compose.yaml version: "3" services: master: container_name: master image: jenkins/jenkins:lts ports: - 9000:8080 volumes: - ./master_jenkins_h..
-
쿠버네티스 | 쿠버네티스 아키텍처kubernetes 2021. 5. 30. 01:49
쿠버네티스를 정리함에 있어서 기본적으로 쿠버네티스가 내부적으로 어떻게 동작하는지에 대해서 알아보기 위해 정리하는 시간을 가지게 되었습니다. 쿠버네티스 구성 쿠버네티스는 다음과 같이 크게 Master와 Node 2가지로 구성됩니다. 위의 그림처럼 사용자는 kubectl이라는 것을 이용하여 쿠버네티스 클러스터와 통신을 하게 됩니다. 클러스터 내의 Master는 쿠버네티스의 설정 환경을 저장하고 전체 클러스터를 관리하는 역할을 맡고 있고, 각 Node들에서는 쿠버네티스 위에서 동작하는 워크로드들이 실행되게 됩니다. 그렇다면 좀 더 자세하게 Master에서는 어떻게 해서 위에서 설명한 역할들을 수행하고 있고 마찬가지로 Node에서는 어떻게 워크로드들이 실행되게 되는지 알아보겠습니다. 쿠버네티스 기본 개념 Mas..
-
Docker | Docker란docker 2021. 5. 23. 23:33
도커란 무엇일까요? 도커는 컨테이너 기반의 오픈소스 가상화 플랫폼입니다. (컨테이너란?) 설명이 조금 부족할 수 있으니 간단한 예시를 들어보겠습니다. 예시로 내 컴퓨터에서 개발한 파이썬 어플리케이션을 서버로 배포한다고 가정해보겠습니다. 위의 그림처럼 내 컴퓨터에서는 파이썬 어플리케이션을 실행하기 위한 프로그램 또는 환경(A, B, C, D)이 존재합니다. 서버로 배포를 하기 위해 저희는 개발한 파이썬 어플리케이션뿐만 아니라 파이썬 어플리케이션에 필요한 프로그램 또는 환경(A, B, C, D)을 같이 구성해야 합니다. 만약 이과정에서 우리는 다 구성했다고 했지만 서버의 환경에서는 D가 문제가 된다거나 실수로 설치하지 못했다거나 등 내 컴퓨터와 서버의 환경에 맞지 않아 우리가 개발한 파이썬 프로그램이 실행되..
-
Docker | Containerdocker 2021. 5. 23. 00:48
Docker에 대해서 설명하기 이전에 컨테이너에 대한 이야기부터 시작을 해야 할 것 같습니다. Container 컨테이너란 무엇일까요? 컨테이너라는 단어를 생각해보면 다음과 같은 그림을 생각해 볼 수 있습니다. 컨테이너란 사전적 의미로 컨테이너는 어떤 물체를 격리하는 공간을 뜻합니다. 하지만 저희에게 컨테이너는 어떤 의미일까요? 컨테이너는 리눅스 기술을 사용하여 선박의 컨테이너처럼 프로세스가 사용하는 자원을 격리하는 것입니다. 즉, 호스트 OS상에 논리적인 구획(컨테이너)을 만들고, 애플리케이션을 작동시키기 위해 필요한 라이브러리나 어플리케이션 등을 하나로 모아, 마치 별도의 서버인 것처럼 사용할 수 있게 만드는 것입니다. Container vs VM 그렇다면 격리한다는 부분에 있어서 VM과 어떤 부분이..