💬

kubernetes内でCloudsql-proxyのprobesを設定する

2021/09/09に公開

概要

cloud-sql-proxy v1.25.0で機能追加され、KubernetesのProbesが設定できるようになった。

内容

  • v1.25.0を使用する
  • "-use_http_health_check" オプションを有効にする
  • (必要に応じて) health_check_port を使用してポートを設定する(デフォルおは8090)
  • デプロイメントでProbesを設定する

以下、サンプルのデプロイメント。

deployment.yml
- name: cloud-sql-proxy
  image: gcr.io/cloudsql-docker/gce-proxy:1.25.0
  command:
    - "/cloud_sql_proxy"
    - "-instances=<INSTANCE_CONNECTION_NAME>=tcp:<DB_PORT>"
    - "-use_http_health_check"
  livenessProbe:
    httpGet:
      path: /liveness
      port: 8090
  readinessProbe:
    httpGet:
      path: /readiness
      port: 8090
  startupProbe:
    httpGet:
      path: /startup
      port: 8090

各ヘルスチェックパスのロジックは https://github.com/GoogleCloudPlatform/cloudsql-proxy/blob/v1.25.0/cmd/cloud_sql_proxy/internal/healthcheck/healthcheck.go#L69-L99 を参照。

参考

Discussion