복습
구성 관리 도구 특징
- 선언적 : 절차 X, 최종 상태 선언 O
- 추상화 : 자세하게 X
- 수렴화 : 원하는 상태로 수렴
- 멱등성 : 동일한 실행을 여러번 해도 최종적으로 수렴한 상태에 이름
- 간소화 : 복잡하지 않고 단순화
Ansible
- site.yml
- Inventory
: 호스트의 목록 또는 그룹을 지정하는 파일
- Role/task
: 여러개의 Role 존재
> site.yml에서 정의
> Role을 적용하기 위한 대상 = 인벤토리
구성 관리 도구 : 구축/설정 변경을 효율화 하기 위한 것
인프라 구축 테스트의 IaC
Serverspec(http://serverspec.org)
- 구축과 설정이 완료 되면 배포 등을 거친 후 테스트 수행
기존 테스트 수행 방법
: 절차서 및 파라미터 시트 준비
> 별도의 테스트 케이스와 테스트 절차서 마련
> 개별 테스트 수행
~> 인적 오류(속인성 배제 불가능)
테스트의 코드화
: 테스트 코드 => 테스트 케이스
: 테스트 코드(=텍스트)의 활용 > 재활용, 변형, 버전 관리
: 테스트 코드(=텍스트) > 리뷰 가능
Serverspec의 특징
- 인프라 테스트의 IaC
- 테스트 항목에 대한 목록 : 정해진 형식으로 기술(작성)
- 테스트 결과 : 리포트 형식으로 출력
Serverspec 역시 Ansible로 준비 가능
파일 방식
Host PS의 Vagrantfile이 위치한 곳의 파일들이 VM(Guest)의 /vagrant 디렉토리 내부에 존재하게 됨
양방향 동기화 : NFS, Samba
> 외부에서 파일이 변경 되면 Guest의 /vagrant 하위에 변경 사실이 적용
> Guest 내부에서 파일이 변경되어도 Host 파일에 변경 사실이 적용
> Samba의 경우 유료 서비스
단방향 동기화 : rsync
> Host에 있는 파일을 처음 한 번만 복사 해줌(1 회성)
> 내부 변경에 대한 것을 가져오기 위해서는 기타 작업이 필요
Infra Test 자동화하기
- Ansible을 통해 구축하고, 인프라 테스트까지 자동화
- site.yml > role에 serverspec_sample 추가
'DevOps' 카테고리의 다른 글
#9 Github Action (0) | 2025.06.11 |
---|---|
#8 Build Pipeline 관리 (0) | 2025.04.26 |
#6 IaC 개선(구성 관리 도구와 특징) (0) | 2025.04.26 |
#5 Github에서의 Issue관리 (0) | 2025.04.26 |
#4 VCS(버전 관리 시스템)과 Issue 관리 (0) | 2025.04.26 |