我正在使用Ansible部署Google计算引擎实例。我需要使用Google Cloud SQL实例[MySQL],这是Google-cloud解决方案中的托管数据库。
Ansible中是否有方法/模块可用于创建和管理Google-cloud-Sql实例?
答案 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: []