
Kubernetes(Rancher로 관리되는 k3)에 Postgres를 설정했는데 제대로 작동하는 것 같지만 데이터베이스를 살펴보기 위해 pgadmin4 포드를 추가하려고 했습니다.
dpage/pgadmin4
먼저 추가 구성(포트 80의 노드 포트와 PGADMIN_DEFAULT_EMAIL 및 PGADMIN_DEFAULT_PASSWORD env var 제외) 없이 이미지를 추가하려고 시도했지만 아래 오류가 발생하고 그 이후로 몇 가지를 시도했습니다.
0.0.0.0
IPv6가 지원되지 않는 경우 PGADMIN_LISTEN_ADDRESS env var를 로 설정하세요.- /var/lib/pgadmin에 대한 볼륨 마운트(longhorn에서) 추가
다음 로그 메시지와 함께 포드가 시작되지 않습니다.
NOTE: Configuring authentication for SERVER mode.
sudo: effective uid is not 0, is /usr/bin/sudo on a file system with the 'nosuid' option set or an NFS file system without root privileges?
[2022-03-30 08:27:31 +0000] [1] [INFO] Starting gunicorn 20.1.0
[2022-03-30 08:27:31 +0000] [1] [ERROR] Retrying in 1 second.
[2022-03-30 08:27:32 +0000] [1] [ERROR] Retrying in 1 second.
[2022-03-30 08:27:33 +0000] [1] [ERROR] Retrying in 1 second.
[2022-03-30 08:27:34 +0000] [1] [ERROR] Retrying in 1 second.
[2022-03-30 08:27:35 +0000] [1] [ERROR] Retrying in 1 second.
[2022-03-30 08:27:36 +0000] [1] [ERROR] Can't connect to ('0.0.0.0', 80)
두 가지 문제가 있는 것 같습니다.
- 사용자 ID 5050으로 시작하는 pgadmin4에서 발생하는 sudo 오류이지만 이 문제를 해결하는 방법을 모르겠습니다.
- gunicorn이 포트 80에서 수신 대기할 수 없습니다.
저는 Kubernetes에 대해 잘 알지 못해서 어떤 옵션을 수정해야 할지 모르겠습니다.
도움을 주셔서 미리 감사드립니다.
답변1
이 문제를 직접 해결한 후 Rancher를 사용하는 Kubernetes에서 시작하려면 초기화 컨테이너가 필요하다는 사실을 발견했습니다. 이는 UI에서 까다로울 수 있지만 이에 접근하려면 워크로드 섹션으로 이동해야 합니다. (타원을 클릭하세요). pgadmin 볼륨을 특정 위치에 마운트해야 합니다. 안전을 위해 /var/lib/pgadmin이라고 하겠습니다.
이미지 busybox를 사용하고 다음 명령을 실행합니다.
chown -vR 5050:5050 /var/lib/pgadmin
그런 다음 배포 환경 변수를 1024보다 높은 값으로 설정하려고 합니다. 저는 환경 변수를 사용하여 5050을 선택했습니다.
PGADMIN_LISTEN_PORT: 5050