구축 대상 및 장비 대수가 늘어나면서 ssh 명령만으로 여러 장비를 관리하는 것이 쉽지는 않습니다
스크립트를 통해서 ... 반복적이고 귀찮은 작업들을 줄일수 있지만
사실 한계가 있다고 생각하네요.
하지만 chef의 knife를 잘 이용해서 병렬로 ssh 명령을 내리고 스크립트를 잘 활용하면.. 좋지 않을까 싶네요
사용법 : $ knife ssh SEARCH_QUERY SSH_COMMAND (options)
여기서 "SEARCH_QUERY" 이 부분이 이해하기가 어려웠는데...
node를 검색하는 규칙이라고 생각하면 쉽겠네요
아래를 예를 들면 name 이름을 기준으로 : * 모든 node를 출력한다는 의미
마찬가지로 role,recipe,role 기준으로 SERACH_QUERY를 만들수 있다
ex) [root@chefserver ~]# knife ssh name:* "cat /etc/redhat-release" -P "password"
chefclient02.wlstn.com CentOS release 6.3 (Final)
chefclient01.wlstn.com CentOS release 6.3 (Final)
SSH
For help type:
knife ssh –help
-a = attribute that’s not FQDN ( example is ipaddress )
-x = username to login with
-P = password
-E = environment
This will ssh with the attribute: ipaddress ( default is to use hostname ) with user “root” and password “none” and execute for all system with role “webserver”
$ knife ssh -a ipaddress -x root -P none ‘role:webserver’ ‘uptime’
‘name:host1*’ = query names that match host1*
‘uptime’ = command to run
The following would run chef client on all of your nodes
$ knife ssh ‘name:*’ ‘sudo chef-client’
The following would run chef client on all the nodes with the role “webapp”
$ knife ssh ‘role:webapp’ ‘sudo chef-client’
ssh to single node:
$ knife ssh ‘name:webserver01′ ‘sudo chef-client’
Run chef client on all nodes with role ”webapp” in environment “dev”
$ knife ssh -E dev ‘role:webapp’ ‘sudo chef-client’
'나만의 Cloud' 카테고리의 다른 글
[git] git란? (0) | 2014.04.23 |
---|---|
[chef] chef 서버가 IP가 변경 시 (0) | 2014.02.13 |
[Razor] puppetlabs razor provisioning (0) | 2013.12.23 |
[펌]CloudStack 시스템 VM (0) | 2013.10.24 |
[Xenserver] Xenserver의 구조 (0) | 2013.10.21 |