Ansible - Kubernetes 연동하여 배포하기 (errno 2 No such file or deriectory: b'kubectl' 문제 해결)

salgu·2023년 1월 7일
0

kubernetes

목록 보기
4/16
post-thumbnail



Ansible 세팅


hosts 파일 작성

Ansible이 설치되어 있는 서버에 쿠버네티스를 사용하고 있는 host의 주소를 적어줍니다.

ping 테스트

ansible -i {hosts 파일 경로} {hosts 그룹 이름} -m ping -u {사용자 이름} 

명령어를 이용해 사전에 Ansible서버와 쿠버네티스 호스트가 통신을 할 수 있는지 ping module을 활용해 테스트 해줍니다.

service, deployment를 생성할 playbook yml 작성

kubernetes service, deployment를 생성할 playbook yml을 작성해줍니다.
Ansible에서 직접 컨트롤 하는것이 아닌 kubernetes호스트에 접속하여 미리 작성된 yml을 실행해 줍니다.




errno 2 No such file or deriectory: b'kubectl' 문제 발생


playbook 실행, Errno 2 발생

ansible-playbook -i {hosts 파일 경로} {실행할 playbook yml} -u {대상 호스트 사용자 이름}

설정을 다 해준 뒤 playbook을 실행하면 Errno 2가 발생합니다.
이유는 Ansible서버가 쿠버네티스 호스트에서 kubectl이라는 명령어를 찾지못해서 발생하는 문제입니다.

playbook 실행, Errno 2 해결

kubectl 명령어를 절대 경로로 수정하여 실행하면 해결됩니다.




Kubernetes 세팅


deployment 생성 yml 작성

service 생성 yml 작성



deployment 생성


deployment 생성

deployment 확인




serivce 생성


service 생성

service 확인




Jenkins Item 생성


위에서 작성했던 것을 Jenkins의 Item을 생성해줍니다.




결과


배포한 어플리케이션 확인

profile
https://github.com/leeeesanggyu, leeeesanggyu@gmail.com

0개의 댓글