소규모 협회를 위해 인프라를 실행하는 서버를 설정했습니다. 지금까지 Ansible을 사용하여 구성을 관리하려고 시도했지만 큰 성공을 거두지 못했습니다. 아마도 우리는 잘못하고 있습니다.
원칙적으로이 서버는 사람들이 푸른 달에 한 번만 추가하거나 변경하는 경우가 많으므로 대부분 서버를 그대로 두는 것입니다. 따라서 시스템을 관리하지 않는 사람들은 개요를 잃어 버릴 수 있기 때문에 (세부 사항 만 기억하면 됨) 서버에서 구성되고 실행되는 모든 내용이 잘 문서화되고 명확해야합니다. 또한 시간이 지남에 따라이 서버를 관리 할 사람 그룹의 구성이 변경됩니다 (사람이 '위원회'를 떠나고 참여함에 따라).
새로운 설치를 시작하면서 무언가를 설정하고 싶을 때마다 역할을 추가했습니다 (nginx, phpfpm, postfix, firewall, sftp, munin, ..). 아마도 우리의 경험이 없기 때문에 구성이 약간의 시행 착오 과정이기 때문에 가능한 한 일련의 가능한 작업을 한 번에 정확히 입력 할 수 없었습니다. 즉, 실제로는 일반적으로 서버 에서 실행하려는 서비스를 먼저 구성한 다음 가능한 작업으로 변환합니다. 어디로 가는지 알 수 있습니다. 사람들은 작업을 테스트 한 것을 잊어 버리거나 물건을 부러 뜨릴 위험이 있거나 그렇게하는 것을 두려워합니다.
오늘날 우리는 가능한 구성이 실제로 서버에 구성된 것을 반영한다는 확신이 거의 없습니다.
현재 세 가지 주요 문제가 있습니다.
- 방해 할 위험없이 가능한 작업을 테스트하는 것은 어렵습니다 (읽기 : 우리에게는 좋은 방법이 없습니다).
- 먼저 원하는 구성을 파악한 다음이를 가능한 작업으로 변환하는 방법을 알아내는 추가 작업이 추가됩니다.
- (이상적으로) 우리는 익숙 함과 일상을 쌓을 수있을만큼 자주 사용하지 않습니다.
여기서 중요한 고려 사항은 우리가 결국 무엇이든간에 초보자가 연습을하지 않고도 로프를 쉽게 배울 수 있다는 것입니다.
master
"사물을 구성하고 수행 한 작업을 적어 두십시오"가 제공하지 못하는 몇 가지 보증 및 검사 (Ansible 파일을 일부와 병합하는 것과 비교할 수 있음)를 여전히 제공하는 실행 가능한 대안이 있습니까?
편집 : 우리는 /etc
자식에 대한 커밋 을 고려했습니다 . 그런 식으로 비밀 (개인 키 등)을 보호 할 수있는 합리적인 방법이 있습니까? 그래도 서버 외부에서 구성 저장소를 계속 사용할 수 있습니까?