표준 UNIX 명령을 사용하여 OpenShift를 포트 포워딩하는 방법은 무엇입니까?

표준 UNIX 명령을 사용하여 OpenShift를 포트 포워딩하는 방법은 무엇입니까?

OpenShift Origin 클라이언트 도구는 포트 전달을 허용합니다(예 oc port-forward postgresql-1-a7hrv 5432: 명령).

그러나 내 데이터베이스 백업은 FreeBSD 상자에서 수행되었습니다. 확실히오크*BSD에서는 도구를 사용할 수 없으며 어쨌든 표준 명령을 사용하고 싶습니다.

oc port-forwardFreeBSD에서 동일한 작업을 수행하고 해당 데이터베이스에 액세스하려면 어떻게 해야 합니까 ?

답변1

SSH 포트 포워딩을 사용해야 한다고 생각합니다. 제가 올바르게 이해했다면, postgresql-1-a7hrv라는 서버에 PostgreSQL이라는 데이터베이스가 있고 포트 5432에서 실행되고 있는 것입니다. 이렇게 하려면 다음 명령을 사용하여 SSH를 통해 이 서버에 연결해야 합니다.

ssh -L 127.0.0.1:5432:127.0.0.1:5432 user@postgresql-1-a7hrv

그러면 포트 5432에서 로컬(127.0.0.1)로 데이터베이스에 액세스할 수 있습니다. 이는 PostgreSQL 데이터베이스가 원격 서버의 127.0.0.1에서 수신 대기하고 있다고 가정합니다. 그렇지 않은 경우 행을 다음으로 변경합니다(여기서 wxyz는 PostgreSQL 서버가 수신 대기하는 IP입니다). ssh -L 127.0.0.1:5432:w.x.y.z:5432 user@postgresql-1-a7hrv

답변2

컨테이너를 사용하는 것 외에 컨테이너에 직접 연결하는 유일한 방법은 oc port-forwardLoadBalancer 또는 NodePort를 통해 노출하는 것입니다. 라우팅은 선택한 프로토콜(HTTP/HTTPS)에서만 작동합니다. Postgres에는 LoadBalancer 또는 NodePort가 필요합니다. 여기 문서를 참조하세요:

https://docs.openshift.org/latest/dev_guide/expose_service/index.html

공개되면 이를 사용하여 컨테이너에 SSH로 연결하고 FreeBSD 상자에서 필요한 모든 작업을 수행할 수 있습니다.

관련 정보