[팁] AWS ec2의 user_data 이용하여 ansible 실행을 할 경우

72 views
Skip to first unread message

문태준

unread,
May 25, 2017, 1:32:16 AM5/25/17
to sysadminstudy
ansible을 직접 실행할 때는 문제가 없지만 ec2의 user_data 를 이용하여 실행을 할 때에는 remote_tmp, local_tmp 설정이 없는 경우 문제가 있었습니다.
http://docs.ansible.com/ansible/intro_configuration.html#local-tmp
http://docs.ansible.com/ansible/intro_configuration.html#remote-tmp

해당 설정은 ansible 에서 사용하는 임시디렉토리 설정인데  아래와 같이 명시적으로 넣어주지 않은 경우 ansible-playbook을 실행하는 디렉토리에 .ansible/tmp 파일을 만들었습니다.

cat > ~/.ansible.cfg << EOF
[defaults]
remote_tmp     = $HOME/.ansible/tmp
local_tmp      = $HOME/.ansible/tmp
EOF

그래서 ansible 에서 file copy 등을 할 때 임시디렉토리에서 소스를 못 찾아서 에러가 나는 경우가 있었습니다.

http://wiki.tunelinux.pe.kr/display/sysadmin/Ansible#Ansible-ec2의user_data이용하여실행을할경우

Taejoon Moon

unread,
May 25, 2017, 1:37:37 AM5/25/17
to sysadm...@googlegroups.com
팁 하나 더.

새로운 role을 만들 경우 ansible-galaxy 에서 init 명령을 이용하연 skeleton 을 이용하여 새로운 role 구성을 해주기 때문에 편리합니다.

$ ansible-galaxy init mytest
.
`-- mytest
    |-- README.md
    |-- defaults
    |   `-- main.yml
    |-- files
    |-- handlers
    |   `-- main.yml
    |-- meta
    |   `-- main.yml
    |-- tasks
    |   `-- main.yml
    |-- templates
    |-- tests
    |   |-- inventory
    |   `-- test.yml
    `-- vars
        `-- main.yml

그런데 role sekleton 을 변경해서 쓰면 더 편리하겠지요. 이에 대해서는 Using a Custom Role Skeleton 내용 참고.

http://docs.ansible.com/ansible/galaxy.html#using-a-custom-role-skeleton

$ ansible-galaxy init --role-skeleton=/path/to/skeleton role_name

2017년 5월 25일 오후 2:32, 문태준 <taejoo...@gmail.com>님이 작성:

--
이 메일은 Google 그룹스 'sysadminstudy' 그룹에 가입한 분들에게 전송되는 메시지입니다.
이 그룹에서 탈퇴하고 더 이상 이메일을 받지 않으려면 sysadminstudy+unsubscribe@googlegroups.com에 이메일을 보내세요.
이 그룹에 게시하려면 sysadm...@googlegroups.com에 이메일을 보내세요.
https://groups.google.com/group/sysadminstudy에서 이 그룹을 방문하세요.
더 많은 옵션을 보려면 https://groups.google.com/d/optout을(를) 방문하세요.

Reply all
Reply to author
Forward
0 new messages