FuFu KK8s
  • K~K8s index
  • Kubernetes 的基礎世界
  • Why container is not Docker
  • Startup Local Kubernetes via Minikube
  • K8s Master node Component 介紹
  • NameSpace、Deployments 概念說明
  • 常見的 kubectl 指令
  • 回顧第一次部署,淺談 Pod、Deployment
  • 回顧第一次部署,淺談 Service
  • 今日來介紹 Pod 靜態文件~ Manifest
  • Pod 的健康檢查方式
  • Pod 的健康檢查方式 Part-2
  • Pod 的資源請求、上限
  • Pod 資料,如何持久化存放、讀取
  • Pod 副本管理~ 描述 ReplicaSet 控制器
  • Pod 副本管理~ 實作篇
  • 淺談 DaemonSet,及相對 ReplicaSet 的差異
  • 來說說 Label
  • 從 Label 再回頭談 Service
  • Service 續集之 Cluster IP、Kube-proxy、LoadBalancer
  • 從 Service 發現 K8s 網路層全貌
  • Container Data Persistent
  • 發現、初談 StatefulSet
  • 再談 StatefulSet
  • 認識 ConfigMap
  • 第一次使用 Play with Kubernetes
  • 手工 Installing kubeadm
  • 手工 Installing CRI-O、kubeadm init
  • 繼上篇,排查 kubelet、kubeadm init 問題
  • Installing a pod network add-on
  • K8s add Nodes(join)
  • 驗證自建的 K8s
  • 筆記
    • kubectl get 筆記
    • kubectl 部署筆記
    • kubectl describe nodes
  • 實務記憶篇
    • 整理下記憶
    • 有哪些 Kubernetes 雲端服務
    • 如何從本機連線至 GKE Pod
    • GCP Memorystore 服務介紹
    • 如何連線至 GCP Memorystore
    • GCP Cloud SQL 服務介紹
    • 如何連線至 Cloud SQL
    • 關於 GCP VPC 網路
    • HELM 工具用途
    • 臨時題目:查修 prometheus
    • 繼續離題:繼續查修Prometheus
    • 臨時題目:限定 Pod 訪問外網時,固定 public ip
    • K8s 監控數據來源 Prometheus
    • 監控要告警啊 AlertManager
    • 監控要有圖表啊 Grafana
    • Grafana收集Kubernetes系統資訊
    • 系統 Log 資料
    • 系統 Log 資料收集至 EFK
    • 關於 EFK 角色
    • 系統 Log 資料 - fluent-bit 串接
    • 開放網站對外存取
    • 網站提供 https 安全連線服務 - 憑證管理
    • 網站提供 https 安全連線服務 - 憑證與Ingress整合
    • 網站提供 https 安全連線服務 - Istio 範例
    • 需要額外的 非http 連線
    • Istio 初略介紹
    • Istio 整合 Certmanager DNS01
    • 番外篇:Istio 如何限制訪問來源
    • 番外篇:如何擴充 PV PVC storage size
    • 番外篇:如何利用 Binlog 還原資料庫
  • Helm 實務學習心得
    • Helm requirements 見解
    • 同環境,一次部署多個相同App
  • Python
    • 11-1 Firebase 資料庫簡介
Powered by GitBook
On this page
  • 建立 MySQL 執行個體
  • 設定選項(重點說明)
  • 1. 設定連線
  • 2. 機器類型與儲存空間
  • 3. 自動備份和高可用性
  • 4. 資料庫標記
  • 5. 維護時間
  • 6. 新增標籤
  1. 實務記憶篇

GCP Cloud SQL 服務介紹

Previous如何連線至 GCP MemorystoreNext如何連線至 Cloud SQL

Last updated 5 years ago

如同前兩篇提到的 Memorystore Redis 服務代管業務,Cloud SQL 就是 GCP 上關聯式資料庫的服務代管業務。 目前此業務,有兩種資料庫可以選:MySQL、PostgreSQL

因為我個人僅使用過MySQL項目,以下僅以MySQL作為說明。

建立 MySQL 執行個體

建立MySQL執行個體,除了必要的root密碼之外,重要的位置不可挑錯,原則上是與您的應用服務相同區域與分區。 關於資料庫版本,目前僅支援5.6與5.7兩種選擇,尚未支援MySQL 8.0版本。

設定選項(重點說明)

1. 設定連線

如下兩張圖所示,連線可分為私人IP、公開IP,這與前篇 Memorystore 連線IP僅局限內網10.0.0.0/8有所不同。

關於私人IP選單中的關聯網路 其中的細節牽涉到GCP網路功能:VPC 網路 會於另外一篇文章中說明。

設定了私人IP有其用處的,可讓您的應用服務與資料庫之間的資料交易,無需暴露在公網上。

勾選公開IP是預設選項,也可以取消勾選僅使用私有IP網路服務。 當勾選使用公開IP時,是需要再設定允許進行資料交易的已授權的網路(來源IP),否則仍是無法完成資料庫連線。

圖片中0.0.0.0/0是額外手動設定的,並非預設設定。

2. 機器類型與儲存空間

機器類型、網路總處理量

機器類型依照需求選擇,有最小類型(1核心CPU、1GB Memory) 至最大類型 (64核心CPU、416GB Memory)等類型給予選擇。 重點:選擇不同類型,會有不同的網路總處理量!這在評估需求時要特別注意。

儲存空間類型、容量

這裡提到儲存空間的類型與容量,如下圖所示。 類型與容量當然依照需求而選擇,重點是:容量選擇後只能擴充,無法減少 (少部分情況,您會期望空間縮小減少成本)。 勾選啟用自動增加儲存空間,GCP 線上即會偵測剩餘空間,如果剩餘空間小於臨界值,即會自動擴充空間,擴充空間=臨界值,關於臨界值算法如下:

  1. 最大臨界值 = 25GB

  2. 臨界值算法:5 + (provisioned storage)/25

  3. 上述公式,意即> 500GB空間容量的臨界值固定為 25GB。

關於 磁碟總處理量

前面提到選擇了機器類型、儲存類型與空間大小後,會影響著磁碟總處理量數據上限、可用量(綠色條),此部分不得不注意,免得需求評估錯誤產生了效能瓶頸。

關於磁碟總處理量數據的官方說明如下所示:

3. 自動備份和高可用性

4. 資料庫標記

資料庫標記功能,如同my.cnf裡頭的參數設定,舉凡常見的binlog、innodb、slow_query_log、time_out等等參數,皆可在此標記中設定,啟用。

5. 維護時間

在預設的一小時的維護期間中,執行個體會自動重新啟動以套用更新。 系統每隔數個月會執行一次更新。 如果都沒有改過參數設定,是否就無維護,目前倒是不確定。

我的實務經驗中,因為Cloud SQL服務會久久隨機時段進行維護,在短短的維護作業中,會重新啟動執行個體,意即會造成應用服務無法向Cloud SQL服務進行資料交易行為 (中斷連線約略數秒),目前所知此維護機制是無法避免的。 故,在系統服務的適當時段中,選擇了合適的期間與時間,我的看法是有必要的。

6. 新增標籤

標籤主要是用於管理執行個體。 舉例說,可以依環境、應用服務將標籤分門別類。標籤也會顯示在帳單中,方便瞭解每個環境(標籤)的成本情況。

以上,關於Cloud SQL服務大略說明至此。

私人IP
公開IP