5

Ben 2 farklı bulut sql örneklerini bağlanmaya bulut sql proxy kullanacak çalışılıyor ...Cloud sql proxy kullanarak birden çok CloudSQL örneğine bağlanma?

docs ben Use -instances parameter. For multiple instances, use a comma-separated list. ama o bakışı nasıl emin hakkında bir satır bulundu. https://cloud.google.com/sql/docs/sql-proxy. Google Konteyner motorunu kullanıyorum ve tek CloudSQL örneği ile büyük çalışır:

-instances=starchup-147119:us-central1:first-db,starchup-147119:us-central1:second-db=tcp:3306 
and 
-instances=starchup-147119:us-central1:first-db=tcp:3306,starchup-147119:us-central1:second-db=tcp:3306 

ama hepsi çeşitli vermek:

- name: cloudsql-proxy 
    image: b.gcr.io/cloudsql-docker/gce-proxy:1.05 
    command: ["/cloud_sql_proxy", "--dir=/cloudsql", 
      "-instances=starchup-147119:us-central1:first-db=tcp:3306", 
      "-credential_file=/secrets/cloudsql/credentials.json"] 
    volumeMounts: 
    - name: cloudsql-oauth-credentials 
    mountPath: /secrets/cloudsql 
    readOnly: true 
    - name: ssl-certs 
    mountPath: /etc/ssl/certs 

Ama birden için ben gibi -instances bölümü denedim hatalar; ECONNREFUSED 127.0.0.1:3306, ER_DBACCESS_DENIED_ERROR ve ER_ACCESS_DENIED_ERROR

Herhangi bir yardım çok takdir edilmektedir!

cevap

6

Aynı TCP bağlantı noktasında barındırılan iki veritabanınız olamaz. Bunun yerine, virgülle ayrılmış listedeki her veritabanı için bağlantı noktalarını belirtin:

-instances=project:region:db=tcp:3306,project:region:db-2=tcp:3307 

Burada 3306 ve 3307 kullanılır, ancak istediğiniz herhangi bir bağlantı noktalarını kullanabilirsiniz! Container Engine yapılandırmanızın geri kalanının bu portlardaki düğümler arasında iletişim kurulmasına izin verdiğinden emin olun (belki varsayılan olarak doğru, GKE kullanmıyorum).

Çoğu mysql sürücüsü varsayılan olarak 3306 numaralı bağlantı noktasına bağlanır ancak başka bir bağlantı noktası belirtme yolu vardır. İkinci veritabanı için seçtiğiniz farklı bağlantı noktasına bağlanmak için kodunuzu düzenlemeniz gerekecektir.

+0

Şimdiye kadar harika çalışıyor! Teşekkürler! – glesage

+0

Teşekkürler, ben bir pod 1) okuma/yazma trafiği için ana veritabanı 2) salt okunur trafik için salt okunur çoğaltma bağlamak için kullanıyorum. Şaşırtıcı bir şekilde, bu cevap bu bilgi için bulabileceğim tek yer. – jorfus