몇 개의 Linux 노드로 구성된 작은 클러스터가 있습니다. 공유 NFS가 있고 모든 노드에 공유 SSH 키가 있는 동일한 사용자 계정이 있지만 각 노드에는 자체 파일 시스템과 구성이 있습니다.
중앙 노드에서 모든 노드의 구성을 제어할 수 있기를 원합니다. 일반적인 구성은 대부분 사용자 디렉토리와 /etc
또는 에 있는 구성 파일로 구성됩니다 /opt
. 때로는 모든 노드에 동일한 패키지를 설치하거나 다른 셸 명령을 실행해야 할 때도 있습니다.
이는 엔터프라이즈 수준의 자동화 시스템이나 기타 복잡한 설치를 거의 정당화하지 않는 소규모 클러스터입니다. 시도하고 테스트한 다른 방법(가급적 가볍고 오픈 소스인 방법)이 있습니까? 아니면 BASH/SSH 해킹을 직접 기반으로 합니까? 감사해요.
답변1
솔트스택을 적극 추천합니다. 유연하고 확장 가능하며 가볍고 무료입니다.
답변2
앤서블홈브류를 사용하여 Linux 또는 Mac OS X에서 제어하는 경우 트릭을 수행해야 합니다. 제어 시스템에는 Windows가 지원되지 않습니다. Linux 노드에는 SSH와 Python이 필요하지만 대부분의 Linux 배포판은 기본적으로 Python을 설치하므로 이미 다루었을 것입니다. 당신이해야 할 일은설치하다마스터에서 ansible을 사용할 수 있습니다. 이는 쉬울 것입니다.
23분부터 보세요빠른 시작 비디오더 나은 아이디어를 얻기 위해. 저도 한번 보시는걸 추천드려요임시 명령 소개문서의 섹션:
그룹의 모든 서버(이 경우 atlanta)에서 10개의 병렬 포크로 명령을 실행합니다.
$ ansible atlanta -a "/sbin/reboot" -f 10
패키지가 설치되어 있는지 확인하되 업데이트하지 마세요.
$ ansible webservers -m yum -a "name=acme state=installed"
파일을 여러 다른 서버로 직접 전송하려면:
$ ansible atlanta -m copy -a "src=/etc/hosts dest=/tmp/hosts"
모든 웹서버에서 서비스가 시작되었는지 확인하세요.
$ ansible webservers -m service -a "name=httpd state=started"
또한 일부예플레이북의.
답변3
답변4
노력하다예상하다스크립트. 이는 여러 컴퓨터에서 동일한 작업 실행을 자동화하는 좋은 방법입니다.
예상 스크립트를 사용하면 각 시스템에 수동으로 로그인하여 동일한 작업을 반복해서 수행할 필요가 없습니다. 나는 모든 컴퓨터에서 사용자의 비밀번호를 변경하거나 각 컴퓨터에서 확인 스크립트를 실행하는 등의 작업에 사용합니다.