전체 글

전체 글

    [앤서블(Ansible)] ansible-playbook 사용법

    [앤서블(Ansible)] ansible-playbook 사용법

    이번 포스팅의 주제는 ansible-playbook의 사용법에 대한 내용이다. Ansible playbook은 반복, 재사용 가능하며 구성 관리 및 다중 머신의 설정, 배포 시스템을 제공하는 언어다. YAML 형식으로 되어있다. 이전 포스팅에서 정리했듯이 본래 앤서블로 실현하고 싶은 것은 다음의 3가지다. 환경 설정 및 구축 절차를 통일된 형식으로 기술할 수 있음 매개 변수 등 환경의 차이를 관리할 수 있음 실행 전에 변경되는 부분을 파악할 수 있음 위의 내용들을 예제를 통해 확인해보도록 한다. 1. Git 설치 $ sudo yum -y install git 2. ansible-playbook-sample 다운로드 $ git clone https://github.com/devops-book/ansible..

    [앤서블(Ansible)] Ansible의 기본적인 사용법 (nginx)

    [앤서블(Ansible)] Ansible의 기본적인 사용법 (nginx)

    DevOps 학습을 진행하면서 앤서블(Ansible)이라는 툴에 대한 언급이 계속 나온다. 이번 포스팅에서는 앤서블이 무엇인지, 그리고 어떻게 사용되고 어떤 역할을 하는지에 대한 내용을 다룬다. 앤서블은 여러 개의 서버를 효율적으로 관리하기 위해 고안된 인프라 구성 관리 도구이다. 인프라 구성 관리도구는 다음과 같은 특징을 가진다. 선언적 구성 정보에 의해 설정 대상의 "상태"가 명확히 기재되고, 상태를 파악할 수 있는 것을 의미. 선언적이라는 것은 "서버가 어떤 상태로 존재했으면 좋겠다고 생각하는 상태를 설명하는 것이며, 어떻게 하고 싶은 것인가 하는 작업을 기술하는 것은 아니다."라는 것이다. service: name: nginx state: started 위와 같은 표현은 누가봐도 "nginx를 실..

    도커 컨테이너(Docker container) 빌드하기

    도커 컨테이너(Docker container) 빌드하기

    이번 포스팅에서는 간단하게 도커 컨테이너 빌드하는 방법에 대해 정리하도록 한다. 컨테이너 빌드 순서 컨테이너 빌드하는 실행 순서는 다음과 같다. 디렉터리를 준비하여 이미지에 포함시킬 파일들을 모음 *Dockerfile을 작성 컨테이너에서 실행할 애플리케이션 코드를 작성하고 유닛 테스트를 실행 이미지를 빌드 컨테이너를 실행하고 동작을 확인 * Dockerfile: 도커 이미지를 빌드하는 스크립트 파일로써, 다음과 같은 내용을 담고 있다. 베이스 이미지의 repository 설치할 패키지 애플리케이션 코드와 설정 파일 컨테이너 기동 시 실행될 명령어 1. 작업 파일 만들기 컨테이너를 빌드하기 위해서 먼저 작업 파일을 만든다. 예제에서 작업 파일 이름은 'Step03'으로 만들었다. $ mkdir Step03..

    도커, 쿠버네티스 Cheat Sheet

    도커, 쿠버네티스 Cheat Sheet

    이번 포스팅에서는 오늘 도커와 쿠버네티스를 공부하면서 치트 시트를 소개하도록 한다. 도커, 쿠버네티스 명령어 치트 시트 링크 도커, 쿠버네티스 명령어 치트시트 Docker 도커 명령어 치트시트 기능,커맨드 실행 예,설명 컨테이너 환경 표시,docker version,도커 클라이언트와 서버 버전 표시 docker info,구체적인 환경 정보 표시 컨테이너 이미지 빌드,docker build -t 리 docs.google.com 도커와 쿠버네티스를 학습하면서 컨테이너를 다루기 위한 개념 정리와 사용되는 명령어들을 학습 중이다. 학습하면서 만나게 되는 다양한 명령어 예제를 치트 시트에 계속 업데이트하려고 한다. 공식 사이트에 도커와 쿠버네티스 명령어들이 잘 정리되어 있지만, 나만의 명령어 치트 시트를 만들어놓..

    도커(Docker) docker run <image>의 실행순서

    도커(Docker) docker run <image>의 실행순서

    이번 포스팅에서는 docker run 의 작동원리에 대해서 살펴보도록 한다. docker run 명령어에는 여러 가지 옵션이 있지만, 제일 기본적인 명령은 이미지를 이용해 컨테이너를 바로 동작시키는 것이다. 아래의 명령어를 이용하여 hello-world를 실행시켜 보도록 한다. $ docker run hello-world 아무 옵션을 주지않고, docker run hello-world를 실행하면 위와 같은 실행결과를 얻을 수 있다. 출력되는 내용을 요약하자면 hello-world라는 이미지를 로컬에서 찾을 수 없어서, 최신 hello-world 이미지를 풀링 한 다음 실행한다는 것이다. 위의 과정을 다이어그램으로 나타내면 다음과 같다. Docker CLI가 "run" 명령을 받고 docker server..

    도커(Docker)를 사용하는 이유

    도커(Docker)를 사용하는 이유

    이번 포스팅은 도커를 사용하는 이유에 대해서 알아보는 것이다. 도커를 사용하는 이유를 알기 위해서 반적인 소프트웨어 설치방식을 이해해야 한다. 일반적인 소프트웨어 설치방식은 다음 그림과 같다. 어떤 소프트웨어를 사용하기 위해서 우리는 설치 파일을 다운로드하고 실행한다. 설치를 하다가 오류가 발생하면 스택오버플로우나 구글 검색을 통해서 오류 해결방법을 찾아내서 적용한다. 그리고 인스톨을 계속 실행하다가 다른 에러를 만나게 된다. 그러면 이전과 같이 오류를 해결할 수 있는 방법을 계속 검색해야 하고, 이 과정은 소프트웨어가 잘 설치될 때까지 반복된다. 도커는 이러한 문제점을 해결한다. 설치나 의존성에 대한 걱정 없이 쉽게 소프트웨어를 설치, 실행할 수 있도록 함 이것이 도커를 사용하는 이유이다. 필자는 소프..

    DevOps란?

    DevOps란?

    이번 포스트에서 다루는 주제는 DevOps 기술에 대한 배경지식이다. DevOps란? Dev(개발팀) + Ops(운용팀)이 긴밀히 협조하여 비즈니스 측면 가치를 높이는 근무방식과 문화를 의미한다. DevOps 문화가 생긴 배경은 다음과 같다. 최신 서비스들은 짧은 기간에 기능 추가나 개선에 대한 요구사항들이 발생하고 이를 대응해야 한다. 애자일(Agile) 개발 기법은 소규모 개발을 전제로 필요한 최소한의 요건들을 적용하여 Release를 하고 고객의 피드백을 반영하며 지속적으로 서비스를 개선되는 개발 기법이다. 애자일 방식으로 개발을 하다 보니 애플리케이션이 빠르게 Release 되어서 좋은데, 운용 환경이 이를 따라가지 못하는 현상이 발생하게 된다. 운영팀이 추구하는 것은 서비스의 안정화이기 때문이다..

    컨테이너 오케스트레이션(Container Orchestration)이란?

    컨테이너 오케스트레이션(Container Orchestration)이란?

    이번 포스트에서는 RedHat에서 정의한 컨테이너 오케스트레이션(Container Orchestration)에 대해서 정리해 보았다. 컨테이너 오케스트레이션: 컨테이너의 배포, 관리, 확장, 네트워킹을 자동화 하는 기술을 말한다. 1. 컨테이너 오케스트레이션이 사용되는 분야 프로비저닝 및 배포 설정 및 스케줄링 리소스 할당 컨테이너 가용성 증가 인프라 전반의 워크로드 밸런싱을 기반으로 컨테이너 스케일링 또는 제거 로드 밸런싱 및 트래픽 라우팅 컨테이너 모니터링 실행될 컨테이너를 기반으로 애플리케이션 설정 컨테이너 간 보안유지 2. 컨테이너 오케스트레이션 툴 Docker Swarm Apache Mesos 쿠버네티스(Kubernetes) 3. 컨테이너 오케스트레이션의 작동 방식 쿠버네티스와 같은 컨테이너 오..

    쿠버네티스(Kubernetes) 공식 튜토리얼 #7

    쿠버네티스(Kubernetes) 공식 튜토리얼 #7

    이번 포스팅에서는 지난 포스팅에 이어 공식 튜토리얼 마지막 단계인 6단계를 실습해 보도록 한다. 2021.04.04 - [클라우드 컴퓨팅 & NoSQL] - 쿠버네티스(Kubernetes) 공식 튜토리얼 #6 쿠버네티스(Kubernetes) 공식 튜토리얼 #6 이번 포스팅에서는 지난 포스팅에 이어 공식 튜토리얼 5단계를 실습해 보도록 한다. 2021.04.03 - [클라우드 컴퓨팅 & NoSQL] - 쿠버네티스(Kubernetes) 공식 튜토리얼 #5 쿠버네티스(Kubernetes) 공식 튜토리 devlos.tistory.com 튜토리얼 모듈 6은 "Performing a Rolling Update"에 관한 것이다. 이번 시나리오의 목표는 deploy된 애플리케이션을 Kubectl set imagne로 ..

    쿠버네티스(Kubernetes) 공식 튜토리얼 #6

    쿠버네티스(Kubernetes) 공식 튜토리얼 #6

    이번 포스팅에서는 지난 포스팅에 이어 공식 튜토리얼 5단계를 실습해 보도록 한다. 2021.04.03 - [클라우드 컴퓨팅 & NoSQL] - 쿠버네티스(Kubernetes) 공식 튜토리얼 #5 쿠버네티스(Kubernetes) 공식 튜토리얼 #5 이번 포스팅에서는 지난 포스팅에 이어 공식 튜토리얼 4단계를 실습해 보도록 한다. 2021.04.02 - [클라우드 컴퓨팅 & NoSQL] - 쿠버네티스(Kubernetes) 공식 튜토리얼 #4 쿠버네티스(Kubernetes) 공식 튜토리 devlos.tistory.com 튜토리얼 모듈 5는 "Running Multiple Instances of Your App"에 관한 것이다. 쿠버네티스 kubectl scale을 이용하여 Depolyment를 확장하고 로드벨..