본문 바로가기
반응형

container10

[Kubernetes] Deployment (2) 앞선 포스팅에서는 Deployment을 생성하는 2가지 방법과, deployment yaml파일의 구조에 대해 알아봤습니다. 이번 포스팅에서는 Deployment yaml파일로 서비스를 구성하는 방법에 대해 포스팅하려 합니다. 다음 명령어는 nginx기반의 LoadBalancer 유형의 서비스를 외부로 노출시켜 사용 가능하게 하는 명령어입니다 $ kubectl expose deployment my-nginx --port=80 --type=LoadBalancer 이 명령어 또한 yaml파일로 구성할 수 있습니다. 현재 nginx.yaml파일은 다음과 같은 내용으로 되어있습니다. 그럼 LoadBalancer 서비스를 제공하는 nginx-svc.yaml 파일을 다음과 같이 생성해주겠습니다. nginx-svc... 2021. 6. 11.
[Kubernetes] Deployment (1) Kubernetes가 처리하는 기본 단위인 deployment를 생성하는 방법은 2가지가 있습니다. 명령어로 생성 yaml file로 생성 명령어로는 다음과 같이 생성합니다. $ kubectl create deployment [이름] --image=[이미지] yaml 파일로는 다음과 같이 생성합니다. $ kubectl apply -f [yaml 파일 이름] 그럼 nginx deployment를 yaml 파일을 생성해 deployment를 만들어 보겠습니다. $ vi nginx.yaml 명령어를 통해 다음과 같은 내용을 포함하는 yaml파일을 만들어줍니다. 그리고 다음 명령어를 입력해 해당 yaml파일로부터 deployment를 생성해줍니다. $ kubectl apply -f nginx.yaml $ kub.. 2021. 6. 11.
[Kubernetes] Kubernetes 시작하기 (2) 앞의 포스팅에서 Kubernetes를 설치하고 기본적인 사용법을 알아봤습니다. 이번 포스팅에서는 Kubernetes에 대해 좀 더 자세히 알아보겠습니다. 일단 주의할 점은 minikube는 docker와 달리 실행한 상태를 유지해야 한다는 것입니다. Kubernetes는 기본적으로 master node와 worker node로 구성되어있습니다. Master node는 어느 node에 놓고 실행할 건지 결정하고 전체적인 node들을 관리합니다. Worker node는 말 그대로 일을 하는 작업 node입니다. Docker에서는 컨테이너가 작업 단위이지만, Kubernetes에서는 pods, deployment들이 작업 단위, 즉 처리 대상입니다. Pod는 컨테이너를 관리하면서 다른 컨테이너와 통신을 담당하.. 2021. 6. 11.
[Docker] Docker Compose 이전 포스팅에서는 Dockerfile로 이미지를 빌드해서 사용하는 방법에 대해 포스팅했습니다. 이번 포스팅에서는 Docker Compose를 사용하는 방법에 대해 포스팅하려 합니다. Docker Compose는 하나의 애플리케이션을 여러 개의 Docker로 구성하는 방법입니다. Micro Service Architecture 처럼 컨테이너 간의 연결을 구성하고 실행하는 방법입니다. Docker Compose를 구성하는 방법으로는 명령어와 yaml파일의 사용이 있습니다. 다음은 Docker Compose의 기본적인 예시입니다. version: "3.9" # optional since v1.27.0 services: web: build: . ports: - "5000:5000" volumes: - .:/co.. 2021. 6. 11.
[Docker] Dockerfile (1) Dockerfile 앞서 포스팅한 내용으로는 commit명령어로 이미지를 만들 수 있었습니다. 이번 포스팅에서는 dockerfile로 이미지를 만들어 보겠습니다. Dockerfile은 docker 이미지 생성을 위한 이미지 설정 파일입니다. Dockerfile에 사용할 수 있는 명령어들을 사용해서 docker image를 생성합니다. 다음 명령어로 dockerfile 생성을 시작해 봅니다. $ vi Dockerfile Dockerfile을 작성할 때 다음 명령어들을 설정해주면 됩니다. FROM [이미지] / FROM [이미지] : [태그] - 어떤 이미지를 기반으로 이미지를 생성할지 설정 (필수) MAINTAINER [작성자 정보] - 이미지를 생성한 사람의 정보를 설정 RUN [명령어] - FROM에서.. 2021. 6. 11.
[Docker] Apache 사용해보기 이전 포스팅에서는 docker에서 nginx 컨테이너를 사용해보았습니다. 이번 포스팅에서는 apache 컨테이너를 사용해보겠습니다. 먼저 apache이미지로 컨테이너를 생성하기 위해 다음과 같은 명령어를 입력해줍니다. $ docker run -dit -p 9000:80 --name my-httpd httpd Apache는 httpd라는 이름도 가지고 있습니다. 9000번으로 설정해준 포트를 브라우저를 통해 들어가면 다음과 같은 결과가 나타납니다. 그리고 다음 명령어를 통해 실행 중인 apache 컨테이너에 접근해 보겠습니다. $ docker exec -it [컨테이너 ID] bash Apache 컨테이너에 들어가서 htdocs의 index.html 파일을 확인해보면 It works문구가 들어있는 것을 확.. 2021. 6. 10.
[Docker] Docker Volume 사용하기 Docker volume이란 디렉토리를 매핑하는 것입니다. 즉, Docker host의 디렉토리와, container의 디렉토리를 연결하는 것입니다. 여태까지 포스팅한 글에서 ubuntu 이미지를 기반으로 한 컨테이너를 생성해서 nginx를 설치해서 구동도 해보고, nginx이미지 자체를 내려받아서 nginx 컨테이너를 구동해봤습니다. 만약 nginx이미지 자체를 내려받아서 컨테이너를 구동하는 명령어에서 실수로 포트를 매핑하지 않으면 어떻게 될까요? 다음과 같은 명령어를 봅시다. $ docker run -it nginx 위와 같이 포트를 매핑 못하고 nginx를 만들어버리면 접속이 불가능합니다. 이런 nginx컨테이너를 다시 매핑해주고 싶어도 불가능하고, 다시 만들어줘야 합니다. 그럼 동일한 nginx컨.. 2021. 6. 10.
[Docker] Nginx 사용해보기 Nginx 설치하고 사용해보기 이번 포스팅에서는 Docker로 nginx를 사용해 보겠습니다. 먼저 다음 명령어로 ubuntu이미지를 기반으로 한 컨테이너를 실행하고 접근하겠습니다 $ docker run -i -t ubuntu bash 그리고 다음 명령어를 통해 환경을 설정해 주겠습니다 $ apt -y update $ apt -y upgrade 다음 명령어를 통해 nginx를 컨테이너에 설치해 주겠습니다 $ apt -y install nginx 설치 도중 다음과 같은 설정을 해줘야 하는데, Asia, Seoul을 선택해 주면 됩니다. 그럼 설치가 완료됩니다. nginx 버전을 확인하며 설치가 잘 된 것을 확인할 수 있습니다. 그럼 현재까지 nginx가 설치된 ubuntu 컨테이너를 구성했습니다. 추가적으.. 2021. 6. 10.
[Docker] Docker 시작하기 Docker 설치하기 먼저 Docker를 설치하기 위해 다음 홈페이지의 설명을 따라 설치했습니다. https://docs.docker.com/engine/install/ubuntu/ Install Docker Engine on Ubuntu docs.docker.com 제가 사용한 환경은 Ubuntu 20.04.02 LTS입니다. 위에 게시한 사이트에서 설치하기 전에 버전은 다음과 같아야 한다고 합니다. 버전 확인은 다음과 같은 명령어로 확인할 수 있습니다. $ cat /etc/os-release Docker 공식 문서에서 요구하는 버전과 적합한 것을 확인할 수 있습니다. 다음 명령어를 입력해 설치 환경을 설정해 줍니다. $ sudo apt-get update $ sudo apt-get upgrade 다음.. 2021. 6. 10.
[Docker] Docker 란? 도커(Docker)의 탄생 배경 최근 들어 소프트웨어 개발을 할 때 서버를 직접 서버 부품들을 사고, 서버 설정을 하고, 계속 가동해서 서버를 구성하는 시스템보다, 클라우드 서비스에서 몇 번의 클릭으로 원하는 사양의 서버를 구매해 사용하는 경우가 늘어나고 있습니다. 하나의 소프트웨어에 필요한 서버가 많은 경우도 있습니다. 클라우드 서비스에서 서버 1개~2개를 구매해 사용해서 설정한다면 무리가 없지만, 서버를 여러 대 구매해서 사용하는 경우 서버의 환경을 모두 일일이 설정해주는 것은 쉽지 않은 일입니다. 이러한 단점을 해결하기 위해 Immutable Structure가 탄생했습니다. Immutable Structure는 변하지 않는 구조라는 뜻으로 호스트 OS와 서비스 운영 환경을 분리해 한번 설정하고 변.. 2021. 5. 20.
반응형