mirror of
https://github.com/helm/charts.git
synced 2026-08-19 20:37:05 +00:00
93 lines
5.8 KiB
Markdown
93 lines
5.8 KiB
Markdown
# GCP SQL Proxy - DEPRECATED
|
|
|
|
**This chart is deprecated! You can find the new chart in:**
|
|
- **Source:** https://github.com/rimusz/charts
|
|
- **Charts repository:** https://charts.rimusz.net
|
|
|
|
|
|
[sql-proxy](https://cloud.google.com/sql/docs/postgres/sql-proxy) The Cloud SQL Proxy provides secure access to your Cloud SQL Postgres/MySQL instances without having to whitelist IP addresses or configure SSL.
|
|
|
|
Accessing your Cloud SQL instance using the Cloud SQL Proxy offers these advantages:
|
|
|
|
* Secure connections: The proxy automatically encrypts traffic to and from the database; SSL certificates are used to verify client and server identities.
|
|
* Easier connection management: The proxy handles authentication with Google Cloud SQL, removing the need to provide static IP addresses of your GKE/GCE Kubernetes nodes.
|
|
|
|
## Introduction
|
|
|
|
This chart creates a Google Cloud SQL Proxy deployment and service on a Kubernetes cluster using the Helm package manager.
|
|
You need to enable Cloud SQL Administration API and create a service account for the proxy as per these [instructions](https://cloud.google.com/sql/docs/postgres/connect-container-engine).
|
|
|
|
## Prerequisites
|
|
|
|
- Kubernetes cluster on Google Container Engine (GKE)
|
|
- Kubernetes cluster on Google Compute Engine (GCE)
|
|
- Cloud SQL Administration API enabled
|
|
- GCP Service account for the proxy.
|
|
|
|
## Installing the Chart
|
|
|
|
Install from remote URL with the release name `pg-sqlproxy` into namespace `sqlproxy`, set GCP service account and SQL instances and ports:
|
|
|
|
```console
|
|
$ helm upgrade pg-sqlproxy stable/gcloud-sqlproxy --namespace sqlproxy \
|
|
--set serviceAccountKey="$(cat service-account.json | base64)" \
|
|
--set cloudsql.instances[0].instance=INSTANCE \
|
|
--set cloudsql.instances[0].project=PROJECT \
|
|
--set cloudsql.instances[0].region=REGION \
|
|
--set cloudsql.instances[0].port=5432 -i
|
|
```
|
|
|
|
Replace Postgres/MySQL host with: if access is from the same namespace with `pg-sqlproxy-gcloud-sqlproxy` or if it is from a different namespace with `pg-sqlproxy-gcloud-sqlproxy.sqlproxy`, the rest database connections settings do not have to be changed.
|
|
|
|
> **Tip**: List all releases using `helm list`
|
|
|
|
> **Tip**: If you encounter a YAML parse error on `gcloud-sqlproxy/templates/secrets.yaml`, you might need to set `-w 0` option to `base64` command.
|
|
|
|
> **Tip**: If you are using a MySQL instance, you may want to replace `pg-sqlproxy` with `mysql-sqlproxy` and `5432` with `3306`.
|
|
|
|
> **Tip**: Because of limitations on the length of port names, the `instance` value for each of the instances must be unique for the first 15 characters.
|
|
|
|
## Uninstalling the Chart
|
|
|
|
To uninstall/delete the `my-release-name` deployment:
|
|
|
|
```console
|
|
$ helm delete my-release-name
|
|
```
|
|
|
|
The command removes all the Kubernetes components associated with the chart and deletes the release.
|
|
|
|
## Configuration
|
|
|
|
The following table lists the configurable parameters of the Drupal chart and their default values.
|
|
|
|
| Parameter | Description | Default |
|
|
| --------------------------------- | -------------------------------------- | --------------------------------------------------------- |
|
|
| `image` | SQLProxy image | `b.gcr.io/cloudsql-docker/gce-proxy` |
|
|
| `imageTag` | SQLProxy image tag | `1.11` |
|
|
| `imagePullPolicy` | Image pull policy | `IfNotPresent` |
|
|
| `replicasCount` | Replicas count | `1` |
|
|
| `serviceAccountKey` | Service account key JSON file | Must be provided and base64 encoded when no existing secret is used, in this case a new secret will be created holding this service account |
|
|
| `existingSecret` | Name of an existing secret to be used for the cloud-sql credentials | `""` |
|
|
| `existingSecretKey` | The key to use in the provided existing secret | `""` |
|
|
| `cloudsql.instances` | List of PostgreSQL/MySQL instances | [{instance: `instance`, project: `project`, region: `region`, port: 5432}] must be provided |
|
|
| `resources` | CPU/Memory resource requests/limits | Memory: `100/150Mi`, CPU: `100/150m` |
|
|
| `nodeSelector` | Node Selector | |
|
|
| `rbac.create` | Create RBAC configuration w/ SA | `false` |
|
|
|
|
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
|
|
|
|
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. For example,
|
|
|
|
```console
|
|
$ helm install --name my-release -f values.yaml stable/gcloud-sqlproxy
|
|
```
|
|
|
|
> **Tip**: You can use the default [values.yaml](values.yaml)
|
|
|
|
## Documentation
|
|
|
|
- [Cloud SQL Proxy for Postgres](https://cloud.google.com/sql/docs/postgres/sql-proxy)
|
|
- [Cloud SQL Proxy for MySQL](https://cloud.google.com/sql/docs/mysql/sql-proxy)
|
|
- [GKE samples](https://github.com/GoogleCloudPlatform/container-engine-samples/tree/master/cloudsql)
|