Google Cloud 发布 Cloud SQL Proxy Operator 公共预览版
Google Cloud 发布了 Cloud SQL Proxy Operator 的公共预览版。该工具简化了在 Google Kubernetes Engine (GKE) 中运行的应用程序与 Cloud SQL 中部署的数据库之间的连接过程。
现有连接方法的替代方案
Cloud SQL Proxy Operator 是现有连接方法的替代方案。当前已有针对 Java、Python 和 Go 的 Cloud SQL 连接器,以及 Cloud SQL Auth Proxy。根据项目 README,Cloud SQL Auth Proxy Operator 提供了一种简单的方式,将代理容器添加到 Kubernetes 工作负载中,并针对生产环境进行了正确配置。
简化配置
Google 开发者倡导者 Luke Schlangen 和软件工程师 Jonathan Hess 表示,Cloud SQL Auth Proxy Operator 显著减少了所需的配置代码。他们指出,配置可以通过“8 行 YAML 完成,节省了大约 40 行 YAML 配置(对于大型集群则节省数千行)”。
多应用共享代理
多个 Kubernetes 应用程序可以共享同一个代理。Schlangen 和 Hess 还表示,GCP 将维护该 Operator,包括将其更新到最新推荐版本。他们提到,在正式发布(GA)版本中,代理将在配置更改时自动部署。
自定义资源 AuthProxyWorkload
该 Operator 引入了自定义资源 AuthProxyWorkload,用于描述工作负载的 Cloud SQL Auth Proxy 配置。Operator 读取该资源并将 Cloud SQL Auth Proxy 容器部署到工作负载的 Pod 中。在建立连接之前,需要创建 GKE 集群和 Cloud SQL 实例,设置连接服务账户,并存储 Kubernetes 密钥。
配置步骤
配置 Operator 的步骤如下:
获取 Cloud SQL 实例连接名称:
gcloud sql instances describe quickstart-instance --format='value(connectionName)'创建一个包含 Cloud SQL Auth Proxy Operator 配置的新 YAML 文件。例如:
apiVersion: cloudsql.cloud.google.com/v1alpha1 kind: AuthProxyWorkload metadata: name: authproxyworkload-sample spec: workloadSelector: kind: "Deployment" name: "gke-cloud-sql-app" instances: - connectionString: "<INSTANCE_CONNECTION_NAME>" unixSocketPathEnvName: "DB_SOCKET_PATH" socketType: "unix" unixSocketPath: "/csql/pg"将代理配置应用到 Kubernetes:
kubectl apply -f authproxyworkload.yaml
与 AWS 的对比
AWS 提供了一个类似的、但更通用的连接器服务:AWS Controllers for Kubernetes (ACK)。ACK 提供了一个接口,用于直接从 Kubernetes 使用其他 AWS 服务。ACK 支持 Amazon Elastic Kubernetes Service (EKS) 和 Amazon Relational Database Service (RDS)。
版本维护与开源
GCP 表示,该项目将遵循语义版本控制,活跃版本将获得至少一年的新功能和安全修复。重大更改将导致主版本号升级。已弃用的版本将继续获得一年的安全和关键错误修复。Cloud SQL Proxy Operator 是开源的,采用 Apache-2.0 许可证。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。