7월, 2018의 게시물 표시

Vagrant 사용 방법 (3)

이미지
Provisioning 이란?

프로비저닝(provisioning)은 사용자의 요구에 맞게 시스템 자원을 할당, 배치, 배포해 두었다가 필요 시 시스템을 즉시 사용할 수 있는 상태로 미리 준비해 두는 것을 말한다. 서버 자원 프로비저닝, OS 프로비저닝, 소프트웨어 프로비저닝, 스토리지 프로비저닝, 계정 프로비저닝 등이 있다. 수동으로 처리하는 '수동 프로비저닝'과 자동화 툴을 이용해 처리하는 '자동 프로비저닝'이 있다.
-- From wiki --
잘 모르겠다.
암튼 사용자에게 뭔가 서비스를 제공하려고 할때,
사용자가 원하는 시스템 환경이 있을 것이다. (혹은 그 사용자 요구에 맞는 시스템 환경)
그 환경을 일일이 수동으로 해주는건 번거로운 일이니,
자동으로 해주는 시스템 이라고 보면 될거 같다.

vagrant 를 통해서 ubuntu 가상머신을 생성하고 실행까지 해봤다.

이 가상머신에 apache 를 설치하고 싶다고 가정하자.
apt-get 을 통해서 설치하면 될 것이다.
수동으로 또각또각 키보드를 사용해서 설치하면 될 것이다.

근데 만약 ubuntu 서버를 100명의 고객에게 할당해 주기 위해,
100대를 생성해야 한다면은?
(1명에게 1개씩 할당해야 하는 상황이라고 가정하자)

100번을 apt-get 을 또각또각 키보드를 쳐야할 것이다.

apache 뿐만 아니라 mysql, php, java 까지 설치해야 한다면,
엄청난 일이 될것이다.

이런걸 자동화 해서 사용자 요구에 맞게 준비하는걸,
provisioning 이라고 생각하면 된다.

vagrant 에는 provisioning 기능이 존재한다.
사용해 보자.

host 머신의 /home/kimchki/test 와
guest 머신의 /vagrant 가 sync 상태인건
저번 포스트를 통해 알고 있다.

/home/kimchki/test/bootstrap.sh 파일을 생성하자.

#!/usr/bin/env bash

apt-get update
apt-get install -y apache2

Atlassian Confluence 6.10.1 구매

이미지
예전에는 뭔가를 기록할 일이 생기면, 노트에 기록을 하곤 했었다.
아날로그 세대 답게, 샤프로 쓱싹쓱싹......

그 후,
디지털 세대로 급변하는 격동기(激動期) 시대를 맞이하게 되어서.....
디지털 인(人) 답게 기록의 형태를 디지털 형태로 변경하기로 하였다.

스마트폰, 데스크탑, 노트북을 사용하여 이것저것 기록하기 시작했다.
기록하는 형태의 서비스를 제공하는 프로그램 종류는 엄청 많았다.
그 중, 사용해 본 프로그램은 아래 리스트 정도.

에버노트(Ever Note), 원노트(One Note), 킵(Keep), 페이퍼(Dropbox Paper), 솜노트(Som Note), 큅(Quip)......  (더 있을텐데 기억이 잘 안 남)

위 제품들은 일반적으로 개인용으로 사용하기에 잘 되어 있다.
물론 공유 기능을 사용해서 여러 사람들과 협업적으로 사용 가능하다.
실제로 위 제품들을 사용하는 회사, 단체, 집단 등도 있다고 한다.

그렇긴 한데,
위 제품보다 좀 더 회사에서 사용하는 용도로 특화된 제품도 있다.

바로,
Atlassian 회사에서 만든 Confluence 라는 제품이다.

회사에서는 여러 사람들과 서로 문서를 공유하고, 작성할 수 있도록 특화된 제품이라고 해야 하나? (협업 제품)
아님 plugin 이 많아서 기능은 무한대로 추가할 수 있는 제품이라고 해야 하나?
암튼, 좋긴 좋다.

수 많은 회사에서 Confluence 를 사용한다고 알려져 있다.

Confluence 가 많이 알려지면서, 회사 뿐만 아니라 개인적으로 사용하는 사람들도 많이 생겼다.

혼자 사용하기도 하고, 친구들과 같이 정보 공유를 위해 사용하기도 하고, 작은 단체에서 사용하기도 하고, 다양하게 사용되는 같다.

원래는 비쌌었는데, 나처럼 돈도 빽도 없는 사람들을 위해 $10 에 판매한다는 소문을 들었다.
(2016년 9월 부터 인듯)

진짜? 레알? 리얼리?


소규모 단체를 위해 저렴하게 내 놓은거라고 한다.
그리고 $10 는 기부를 한다고 한다. (그러므로 환불은 안된다)
누이좋고 매부…

Vagrant 사용 방법 (2)

이미지
저번 포스트에서 vagrant 를 통한 centos 초기화 방법에 대해 살펴보았다.

맨 처음 vagrant init 를 수행할때, 구동되기 까지 시간이 오래 걸렸고,
뭔가 다운로드 되고 있다는걸 느낄 수 있었다.

맨 처음에 init 할때는 https://vagrantcloud.com/boxes/search 에서 이미지를 다운로드 하기 때문이다.

