Ansible이 설치되어 있는 서버에 쿠버네티스를 사용하고 있는 host의 주소를 적어줍니다.
ansible -i {hosts 파일 경로} {hosts 그룹 이름} -m ping -u {사용자 이름}
명령어를 이용해 사전에 Ansible서버와 쿠버네티스 호스트가 통신을 할 수 있는지 ping module을 활용해 테스트 해줍니다.
kubernetes service, deployment를 생성할 playbook yml을 작성해줍니다.
Ansible에서 직접 컨트롤 하는것이 아닌 kubernetes호스트에 접속하여 미리 작성된 yml을 실행해 줍니다.
ansible-playbook -i {hosts 파일 경로} {실행할 playbook yml} -u {대상 호스트 사용자 이름}
설정을 다 해준 뒤 playbook을 실행하면 Errno 2가 발생합니다.
이유는 Ansible서버가 쿠버네티스 호스트에서 kubectl이라는 명령어를 찾지못해서 발생하는 문제입니다.
kubectl 명령어를 절대 경로로 수정하여 실행하면 해결됩니다.
위에서 작성했던 것을 Jenkins의 Item을 생성해줍니다.