728x90
Jenkins Job 에서 kubectl 을 사용하는데 위와 같은 에러가 났다. 신기한 것은 동일한 명령을 로컬에서 하면 잘 된다. 거의 반나절 삽질하다 찾은 원인을 공유한다.
결국 yaml 파일에 문제가 있었던 것인데 나는 ingress 부분이었다. ingress 정의시 spec.rules.host 항목 마지막에 공백이 포함되었던 게 문제였다. 예를 들어 에러가 났던 ingress yaml 파일은 아래와 같다.
그런데 로컬에서는 왜 잘 됐나? kubectl 버전에 따라 이를 trim 처리해서 잘 처리하는 버전이 있고 에러를 리턴하는 버전이 있는 것 같다. 문제 없이 처리되었던 로컬환경의 kubectl 버전을 보니 1.20.4 였고 Jenkins에서 사용하던 kubectl 버전은 1.21.1 이었다. 상위버전으로 올라가면서 체크조건이 더 엄격해진거 같다.
할 것도 많은데 오늘은 이걸로 반나절을 날렸다...
728x90
'Backend > Docker, Kubernetes' 카테고리의 다른 글
ingress apiVersion networking.k8s.io/v1 (0) | 2022.03.08 |
---|---|
ingress 413 Request Entity Too Large (0) | 2022.01.18 |
docker-compose 로 로컬 카프카 띄우기 (0) | 2021.12.30 |
Deployment 적용시 ORA-01882: timezone region not found (0) | 2021.09.29 |
ingress https 설정 (0) | 2021.09.02 |