0

Google Container Engine에 단일 소스 코드와 다른 파일 (지정된 GC 저장소 버킷의 디렉토리) 및 데이터베이스 (GC SQL)가있는 멀티 테넌트 애플리케이션이 있습니다. 각 테넌트에는 (http/s) 요청의 도메인에 의해 결정되는 SQL 자격 증명 및 추가 구성을 가진 구성 파일이 있습니다.멀티 테넌트 구성을 제공하는 방법

이 구성 파일은 약 500 바이트 크기로 작고 여러 포드에 파일을 배포하는 방법을 알아 내려고 노력 중이므로 변경 사항이 최대한 빨리 적용되도록 설정 (추가, 삭제 또는 변경)됩니다.

지금까지 가장 훌륭한 솔루션은 GCE의 영구 디스크를 사용하는 것입니다.이 디스크는 모든 독자에게 읽기 전용으로 마운트 할 수 있으며 쓰기 가능한 볼륨으로 마운트 할 단일 컨테이너가있는 하나의 포드가 있습니다. 하나의 작성자), 노드를 관리하는 백엔드가 파일을 쓸 수있는 버킷에서 파일을 동기화하려면 짧은 간격으로 nodeJS 또는 cron에 의해 호출 된 gsutil rsync을 사용하십시오.

내가 아직 수행하지 않은 이유는 기본적으로 단일 지점에서 오류가 발생하기 때문에 이것이 cloud-friendly 솔루션이 아니라는 것입니다. 꼬투리는 자급 자족해야합니다. 또한 드라이브는 10GB보다 작을 수는 없지만 파일은 단지 몇 MB 정도 밖에 걸리지 않으므로 엄청난 자원 낭비처럼 보입니다.

Google은 불행히도 Amazon Elasticache와 같은 것이 없으므로이를 설계하는 방법을 잘 모릅니다.

의견이 있으십니까?

답변

0

Elasticache는 기본적으로 Redis 클러스터이므로, Reddy Master/Slave 또는 Cluster 구성을 회전하여 Kubernetes/GKE에서 동일한 작업을 수행 할 수 있습니다.

은 또한이 옵션의

많은 ... 중복에 대한 복제, 또는 etcd, 영사, 사육사와 같은 키/값 저장소의 다른 종류의,이 CONFIGS위한 중앙 SQL 등 DB를 가질 수있다.

이러한 모든 솔루션은 복제/배포되고 있으므로 로컬 스토리지 (emptyDir)로만 살 수 있지만 일종의 백업 전략을 사용하는 것이 좋습니다.

관련 문제