목록자동화 (7)
맘가는 대로
앤서블의 변수 많은 프로그래밍 언어에서 데이터를 저장하고 사용하기 위해 변수를 사용한다. 이러한 원리는 앤서블에서도 마찬가지로 사용된다. 코딩을 한다면, 프로그램의 목적마다 다르겠지만, 전역 변수를 상수로 설정하고 주요한 데이터를 프로그램 전체에서 사용할 수 있게 하거나, 지역 변수를 사용해 특정 함수 혹은 메소드에 대해서만 사용할 수 있게 할 수 있을 것이다. 혹은 객체 지향 프로그래밍을 한다면 클래스 변수를 도입해 객체들마다 공유하는 변수를 사용할 수도 있을 것이다. 앤서블에서 사용하는 변수들도 개략적으로 보자면 비슷하지만, 큰 차이점은 각각의 변수가 앤서블의 모듈보다는 호스트마다 다를 수 있다는 것이다. 예를 들어, 앤서블은 호스트의 IP 주소를 수집할 수 있는데, 같은 네트워크 대역에서 호스트들은..
앤서블 실습 환경 구성을 마쳤으니 실제로 앤서블을 사용해볼 차례다. 앤서블을 사용하기 위해서는 앤서블을 통해 조작할 서버들에 대한 정보가 필요하다. 그러기 위해 서버들에 대한 접속 정보를 모은 인벤토리(inventory) 파일이 필요하다. 인벤토리 파일은 두 가지의 설정 방법이 있으며 정적 파일과 동적 파일로 나뉜다. 정적 파일은 다시 ini 와 yaml 양식으로 나뉘어지며, 동적 파일은 거의 모든 종류의 실행 파일이 대상이며 단지 출력 결과가 JSON 형태이면 된다. 정적 파일의 경우 앤서블 사용자가 직접 서버의 정보를 파일에 기재하는 방법이며, 소수의 서버들을 대상으로 할 때 유용하다. 동적 파일의 경우 클라우드를 사용할 때 접속 정보를 이용해 사용하고 있는 서버의 정보를 가져오는 경우등에 해당하며,..
앤서블 실습에 앞서 실습 환경을 구성하려고 한다. 주로 사용하는 OS 가 윈도우이며, 매번 힘들게 서버를 재구축할 수 없기 때문에 Vagrant 를 통해 실습 환경을 구성할 것이다. 또한, 앤서블과 같은 설정 관리 도구는 쉽게 수많은 서버를 구성하는 것이기 때문에 여러대의 노드를 빨리 구성하는 것도 필요하다. 코드 위와 같은 목적으로 구성한 코드는 아래와 같다. $NODE_COUNT=1 Vagrant.configure("2") do |config| config.vm.box = "centos/7" config.vm.provider "virtualbox" do |v| v.cpus = 1 v.memory = 256 end config.vm.provision "shell", inline: " sudo timed..
앤서블이란? 앤서블을 간단하게 설명하자면 SSH 와 파이썬을 이용하여 서버 혹은 컴퓨팅 장비를 설정할 수 있게 하는 자동화 도구이다. 언뜻 보기에 단순해 보이는 두 구성요소로 인해 다른 자동화 도구들과 다르게 특별하게 하는 점들이 많다. 차근차근 알아보도록 하자. - 없다, 에이전트 다른 자동화 도구들과 다르게 가장 큰 앤서블만의 특징을 말해보라고 하면 에이전트가 없다는 것이다(agentless). 앤서블의 편한 점은 원격 호스트에 대해 관리자 권한을 가진 계정에 대해서 키 파일이 있으면 바로 접속을 할 수 있다는 점이다. 이는 바로 호스트 접속을 SSH 를 통해서 하기 때문이다. 이를 통해 별도로 원격 호스트에 에이전트를 별도로 설치가 없어지며, 정말 적은 컴퓨트 자원을 사용한다고 하더라도 에이전트로 ..
목적 베이그런트와 버추얼 박스를 통해 빠르게 서버를 생성하는 것을 확인하였다.원하는 서버 환경 구성을 위해서는 Vagrantfile 이라는 베이그런트 서버 설정 목적의 파일을 조정해야 한다. 베이그런트를 통해 많은 서버 설정을 미리 설정하는 것이 가능하지만, 많이 사용되는 설정을 위주로 설명하도록 하겠다. 기본 파일 받기 vagrant 는 Ruby 로 작성된 프로그램이며, Vagrantfile 도 Ruby 를 통해 작성하게 된다. 따라서 기본적으로 Ruby 문법을 따르며, Vagrant 문법을 사용하여 설정하게 된다. 다만, 일일이 Vagrantfile 뼈대를 작성하는 것은 힘든 일이기 때문에 아래의 명령어를 통해 바로 파일을 생성할 수 있다. vagrant init 생성된 파일을 확인해보면 다음과 같은..
minikube 란? mini + kube 로 보이는 이름을 가진 minikube 는 로컬 환경에서 최상의 쿠버네티스 환경을 제공하고자 하는 프로젝트 명이며, 프로그램 이름이기도 하다. 보통 서버 및 클러스터 구조에서 운용되는 쿠버네티스를 간편하게 구현 및 테스트하기 위한 도구이다. 시스템 관리자, 운영자 등은 쿠버네티스의 구조를 파악하기 위해 보통 사용하며, 개발자들은 실제 로컬 개발 환경 구현을 위해 사용하곤 한다. minikube 설치 이 글에서는 윈도우 호스트 환경에서 minikube 를 설치하고 활용하는 방법을 쓰고자 한다. 우선, 윈도우 호스트에서 minikube 는 버추얼박스를 기반으로 작동하기 때문에 버추얼 박스가 설치되어 있어야 한다. 이는 다른 글들에서 잘 설명되기도 하고, 설치 과정이..
가상화 환경 구성 베이그런트는 단일 도구로서 작동하지 않는다. 베이그런트 사용을 위해 가상화 런타임 설치가 필요하다. 다양한 환경에서 호환이 잘 되어 가장 널리 사용되는 버추얼 박스를 사용하는 것이 편하다. 버추얼 박스 다운로드 페이지 — https://www.virtualbox.org/wiki/Downloads Downloads – Oracle VM VirtualBox Download VirtualBox Here you will find links to VirtualBox binaries and its source code. VirtualBox binaries By downloading, you agree to the terms and conditions of the respective license...