다운로드 되어진 이미지는 아래 경로에 저장되어 있다.
~/.vagrant.d/boxes/centos-VAGRANTSLASH-7/1804.02/virtualbox
(이름이 같지 않을 수 있다)

vagrant up 으로 virtualbox 가 구동될때 이미지가 없으면 다운로드를 하고,
이미지가 있으면 그 이미지를 기반으로 아래 경로에 새로운 이미지로 구동된다.
~/VirtualBox VMs/cent_default_1529396971762_7086
(이름이 같지 않을 수 있다)
vagrantcloud 에는 다양한 이미지들이 존재하고, 그 이미지를 미리 다운로드 해서 보유하고 있을 수 있다. % vagrant box add [이름]
예를 들어 Ubuntu 12.04 이미지를 다운로드 하고 싶다면,
아래처럼 하면 된다. % vagrant box add hashicorp/precise64


이미지는 아래 경로에 저장이 된다.
~/.vagrant.d/boxes/hashicorp-VAGRANTSLASH-precise64/1.1.0/virtualbox
이미지를 기반으로 가상머신(guest)을 구동해 보자. "vagrant box" 가 정상적으로 수행되었다면, "Vagrantfile" 파일이 생성되었을 것이다.

16번째쯤 line 으로 가면, config.vm.box 항목을 수정하자.
config.vm.box = "hashicorp/precise64"
구동을 해보자.
% ./vagrant up

% vagrant up Bringing machine 'default' up w…

Vagrant 사용 방법 (1)

이미지
vagrant는 가상머신을 이리저리 쉽게 컨트롤 할 수 있도록 도와주는 프로그램이다.
가상머신을 컨트롤 할 수 있는 명령어와 설정파일을 제공해 준다.

가상머신에 OS 를 설치하고 설정을 이것저것 해주는 것은 상당히 번거로운 일이다.
그것을 어느정도 자동으로 해주는 프로그램이다.

일단 vagrant 홈페이지에 가서 자신의 OS 에 맞는 파일을 download를 하자.
www.vagrantup.com
나는 Linux 버전으로 다운로드 했다.

현재 시점 기준으로 최신 버전은 2.1.1 이다.
https://releases.hashicorp.com/vagrant/2.1.1/vagrant_2.1.1_linux_amd64.zip

그 다음에는, vagrant box를 추가해야 한다.
vagrant box는 virtual machine을 컨트롤하기 위한 설정파일이라고 보면 된다.
자신이 만들 수도 있고, 인터넷에 공개되어 있는것을 사용할 수도 있다.
아래 링크에서 공개되어 있는 것을 다운로드 하면 된다.
https://app.vagrantup.com/boxes/search

centos/7 을 해보기로 했다.
왜냐하면 나는 ubuntu 사용자이기 때문에 centos 가 필요했기 때문이다.


centos/7 을 클릭하면 "config.vm.box" 를 "centos/7" 로 바꾸라고 되어 있다.
vm.box 의 의미는 가상 이미지를 가리킨다.
Vagrantfile 은 초기화를 하면 생성되는 파일인데 설정 파일이라고 생각하면 된다.


초기화를 하고 그 다음에 설정파일을 수정해 보자.
Vagrantfile 파일을 생성하자.
% ./vagrant init

Vagrantfile 파일을 수정하자.
% vi Vagrantfile

16번째쯤 line 으로 가면, config.vm.box 항목을 수정하자.
config.vm.box = "centos/7"
구동을 해보자.
% ./vagrant up --provider virtualbox

가상 이미지가…

VirtualBox Command

이미지
% virtualbox
virtualbox 를 실행하면, 일반적으로 GUI 인터페이스가 나타난다.

리눅스 server 버전을 사용하든 desktop 버전을 사용하든,
virtualbox 는 GUI 인터페이스가 기본이다.

물론 GUI 가 여러모로 편하긴 하다.
그런데 종종 CUI 를 사용해야 할일이 생긴다.

구글링을 해보니, virtualbox 를 위한 CUI 가 존재한다.
'VBoxManager' 라는 command 가 있다.

이걸 사용해서, 가상 이미지를 생성할 수도 있고, 가상 머신을 실행할 수도 있다.
아래 표에 간단히 정리해 놓았다.

VBoxManage createvm가상 머신를 생성한다.VBoxManage registervm가상 머신를 등록한다.VBoxManage modifyvm가상 머신를 수정한다.VBoxManage storagectl가상 머신의 storage controller 를 수정한다.VBoxManage createmedium가상 머신의 storage 에 사용할 이미지를 생성한다.VBoxManage storageattach가상 머신의 storage controller 의 storage 를 수정한다.VBoxManage startvm가상 머신을 시작한다.VBoxManage list vms가상 머신의 전체 리스트를 출력한다.VBoxManage list runningvms가상 머신의 실행중인 리스트를 출력한다.VBoxManage controlvm가상 머신을 컨트롤한다.VBoxManage unregistervm가상 머신을 등록 해지한다.
만약 CentOS 를 예를 든다면, 아래처럼 command 를 사용하면 된다.
아래 예제에서 CentOS7.2 대신에 자신의 입맛대로 편하게 이름을 만들면 된다.


가상 머신를 생성한다.
만약 --register 옵션을 추가하면 등록도 같이 한다.
% VBoxManage createvm --name CentOS7.2 --register

가상 머신를 등록한다.
% VBoxManage registervm Cent…