Kubernetes 환경에서 teka-picker-fe 프론트엔드를 HTTPS로 배포하는 과정에서 다음과 같은 주요 문제들이 발생했고, 이를 해결하기 위한 모든 과정들을 아래와 같이 정리함.
nslookup kubernetes.default 명령어가 실패kubectl get pods -n kube-system 결과로 확인)kubectl apply -f https://k8s.io/examples/admin/dns/coredns.yamlcert-manager.io/cluster-issuer annotation 설정했으나 인증서 발급되지 않음--values 또는 values.yaml을 지정하지 않아 cluster-issuer 값이 letsencrypt-로 끝나는 잘못된 값으로 처리됨values.yaml에서 global.environment: staging 설정 명시cert-manager.io/cluster-issuer: letsencrypt-staging 으로 정상 설정됨Successfully created Certificate 확인http://ddoachi.synology.me 접속 불가curl 또는 브라우저 접속 시 연결 거부됨LoadBalancer 대신 NodePort 사용으로 인해 인증 실패cert-manager 인증이 Pending 상태에서 멈춤<pending> 상태LoadBalancer 타입 사용이 불가능한 구조 (MetalLB 등 외부 LoadBalancer 미설치)ingress-nginx-controller 서비스를 NodePort 타입으로 수동 변경kubectl edit svc ingress-nginx-controller -n ingress-nginx80 → 30363, 443 → 32313 매핑https://ddoachi.synology.me/tekapicker-staging 접속 가능/tekapicker-staging/assets/...가 실제 pod의 /assets/...로 rewrite되지 않음Ingress에 다음 annotation 추가nginx.ingress.kubernetes.io/rewrite-target: /$2path 정의를 아래처럼 수정path: /tekapicker-staging(/|$)(.*)
pathType: Prefixhelm upgrade teka-picker-fe ./helm -n tekapicker-staginghttps://ddoachi.synology.me/tekapicker-staging 으로 접속 시 정상 렌더링 및 HTTPS 연결 확인됨READY=True, static asset 로딩 정상, rewrite 문제 해결 완료