-
[젠킨스] 쿠버네티스 agent 설정DevOps/Jenkins 2023. 10. 30. 13:21
1. 플러그인 설치
공식 문서
https://plugins.jenkins.io/kubernetes/
Jenkins -> Manage Jenkins -> Pugins -> Available Plugins -> Kubernetes 검색 ( Delivery pipeline도 설치)
2. 쿠버네티스 설정
Jenkins -> Manage Jenkins -> Pugins -> System Configuration -> Cloud
New cloud 버튼 클릭
클라우드 네임 설정 후 Type에 Kubernetes 선택후 create -> 목록에서 생성한 클라우드 네임 클릭Kubernetes Cloud Details 버튼 클릭
1. Kubernetes URL 지정 ( /etc/hosts 또는 아이피 그대로 )
2. Kubernetes Namespace 워커를 생성할 namespace 지정
3. Credentials ADD
Add 버튼 클릭 -> kind Secret file 선택 -> ~/.kube/config 파일을 복사하여 file에 올린다음 Add)
4. Kubernetes Namespace 워커를 생성할 namespace 지정
젠킨스 파드나 서비스의 IP
젠킨스 : 8080 포트 ( 별도로 포트를 변경하지 않은경우 )
Jenkins tunnel : 50000포트 ( 별도로 포트를 변경하지 않은경우 )
tunnel은 agent와 통신하기위한 포트이다.
DashBoard -> Manage Jenkins -> Security -> Agents 포트를 Fixed 50000으로 설정한다.
3. agent 동작 체크
설정한대로 동작하는지 확인하기위해 Dashboard -> New Item을 생성한다.
Item 이름 설정 후 Pipeline으로 프로젝트를 생성한다.
pipeline 하단에 선언형으로 파드를 생성하고 동작하도록 누르고 자동으로 생성된 샘플코드를 그대로 저장한다.
maven으로 해도 되지만 xml은 가독성이 현저히 떨어진다.
( 혹시 kubernetes가 안보이는 경우 플러그인 설치하고 재부팅하면 보인다. )
위에서 설정한 cloud namespace에서 agent 파드가 생성되며 작업이 실행된다.
작업 완료후에는 자동으로 파드가 없어진다.
특징
1. 항시 agent가 떠서 리소스를 차지하고 있을 필요가 없고 필요할때마다 파드가 생성되어 작업을 수행할 수 있다.
2. 젠킨스에서 쿠버네티스 플러그인을 지원하기때문에 어렵지않게 agent를 생성하여 작업을 진행할 수 있다.
3. 파드 템플릿 미리 커스텀 후 불러와서 pipeline script에서 사용가능
4. 템플릿 불러와서 오버라이딩하여 사용 가능 (inheritFrom)
그 밖의 기능은 문서를 참조해서 사용할 수 있다.
https://plugins.jenkins.io/kubernetes/
'DevOps > Jenkins' 카테고리의 다른 글
[젠킨스] 도커없이 K8S에서 도커 이미지 빌드 (0) 2023.11.09 [젠킨스] 작업내용 슬랙 알림 (0) 2023.10.31 [젠킨스] 깔끔한 UI/UX 플러그인 (0) 2023.10.30 [젠킨스] 쿠버네티스에 젠킨스 설치 (0) 2023.10.29