Ansible创建Google Cloud SQL实例

时间:2016-01-31 16:09:32

标签: ansible google-cloud-platform google-cloud-sql

我正在使用Ansible部署Google计算引擎实例。我需要使用Google Cloud SQL实例[MySQL],这是Google-cloud解决方案中的托管数据库。

Ansible中是否有方法/模块可用于创建和管理Google-cloud-Sql实例?

2 个答案:

答案 0 :(得分:2)

docs中没有任何内容,development branch on Github也没有显示任何内容,因此现在看起来没有可供您使用的模块。

一种选择是简单地用这样的方法来做这件事:

- name: create google-cloud sql instance
  shell: >
    gcloud sql instances create \
      --activation-policy="{{ activation_policy }}" \
      --tier="{{ tier }}" \
      --pricing-plan="{{ pricing_plan }}" \
      --region="{{ region }}" \
      --gce-zone="{{ gce_zone }}" \
      --database-version="{{ mysql_version }}" \
      --backup-start-time= \
      "{{ instance_id }}"

只需按照Google's docs for Google Cloud SQL中的说明进行操作。

或者,您可以自己创建模块并在Ansible core modules repo上提出拉取请求。

答案 1 :(得分:2)

选中Ansible 2.8/latest doc。 有一个用于创建GCP CloudSQL实例和数据库的模块:

任务

- name: Create GCP CloudSQL instance
  gcp_sql_instance:
    name: '{{ sql_instance.name }}'
    backend_type: '{{ sql_instance.backend_type }}'
    database_version: '{{ sql_instance.database_version }}'
    settings:
      tier: '{{ sql_instance.tier }}'
    region: '{{ sql_instance.region }}'
    project: '{{ project_id }}'
    auth_kind: '{{ authentification_type }}'
    service_account_file: '{{ credentials_file }}'
    state: present

变量

### authentification
# authentification_type: application / machineaccount / serviceaccount
# service_account_file: "/path/to/auth.json"
project_id: []
authentification_type: serviceaccount
credentials_file: []

### Cloud_SQL instance specifications
# backend_type: FIRST_GEN / SECOND_GEN / EXTERNAL
# database_version: MYSQL_5_5 / MYSQL_5_6 / MYSQL_587 / POSTGRESQL_9_6
# tier: db-g1-smal / db-pg-g1-small / custom-2-2048
sql_instance:
  name: []
  backend_type: []
  database_version: []
  region: []
  tier: []