Ansible Molecule with Kind - 도커를 활용한 쿠버네티스 자동화 테스트 작성
Ansible Molecule with Kind - 도커를 활용한 쿠버네티스 자동화 테스트 작성
2022년 5월 26일
Ansible Molecule with KIND (Kubernetes IN Docker)
- Ansible Molecule은 Ansible roles를 가상화 기술을 통해 환경을 고립시켜서 환경 구성을 테스트할 수 있게 도와주는 도구.
- KIND는 Kubernetes 클러스터를 도커 컨테이너로 동작시켜주는 도구. 쿠버네티스 클러스터 위에서 리소스를 배치하고 리소스를 확인하거나 어플리케이션 동작을 검증하는 용도로 사용함. (ex, Helm Chart)
제약사항
- Docker Engine 설치
- KIND 설치
- Python libraries 설치
pip install molecule[docker,lint] molecule-docker!=0.3.4 openshift
- Ansible collections 설치
ansible-galaxy collection install community.kubernetes community.docker
테스트 시나리오 작성 및 실행
- Ansible role 생성
| |
- Molecule default 시나리오 초기화
| |
- KIND Config 매니페스트 파일 생성
| |
- Molecule default 시나리오 설정 수정
| |
- Molecule default 시나리오 생성 플레이북 수정
| |
- Molecule default 시나리오 삭제 플레이북 수정
| |
- Molecule default 시나리오 환경 구축 플레이북 수정
| |
- Molecule default 시나리오 검증 플레이북 수정
| |
- Molecule default 시나리오 테스트
| |
주의사항
- KIND는 base/node 이미지로 구성
k8s_info모듈은 리소스가 없어도 실패하지 않고 빈resources리스트를 반환함. 그래서 검증할 때는failed가 아니라resources의 길이를 확인해야 함.- PS. 이후
community.kubernetes컬렉션은kubernetes.core로 이름이 바뀌었으므로, 최신 버전에서는 컬렉션 이름을 바꿔서 사용해야 함.