안녕하세요.
해당 서버(Tencent Tokyo, 43.130.246.201)의 상태를 확인했습니다.
원인:
ingress-controller 구성 요소가 STARTING 상태에서 멈춰 있습니다(한 번도 성공적으로 시작되지 않았으며 타임스탬프가 1970-01-01에 고정됨). 이로 인해 서버의 모든 서비스에 외부에서 접근할 수 없는 상태입니다. 다른 시스템 구성 요소(DNS, log-api, fluent-bit, node-exporter 등)는 정상적으로 작동 중이며 리소스도 충분(CPU 10%, 메모리 50%)하므로 리소스 부족 문제는 아닙니다.
재시작 및 여러 번의 "Zeabur 시스템 구성 요소 재설치"가 실패하는 이유는 ingress-controller가 시작될 때마다 동일한 원인으로 차단되기 때문입니다. 과거 유사 사례를 볼 때 가장 흔한 원인은 서버 호스트의 다른 프로그램이 80 또는 443 포트를 점유하고 있는 경우(예: 시스템 기본 nginx가 재부팅 후 자동 시작됨)이며, 이로 인해 ingress-controller가 포트를 바인딩하지 못하고 반복적으로 충돌(crash)이 발생합니다.
Zeabur의 k3s는 다음 포트를 독점적으로 사용해야 합니다.
| Port | 용도 |
|---|
| 80 | HTTP |
| 443 | HTTPS (ingress-controller) |
| 4222 | Zeabur 관리 통신 |
| 6443 | Kubernetes API |
| 30000–32767 | NodePort |
다음 문제 해결 단계를 도와주세요:
- 서버에 SSH로 로그인한 후 다음을 실행하세요:
sudo ss -tlnp | grep -E ':(80|443)\b'
sudo lsof -i :80
sudo lsof -i :443
nginx, apache 또는 다른 프로그램이 80/443 포트를 점유하고 있다면, 해당 프로그램을 중지하고 비활성화하세요(nginx 예시):
sudo systemctl stop nginx && sudo systemctl disable nginx
- 중지 후 1~2분 정도 기다리면 ingress-controller가 자동으로 다시 바인딩되어 복구되며, 모든 서비스가 정상 상태로 돌아옵니다.
80/443 포트가 점유되지 않은 경우, 다음 명령어의 출력 결과를 붙여넣어 주시면 pod 수준의 구체적인 오류를 계속 조사하겠습니다:
sudo k3s kubectl -n zeabur get pods -o wide | grep ingress
sudo k3s kubectl -n zeabur describe pod <ingress-pod-name>
sudo k3s kubectl -n zeabur logs <ingress-pod-name> --previous