Category Archives: Infra

Vagrant berkshelf 동작이 안되는 경우

vagrant도 ruby  기반이라서 내장 ruby gem을 가지고 있다

내장 ruby gem과 rbenv/rvm/그냥설치… 된 다양한 루비환경이 분리되어있기 때문에 생기는 문제

 

운이 좋으면 두개를 겹쳐서 설치해도 되는 경우도 있다.

명령어가 있는 gem은 설치시 path를 셋팅한다.

운이 좋으면 높은 우선순위를 잡아서 실행이 될수도 있다.

 

 

 

해결하려면 다른환경에 설치된 gem을 지우고 vagrant 내장 gem을 따로 설치 해 주면 된다.

gem uninstall chef chef-zero berkshelf knife-solo

맞나? 이거 대충써놨다가 수정하려니까 기억이 안난다.

딱봐도 아닌데… 이걸 지우는게 해결책일리가 없다.

 

vagrant 내장 gem을 설치해야할 것 같은데

다음에 생각나면 다시 해봐야겠다.

 

 

Vagrant에서 .bashrc source가 먹히지 않는 문제

오류상황

vagrant shell에서 rbenv가 안먹힌다.

vagrant ssh 접속해서 보니 설치가 잘 돼 있고 path도 잡혀있는데

vagrant 설치시에 command not found가 발생

source가 안먹히는건가? 라고 생각

 

검색해보니

키워드 :

  • vagrant
  • command not found
  • source
  • not working

맘에드는 대답이 안나왔는데… 찾다보니 이런게 보인다.

https://stackoverflow.com/questions/29628635/why-is-source-home-vagrant-bashrc-not-working-in-a-vagrant-shell-provisionin

.bashrc에 인터렉티브 쉘이 아닌경우 리턴을 시키는문구가 있다고?

 

ubuntu .bashrc를 확인

.bashrc의 맨 앞에 이런게 있다.

If not running interactively, don’t do anything.
인터렉티브 쉘이 아닌경우, 아무것도 하지마.

rbenv공식 메뉴얼에는 .bashrc에 패스를 잡으라고 돼 있었는데..(메뉴얼이 바뀐건가? bash_profile에 하라고 돼있네)
어쨌든 이전 메뉴얼대로 하면 안돌아간다.

위의 검색결과에 나오는 스택오버플로우에는
.bashrc에서 return명령을 없애라고 하는데… 필요해서 해놨겠지.. 이 방법은 안쓰겠다.
대신에 .bash_profile/.profile에서 패스를 잡고 source .profile을 하면 된다.
아니면 .custom_profile을 만들어서 임포트해도 되고 .profile.d/를 써도될듯

Ruby Version 관리 툴 – rvm.io rbenv

개요

rvm보다 가볍고 시스템에 영향을 주지 않는다(삭제하기쉽다)는 이유로 rbenv으로 루비 버전관리 툴의 대세가 넘어간 것 같다.

rvm

http://rvm.io 접속해서 스크립트로 설치

rbenv

설치는 좀 더 성가시다.
공식 주소 :
https://github.com/rbenv/rbenv
install명령을 쓰려면 이것도 깔아줘야한다 :
https://github.com/rbenv/ruby-build

ubuntu 17.04 desk

Load Balancing

개요

부하분산 방법

MSA
하드웨어방식 vs 소프트웨어 방식
예전에는 L4하드웨어방식만 썼는데 클라우드. 그리고 글로벌화되면서 상황이 좀 바뀌었다.

DNS

L$

L4
좋기야 하지.. 그런데 비싸다.
예전에는 많이 썼는데 요즘은??
클라우드에서도 L4를 지원해주긴하는데
속에서 몰래 소프트웨어방식으로 처리하는거 아닐까

Iptables

안해봤는데 될것같아

HaProxy

많이쓰는방법

ApacheHttpd – Proxy

Nginx – Proxy