저는 Chef에서 NTP 서버를 실행하는 3 개의 인스턴스에서 NTP 프로토콜을 통해 시간을 가져 오는 bash 스크립트를 가지고 있습니다. 현재 코드는요리사의 bash 루틴을 어떻게 반복 할 수 있습니까?
if not node.run_list.roles.include?("ntp_server")
bash "ntpdate" do
code <<-EOH
/usr/sbin/ntpdate -s 10.204.255.15 10.204.251.41 10.204.251.21
EOH
end
end
입니다.이 코드는 정상적으로 작동합니다. 그러나 인스턴스 중 하나를 대체 한 경우 위의 코드에서 IP를 업데이트하는 데 필요한 수동 개입이없는 경우와 같은 작업을 자동화해야합니다.
이를 달성하기 위해 ntp_server 역할을 실행하는 인스턴스를 성공적으로 가져올 수있었습니다.
ntp_servers = search(:node, 'role:ntp_server')
이렇게 했더니 위 IP에 표시된 IP의 bash 서브 루틴에 코드를 추가 할 수 없습니다.
누군가 내가 그 사실을 어떻게 알았는지 알려줄 수 있습니까?
@Szymon에 감사드립니다. 비록 내가 의도 한 바를 해결할 수 있었지만 (아래 답변으로 추가), 당신의 의견을 답변으로 투표하기를 원합니다. – user5241806