두 개의 컨테이너가있는 포드가 있습니다. 응용 프로그램과 데이터베이스. 깍지 용 복제본 2 개가 있습니다.하나는 ClusterIP로, 다른 하나는 NodePort로 노출하십시오.
클러스터 외부에서 액세스 할 응용 프로그램 포트를 노출하고 데이터베이스 포트를 노출하고 싶지 않습니다.
하지만 트래픽을 분산시키기 위해 DNS를 사용하여 데이터베이스 포트에 액세스하려고합니다.
두 개의 서비스를 NodePort로 생성하고 응용 프로그램 포트 및 기타 서비스를 ClusterIP로 노출하여 데이터베이스 포트를 노출 할 수 있습니다.
이전에 트래픽이 균형을 유지하면서 응용 프로그램 서버의 localhost에 연결할 수도있었습니다. 그리고 응용 프로그램 서버를 nodeport로만 노출합니다.
질문 : 데이터베이스 포트를 클러스터 IP로 노출하고 앱 포트를 하나의 서비스로만 노드 포트로 표시 할 수 있습니까?
감사합니다.
데이터베이스가 포드에서 실행되는 응용 프로그램 전용 인 이유는 무엇입니까? 나는 그것이 마이크로 서비스 접근법이라고 말할 것이다. 간단한 격리 된 응용 프로그램. – Jxadro
우선, 마이크로 서비스를 복제합니다. db가 심각한 복제 매직을하지 않는 한 (또는 서비스가 상태를 공유하지 않는 한) 여러 인스턴스를 실행하자마자 문제가 발생합니다. 또한 상태 저장소 (db)와 서비스를 각각 별도로 확장 할 수있는 것이 바람직합니다. 귀하의 svc가 합리적인 일을 자주하는 경우에는 물건을 포드에 추가해야하지만 상태를 저장하는 포드는 추가하지 않아도됩니다. 또 다른 것은 데이터 지속성입니다. - 지속성이 필요하지 않는 한, 데이터를 포드보다 더 오래 유지할 수 있습니까? 더 많은 것이 있지만 char 한계가 있습니다. :) –