Jenkins

[Jenkins] K8s - Found class io.fabric8.kubernetes.api.model.VolumeFluent$EmptyDirNested, but interface was expected

비번변경 2023. 12. 4. 17:01

개요

사용하고 있는 AWS EKS의 Kubernetes 1.24 버전이 2024년 1월에 EOS 될 예정이라 버전 업그레이드가 필요한 상황이다.

따라서 업그레이드 작업 전 테스트 클러스터에서 서비스가 정상적으로 동작하는지 검증하는 과정을 진행하고 있다. 그중 Jenkins Pipeline이 정상적으로 동작하지 않았던 내용을 기록해 둔다.

 

 

현상

운영 환경에서 정상적으로 동작하는 Pipeline을 복사하여 빌드하면 아래와 같은 출력과 함께 장시간 대기한다. 

Pipeline은 kubernetes Agent에서 동작하도록 구성되어 있어 실행하면 Pipeline 동작을 위한 Pod가 생성되어야 했는데 Pod도 생성이 되지 않았다.

달리 확인할 부분이 없어 Jenkins 포드의 Jenkins 컨테이너 로그를 확인해 보니 아래와 비슷한 로그와 관련된 부분이 원인으로 보였다.

참고로 동작 환경은 다음과 같다.

  • AWS EKS
  • Kubernetes 1.27
  • Jenkins 2.414.1

 

 

해결

참고 : https://community.jenkins.io/t/error-while-launching-agent/9385

구글링을 해보니 같은 현상을 경험한 사례가 있었다. 작성자는 GKE / Kubernetes 1.27에서 Jenkins 2.401.3에서 현상을 확인했는데. kubernetes 플러그인 3937.vd7b_82db_e347b_ 을 사용하고 있었다고 한다.

그리고 현재 사용 중인 Jenkins의 kubernetes 플러그인도 3937.vd7b_82db_e347b_ 였다.

아무래도 해당 버전의 플러그인에 문제가 있는 것 같아 플러그인 버전을 웹에서 업그레이드할 수 있는 4054.v2da_8e2794884로 업그레이드했고, Pipeline이 정상적으로 동작했음을 확인했다. 아무래도 기존 플러그인 버전이 Kubernetes 1.27에서 제대로 동작을 안 하는 것 같다.

 

 

참고 문서

https://docs.aws.amazon.com/eks/latest/userguide/kubernetes-versions.html

https://community.jenkins.io/t/error-while-launching-agent/9385