인프런 커뮤니티 질문&답변

배종원님의 프로필 이미지

작성한 질문수

Jenkins를 이용한 CI/CD Pipeline 구축

실습7) Jenkins + Ansible + Kubernetes 연동하기 ②

질문이 있습니다!

24.07.01 04:40 작성

·

121

0

현재 aws ec2에서 jenkins 서버를 만들고 그안에 ansible도 같이 설치해 놓았습니다.

다른 ec2에는 쿠버를 설치해놓고 젠킨스에 접속해서 kubectl apply로 yml 파일이 실행되는것은 확인하였습니다.

하지만 ansible 명령어인

ansible-playbook -i ./k8s/hosts /home/ec2-user/k8s-cicd-deployment-playbook.yml 과 같이 사용했을때는 안됩니다..

명령어를 ec2에 접속해서 직접 입력하면 쿠버에서 pod가 생성되는것을 확인하였는데 젠킨스 페이지에 접속해서 명령어를 사용하면

Running as SYSTEM
Building in workspace /var/lib/jenkins/workspace/22
[22] $ /bin/sh -xe /tmp/jenkins51145630571830578.sh
+ /usr/bin/ansible-playbook -i ./k8s/hosts /home/ec2-user/k8s-cicd-deployment-playbook.yml
ERROR! the playbook: /home/ec2-user/k8s-cicd-deployment-playbook.yml could not be found
Build step 'Execute shell' marked build as failure
Finished: FAILURE

이 오류가 뜹니다..

젠킨스와 ansible이 하나의 ec2안에 존재하기 때문에 k8s 처럼 ssh server를 잡아줄 필요가 없지 않나요?

답변 2

0

Dowon Lee님의 프로필 이미지
Dowon Lee
지식공유자

2024. 07. 09. 08:45

안녕하세요, 이도원입니다.

ansible에서 다른 Host로 정보를 요청하기 위해서는 기본적으로 ssh 통신을 사용하게 됩니다. ssh 통신을 하는데 필요한 계정이나 인증정보 방화벽등에 문제가 없는지 확인해 보세요.

라고 답을 드릴려고 했는데, 답변 드리기 전에 답을 찾으신것 같네요. ^^

감사합니다.

0

배종원님의 프로필 이미지
배종원
질문자

2024. 07. 02. 01:00

해결했습니다