• 카테고리

    질문 & 답변
  • 세부 분야

    데브옵스 · 인프라

  • 해결 여부

    미해결

/etc/ansible/hosts 파일에 2개의 서버를 등록 했는데 1개의 서버만 통신이 됩니다.

20.01.07 15:31 작성 조회수 526

0

안녕하세요! 강의 잘 듣고 있습니다!

강의를 거의 다 듣고 나서 호스트 컴퓨터가 아닌 다른 컴퓨터에 가상머신에 2개의 서버를 설치해놨습니다.

                                          [서버 정보]

서버1 [centos8]                       |             서버2 [centos7]

ip: 203.252.231.35               |             ip:203.252.231.35

port:7021                                 |             port:7022

그리고 호스트컴퓨터에 ansible을 설치하여 /etc/ansible/hosts파일에

.....

....

[centos8]

203.252.231.35:7021

[centos7]

203.252.231.35:7022

....

....

이렇게 설정을 해놓고 ansible -m shell -a "wall hello world" -k 명령어를 실행시켰더니

첫번째로 등록한 203.252.231.35:7021 으로만 명령이 실행이 됩니다.

이 경우도 멱등성때매 이렇게 되는건가요???

답변 7

·

답변을 작성해보세요.

0

네 해결되셨다니 다행이네요 

0

cjucifrar님의 프로필

cjucifrar

질문자

2020.01.09

조언 감사합니다!!

제가 hosts파일에 방법을 잘못한것 같습니다

alias를 사용하여

centos8 ansible_port=7021 ansible_host=203.252.231.35

centos7 ansible_port=7022 ansible_host=203.252.231.35

이런식으로 해봤더니 문제없이 잘 해결되었습니다! 감사합니다!

0

근데 custom port만 가지고 해결될지는 모르겠네요 

0

생각해 보니 뒤에 과정에 윈도우 부분(winrm)에서..hosts에 port를 따로 선언해주는게 있었는데요..

위와 같이 custom port를 선언하지 않습니다. 

ssh가 아닌 winrm 부분을 찾아보시고 해당 부분을 응용하시면 될꺼 같네요. 

조훈 드림. 

0

안녕하세요 

우선 해당 내용을 교육범위를 벗어나는거 같은데요...(Port forward 구성...)

그렇긴 한데요..

기존에 말씀드린 것 중에 

1.ssh ip:port 로그인이 되는지 -> okay 

2.그렇다면 포트베이스로 구분이 되는지 테스트

3. 여러가지로 조건으로 어디가 문제인지 찾아야 함

#2,3번의 테스트는 어떻게 되신건지요?

저도 이걸해결 하려면 동일한 구성을 해서 테스트해보거나 port로 /etc/ansible/hosts에서 port를 읽어드리는 부분이

어떻게 동작하는 검색을 해봐야 할거 같은데요?

그게 #2,3번 과정인데요..제가 그걸 대신해 드리기는 어려울 것 같습니다. 

찾아 보시고 이해가 안되는 부분은 조언해드릴수도 있을수도 있는데요. 

찾아서 문제해결까지는 도와드리기 어려울꺼 같네요. 

조훈 드림. 

0

cjucifrar님의 프로필

cjucifrar

질문자

2020.01.08

안녕하세요 강사님 일단 제가 설명을 잘 못한거 같아 죄송합니다...

일단 저는 VMware NAT 환경에서 포트 포워딩을 이용하여 서버를 구성하였고 간략하게 그림으로 먼저 보여드리고 밑에서 설명하겠습니다.

가상머신이 깔려있는 컴퓨터의 Vmware에 아래 사진 처럼 2개의 가상머신이 존재합니다,

그리고 2개의 가상서버에 ip를 아래 사진 처럼 설정해주었습니다,

이렇게 설정해서 Ansible server컴퓨터에서

ssh root@가상머신이 깔려있는 컴퓨터IP -p 7021 을 입력하면

192.168.130.134:22 로 연결이 되어 외부에서도 Centos8으로 ssh 로그인이 가능합니다.

ssh root@가상머신이 깔려있는 컴퓨터IP -p 7022 을 입력하면

192.168.130.136:22 로 연결이 되어 외부에서도 Centos7으로 ssh 로그인이 가능합니다.

이렇게 ssh로 따로 로그인을 시도 해도 각자 다른서버로 로그인이 되어지는데

/etc/ansible/hosts파일에 

.....

....

[centos8]

203.252.231.35:7021

[centos7]

203.252.231.35:7022

....

....

이렇게 넣어주고 ansible all -m ping -k 를 하면 [centos8]그룹만 ping이 실행이 되고 [centos7]그룹은 무시가 됩니다.

[centos8]을 지우고 실행하면 [centos7]만 존재하므로 이 경우에는 [centos7]으로 ping이 실행이 됩니다.

0

안녕하세요

어떤 환경이신지 잘 이해가 가진 않되긴 하는데요..앤서블의 실행은 ssh 로그인 이후에 실행이라도 보셔야하는데요. 같은 ip에 다른 포트로 ssh 로그인이 되나요?

그게 다른 서버로 인식할수 있는지 부터 좀 봐야할꺼 같아요 port를 인식해서 구분하는지도 좀 불분명해서요.

따라서 우선적으로 확인해야 할 것은

1.ssh ip:port 로그인이 되는지

2.그렇다면 포트베이스로 구분이 되는지 테스트

3. 여러가지로 조건으로 어디가 문제인지 찾아야 함

일꺼 같네요.

테스트 해봐야 아마 알꺼 같아요. 위의 내용 확인해 보시겠어요? 

조훈 드림