본문 바로가기
반응형

Devops18

[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.
[Kubernetes] Kubernetes 시작하기 (1) Kubernetes란? Kubernetes는 흔히 K8S라고 불리기도 합니다. Kubernetes는 컨테이너화 된 애플리케이션들을 관리하고, ochestration 하는 기능을 제공합니다. Kubernetes 외에도 apache wesos, docker swarm 등이 있습니다. Ochestration? Ochestration은 크게 다음과 같은 기능을 합니다. 스케쥴링 : 할 일 없는 애플리케이션 배포, 서버가 다운되면 다른 서버 띄워줌 클러스터링 : 서버가 여러 개여도 하나 다루는 것 같은 기능 제공 서비스 디스커버리 : 각 컨테이너에 DNS포트 등 정보가 있어서 쉽게 찾아볼 수 있음 로깅 Kubernetes를 학습하기 위해 사용한 환경은 minikube라는 Kubernetes가 공식적으로 제공하는 .. 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 (2) 앞서 포스팅에서는 Dockerfile의 기본적인 명령어와 사용법에 대해 포스팅했습니다. 이번 포스팅에서는 좀 더 Dockerfile 명령어에 대해 포스팅하려 합니다. EXPOSE [포트 번호] - 호슽와 연결할 포트 번호를 설정합니다. (docker run의 --expose 옵션과 동일) ENV [환경 변수] [값] - 환경 변수를 설정합니다. 이 환경 변수는 RUN, CMD, ENTRYPOINT에 적용됩니다. ADD [복사할 파일 경로] [이미지에 파일이 위치할 경로] - 파일을 이미지에 추가합니다. COPY [복사할 파일 경로] [이미지에 파일이 위치할 경로] - 파일을 이미지에 추가합니다. WORKDIR [경로] - RUN, CMD, ENTRYPOINT 명령이 실행될 디렉토리를 설정합니다. COPY.. 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] Docker 이미지 다루기 (2) 앞서 포스팅에서 Docker hub에 이미지 파일을 올려서 공유하는 방법에 대해 포스팅했었습니다. 하지만 Docker hub에 올리는 경우 공개로 되어 노출이 됩니다. 이를 해결하기 위해 private registry를 사용하여 관리하여 배포할 수 있습니다. Docker hub에서는 private registry를 구현할 수 있게 컨테이너를 제공합니다. 다음 명령어를 통해 registry 컨테이너를 실행시켜줍니다. $ docker run -d -p 5000:5000 --restart always --name registry registry:2 --restart always 옵션: registry는 항상 실행되어야 함을 보장하는 옵션입니다 --name registry 옵션: 이름을 registry로 설정합.. 2021. 6. 11.
[Docker] Docker 이미지 다루기 (1) 이번 포스팅에서는 docker의 이미지를 다루고 핸들링하는 방법에 대해 포스팅해보겠습니다. 예를 들어 $ docker run -it ubuntu 명령어를 통해 ubuntu 이미지를 기반으로 한 컨테이너를 생성하고, 다음과 같은 명령어로 환경을 설정해봅니다. $ docker run -it ubuntu $ apt -y update; apt -y upgrade; apt -y install net-tools 그럼 이제 위 컨테이너는 apt update, upgrade가 모두 완료되고, net-tools가 설치된 컨테이너가 됩니다. 이 컨테이너를 다른 사람과 공유하기 위해 docker commit 명령어를 사용해 이미지를 생성해서 공유할 수 있습니다. 즉, apt update, upgrade, net-tools가.. 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.
반응형