[英]Create script for cockroach db daily backup to kubernetes to GCP storage
[英]Migrating Cockroach DB from local machine to GCP Kubernetes Engine
使用下面的數據庫連接字符串運行了go示例應用 ,以連接到安全集群
sql.Open("postgres", "postgresql://root@localhost:26257/dbname?sslmode=verify-full&sslrootcert=<location of ca.crt>&sslcert=<location of client.root.crt>&sslkey=<location of client.root.key>")
Cockroach數據庫在本地運行良好,因此我決定按照此處的說明將數據庫(與數據庫解決方案中一樣,而不是實際數據)移至GCP Kubernetes Engine
一切正常-創建了pod並可以使用雲控制台中的內置SQL客戶端。
現在,我想使用前面的示例應用程序現在連接到這個新的雲數據庫。 我使用kubectl expose
命令創建了一個負載均衡器,並在代碼中使用了一個公共IP。
如何獲取新的ca.crt, client.root.crt, client.root.key
文件在我的連接字符串中用於在GCP上運行的數據庫?
我們有5個以上的開發人員,其想法是讓他們在本地計算機上編寫代碼,並使用連接字符串和證書連接到雲數據庫。
還是有更好的方法讓5個以上的開發人員使用在GCP上運行的單個DEV DB集群?
建議對Kubernetes CockroachDB集群運行的方法是讓您的應用程序在同一集群中運行。 這使得證書生成相當簡單。 請參閱內置的SQL客戶端示例及其配置文件 。
上面的配置使用一個初始化容器來發送客戶端證書的CSR,並使它們可用於該容器(在這種情況下,僅是蟑螂sql客戶端,但是其他任何東西)。
如果您希望在kubernetes集群之外運行客戶端,最簡單的方法是直接從客戶端pod復制生成的證書。 建議使用非root
用戶:
ca.crt
, client.<username>.crt
和client.<username>.key
復制到本地計算機上 注意 :您的kubernetes集群的公共DNS或IP地址很可能不包含在節點證書中。 在啟動節點之前,您需要修改主機名/地址列表 ,或者將連接URL更改為sslmode=verify-ca
(有關詳細信息,請參見客戶端連接參數 )。
或者,您可以使用密碼身份驗證,在這種情況下,您僅需要CA證書。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.