방금 Amazon에서 Joyent로 이동하고(이유는 중요하지 않음) Chef Server를 설정하면서 다음과 같은 문제를 발견했습니다.
아시다시피 Chef는 라우팅 테이블에 따라 IP 주소를 설정합니다. 그래서 제 경우에는 클라이언트에서 서버로 알려주는 IP가 제 공인 IP입니다.
클라이언트에서 알려준 IP 및 FQDN을 사용하여 /etc/hosts 파일을 동적으로 작성하는 방법이 있습니다. 문제는 개인 IP를 사용해야 로컬 컴퓨터에 도달하는 모든 트래픽이 실제로 로컬이 된다는 것입니다.
Host.erb 템플릿 파일을 사용해 보았지만 node['network']['ipaddress_eth1']
작동하지 않습니다.
내가 놓치고 있는 클라우드는 무엇인가요? 내 개인 IP를 사용하여 호스트 파일을 작성하는 다른 방법이 있습니까?
감사해요
업데이트
실제로 내가 찾고 있는 것을 찾는 방법이 있습니다.셰프:
chef > asdf = node['network']['interfaces']['eth1']['addresses'].keys.select { |a| a[/\A\d+\.\d+\.\d+\.\d+\Z/] }.first
그러면 내 eth1의 IP 주소가 반환됩니다.
답변1
이 문제를 해결하기 위해 나는ipaddr_extensions 보석그런 다음 추가개인 주소ohai에 대한 속성입니다.